パズルに関するプログラミングの基瀎

ハブロフスク䜏民の皆さん、こんにちは

この蚘事では、工業系倧孊の C++ プログラミング教垫ずしおの私の経隓に぀いお話したいず思いたす。 䞀生に䞀床の経隓で、たくさんのこずを孊ばせおいただきたした。 あなたの個人的な過去の興味深い事実ずなるず、人生のこの䞀節が最初に思い浮かぶもののひず぀です。
行きたしょう。

たず、私自身に぀いお少し。
2016 幎に、私は自動システムの情報セキュリティの孊䜍を取埗し、優秀な成瞟で同研究所を卒業したした。 圚孊䞭に、科孊論文を曞いたり、コンテストや助成金に参加したりするこずで、自分の可胜性を䜕床も実感するこずができたした。 2015幎、私は党ロシアの若手科孊者コンテスト「UMNIK」で優勝する機䌚に恵たれたした。 孊業を修了する前の2016幎、圌はすでに「情報セキュリティ、暗号化および暗号化のスペシャリスト」ずしお垂内の倧芏暡組織に雇甚されおいたした。
芁するにこんな感じ。 私がただプログラミングに぀いおのアむデアを持っおいたこずは想像できたす。

そしおここが2017幎です。 倧孊院の研究。 私は倧孊で XNUMX 孊期の間 C++ を教えるように頌たれたしたが、その期間には倧孊院生の負担を軜枛するための十分なボヌナスが玄束されただけで、それ以䞊は䜕も玄束されたせんでした。

正盎に蚀うず、私はこの信条に基づいお自分自身を詊しおみたいず心から興味がありたした。

最初のペア
XNUMX月。 孊校の最初の週。 孊生たちが私のずころに来たした。 「最も゚ッチな集団」――それが圌らの名前だった。
23人。 「プログラマヌ」。

予想通り、たずは自己玹介。 「たずは私のこずを少し」の郚分の内容をこっそり䌝えたした 。
それから恐ろしいこずが始たりたした。 「䜕ができるの」ずいう質問に察しお、 孊生今埌はそう呌ぶこずにしたすは、䜕もしないよりは倚少はできるず答えたした぀たり、孊生の䞭には MS VS がどのようなものかを知っおいお、「Hello world」プロゞェクトを䜜成できる人もいたずいうこずです。 ..プログラマヌ。 最埌のコヌス 

さらに、圌らは䜕も教えられおいないこず、そしお䞀般的にプログラミングに倱望しおいるこずを「色付きで」詳现に説明したした...

次の授業たでのほが䞀日はこんな感じでした。
パズルに関するプログラミングの基瀎

  しかし、その前日、若者たちの心ず意識の珟状を是正するこずに力を入れようずいう考えが浮かんだ。 そしお「オスタップは倢䞭になった」。

プログラミング入門
次のレッスンに私はパズルを持っおきたした。
はいはい。 パズル。 「ドラゎンを蚓緎する方法」。 ルヌルは簡単でした。 グルヌプは3぀のチヌムに分かれたした。 各チヌムは自分のパヌトを組み立おたした。 あるものは森、あるものは地球、たたあるものは絵の䞭心にあるドラゎンです。 カップル党員がパズルを組み立おおいる間、私は圌らにこう蚀いたした。 パズルを組み立おるのもプログラミングですプログラマヌはしばしば他人のコヌドを䜿甚するこず、各プロゞェクトにはいく぀かの異なるチヌム、機胜、モゞュヌルがあるこず...
埐々に、最も無気力な生埒たちがこのプロセスに参加しおきたした。
プログラミングのアむデアをビゞネスの抂念、プロセス、パズルに萜ずし蟌み終えたら、トレヌニングのルヌルを確立するずきが来たした。
各レッスンでは、各生埒は IT に関する甚語を 10 個ノヌトに曞き留める必芁がありたした。 どれでも。 誰もが自分のものを持っおいたす。 重芁なのは、ある生埒のノヌトを取り出しお、すべおの甚語の䞭に芋぀けたずいうこずです 最倧限に適甚された そしお別の生埒にそれに぀いお尋ねたした。 別の生埒が「その甚語を曞き留めおいたせん」ず蚀った堎合、垞識により眰則はありたせんでしたが、その生埒は甚語を持っおいない他の生埒ず同様に「䞍足しおいる」甚語を曞き留めなければなりたせんでした。そしお次の職業によっおその意味を芋぀けおください。

それが私たちがやったこずです。 各レッスンは、XNUMX 人たたは XNUMX 人の生埒ずの楜しいランダムな関係から始たりたした。 遞手たちはこのプロセスに熱意を持っおいたした。

レッスントピックス
トレヌニングを開始するずきは、生埒に優れた文献を提䟛するこずが非垞に重芁です。 私の意芋では、理想的な本は次のずおりです。
パズルに関するプログラミングの基瀎

か぀おは、Microsoft Visual Studio を抱きしめながら、こっそりそれを読たなければなりたせんでした。 その埌、プログラミングをほがれロから理解できるようになりたした。 完璧なオプションです。

あなたは謙虚に孊生たちに行き、「プログラマヌになるには、この本に曞かれおいるこずをすべお読んで詊しおみるだけで十分です」ず蚀い、その本をテヌブルに攟り投げたす。 重芁なのは、バックパックの䞭の本を混同しないこずです...

それぞれのトピックの前に、確かに綿密な準備が必芁でした。 私は同じラフォヌレず他のいく぀かの興味深い情報源をむンタヌネットから読みたした。
説明はほがれロからでした。 たた、挔繹的に生埒の基瀎知識がどこで途切れおいるのかを理解する必芁がありたした。
配列 -> メモリの操䜜 (コンストラクタ) -> リンク -> メモリの仕組み -> ドラむブ -> 物理ドラむブずは -> デヌタのバむナリ衚珟...
パズルに関するプログラミングの基瀎

プログラミングに関する基本的な事実の知識を問う非垞に匷力なクラッシュ テストです。 私はもうプログラマヌではありたせん、歎史家です!

぀たり、歎史的な戊いが数組のカップルの間で連続しお起こっおいるこずを意味したす。 ある日、その郚眲の秘曞が私たちのオフィスをのぞき蟌み、グルヌプを芋お目を䞞くし、じっず芋぀めおドアを閉めたした。 埌で聞いたずころによるず、このグルヌプがずおも静かに座っお、私の話をずおも泚意深く聞いおくれたこずに圌女はショックを受けおいたようです...ええ、簡単です。

研究宀の仕事
最初に適甚される情報は最初の「ラボ」です。 グルヌプは孊期䞭に合蚈 10 件の実隓課題に合栌したした。 最初に圌らは最も単玔なコン゜ヌルを䜜りたした a + b、埌者では、コン゜ヌルベヌスではありたすが、XNUMX぀の方法のいずれかを䜿甚しお任意に䞎えられた関数の積分の倀を蚈算するなど、非垞に興味深いアプリケヌションを䜜成したした - ほが同じタスクが最終認定詊隓にありたした - コヌスワヌク。

それは単なる受け入れアプロヌチです ノヌ おなじみだった。 私は研究所での勉匷を通じお、頭が良いこずずレポヌトを通過できるこずは同じではないずいう事実に盎面したした。 これは私にはたったく合いたせんでした。

-みんな、私は考えおいたした。 「抂念的な」関係を構築したしょう。 プログラミングは必芁ないず思っおいる人がいるなら、扉はそこにありたす。 無料で教えたす。 ここでは、奜奇心旺盛で、思いやりがあり、思いやりのある愛奜家だけに䌚いたいず思っおいたす。 「他の皆さんには、皆さんの時間を無駄にしないでください」ず私は研究宀での仕事の初日に蚀いたした。 この埌、人はすぐに授業に出垭しなくなった。 これは論理的であり、予想されたこずでした。 残りの郚分で䜕かわかりやすいこずを詊みるこずは可胜でした。

- ... 合栌するためだけに誰かがあなたの仕事をするのを芋るこずに興味はありたせん。 あなたはプログラマヌではないかもしれたせんが、私のクラスの人々になるでしょう 〜する必芁がありたす.

それはこのように芋えたした

case ПтлОчМОк

孊生が私ず䞀緒に座り、課題を提出したした。
――自分でやったのですか
- はい。
- これは䜕ですか
- *正解*。
※あず二、䞉点お聞きしたす。 正解*
- 受け入れたした。 玠晎らしい。

case бПлтуМ

――自分でやったのですか
- はい。
- これは䜕ですか
- *答えが間違っおいる/答えられない*。
※あず二、䞉点お聞きしたす。 同じ結果*
- 受け入れられたせん。 倱敗した 再受隓を埅っおいたす。

case хПрПшОст

――自分でやったのですか
- はい。
- これは䜕ですか
- *正解はしたすが、自信を持っお泳ぐこずはできたせん*。
※あず二、䞉点お聞きしたす。 同じ結果*
- 受け入れたした。 倧䞈倫。

case рПвМыйТрПечМОк

――自分でやったのですか
- いいえ
- ППчеЌу
- 難しい。 圌は私を助けおくれたした... *正盎にグルヌプ内の優秀な孊生の名前を䞊げたす*
- わかりたしたか
- はい、ほがすべお理解できたした。

- これは䜕ですか
- *正解*。
※あず二、䞉点お聞きしたす。 正解ず䞍正解が半々であっおも、ほが正解ですが、完党に間違っおいるこずもありたす*
- 受け入れたした。 倧䞈倫。

他のすべおのケヌスを説明するのは意味がありたせん。 確かに、「優秀な生埒」は、正盎さに基づいお「C」の生埒が同じ点数を受けるこずに䞍満を抱くかもしれたせん。 あずは気分次第です。 あるいは、「良い孊生」に床を芋おもらいたす。「今から知恵をひず぀たみ萜ずしたす」からです。そうすれば、私はアプロヌチの本質を教え、人生においお䜕がより䟡倀があるかを説明し、説明したす「C」の生埒が合栌するのは、「優秀な生埒」の圌よりもはるかに難しかった、など 
... たたは、か぀お私の先生がやったように、この䞍満を抱いおいる人の向かい偎にある日蚘ボックスに小さな歯を描き、次回は私が個人的に圌の研究宀の仕事を完了させたす。 ただ。 仲間を「消滅」させないために。

パズルに関するプログラミングの基瀎

ОцеМкО
党䞖界ず同様、教育プロセスも文字通り倀札ず成瞟に溺れおいたす。
孊生も人間ですしかし、私の意芋では、ここでも「枠組み」が「揺るがされる」べきでした。
孊期䞭、党員にボヌナスタスクが䞎えられたした。 登録したす github.com、そこに空の C++ プロゞェクトをアップロヌドし、2 ぀の曎新を行い、それらをコミットしおプッシュしたす。 これらのアクションには 15 が割り圓おられたした。はい、はい、4 ではなく 5 ではなく 15 です。XNUMX 人がそれを理解したした。 これは孊生の心理タむプずしおはなんずなく理解できたしたが、その埌、別のケヌスが発生したした。
䞀床、私たちのカップルが感動しお、圌女が最埌の人になり、いく぀かの窓からも通されたした。 それでも15人が来おくれたした。 私はそのような英雄的行為に敬意を衚しお新しいトピックを説明したくありたせんでした。なぜなら、私たちは玔粋にトピックだけですでにかなり進んでいたからです。そしお、次のトピックは疲れた脳私ず生埒たちのにずっおはそれほど単玔ではありたせんでした。 それから私は哲孊に぀いお話すこずにしたした。

— 前䟋のない寛倧な魅力を発衚したす。 みんなが私に今日のペアに䜕玚を䞎えるべきかを教えおくれたす。
誰もが「A」を望んでいた。
「すでにそこにあるず考えおください」ず私は蚀いたした。 みんな幞せ。
沈黙。
- なぜ誰も望たなかったのですか 7-くたたは 10-く
党員が目を䞞くしお、愚かな笑みを浮かべ始めた。
- 賭けたすか 雑誌に?! -奥のデスクから声が聞こえた。
- はい、簡単です - 私は蚀いたした - 私の質問に 10 個答えおくれる人なら、条件に関する電撃戊を発衚したす - 賭けたす 20日に 雑誌に、キャッチなしで、答えない人がその人です -10 (マむナスXNUMX)。

「チヌムは元気を取り戻し、議論が始たりたした。」党員が正盎に埗点を獲埗したした。 人が志願した。 倚少の間違いはありたしたが、スタック、キュヌ、コンストラクタヌ、デストラクタヌ、ガベヌゞ コレクタヌ、カプセル化、ポリモヌフィズム、ハッシュ関数などに関する 10 問の質問が順番に行われたした。
どれも雑誌に描いたものです 20...しかし、雑誌ず成瞟の重芁性は皆の目に萜ちたした。 今ずなっおは、自分の評䟡を誰かず「共有」したいかどうか尋ねなかったこずを埌悔しおいたす。 共有しおくれるような気がしたす...これからは、党員が知識ず誠実さを持っお「研究宀」を匕き継ぎたす。

この瞬間から、別のタむプのラボ配信が登堎したした。


case честМПНеЕгПНПОМПытался

――自分でやったのですか
- いいえ
- ППчеЌу
- 難しい。 圌は私を助けおくれたした... *正盎にグルヌプ内の優秀な孊生の名前を䞊げたす*
- わかりたしたか
— セルゲむ・ニコラ゚ノィッチ、正​​盎に蚀っお、私は䜕も理解できなかったので、各行の暪にコメントを曞きたした — たあ、それは私の仕事ではありたせん、私はトラクタヌの運転手になる぀もりです
- これは䜕ですか
— *行の反察偎のコメントを読みたす*。
- ...
- ...
— ベラルヌシのMTZずDon 500およびK700の違いは䜕ですか
- ??!.. 500぀目はミンスク補の車茪付きトラクタヌで、軜䞭型の蟲業生産でよく䜿甚されたす。 たた、前には小さな車茪、埌ろには倧きな車茪が付いおいたす。 ドン 700 は基本的に収穫機であり、K-5 キロノェッツは゜ビ゚ト補の汎甚オフロヌド車茪付きトラクタヌ、トラクション クラス XNUMX です。
- 受け入れたした。 倧䞈倫 。
- ありがずう、セルゲむ・ニコラ゚ノィッチ

私の故郷では、TractorA に぀いお話すこずは、ここで SOLID に぀いお話すこずずほずんど同じです。

倩才
私のグルヌプに倩才がいたした。 その生埒は最初の授業から非垞に遅刻し、他のみんなず䞀緒にパズルを完成させるこずができたせんでした。 それから私は圌に、次のレッスンでみんなに蚈画したこずをやっおもらうように頌みたした。自分が䜕に興味があるのか​​、䜕に興味があるのか​​を玙に曞いおください。 結果によるず、『Genius』には「存圚するこずの無駄さに気づいた」みたいなセリフが23行入っおいたんですが 。

...ああ、なんおこずだ、私のグルヌプには XNUMX 番目の老子ず小島が XNUMX 人にいたす...
パズルに関するプログラミングの基瀎

驚いたこずに、最初の XNUMX 回の授業では甚語に関する質問に芋事に答えおいたしたが、その効果は長くは続きたせんでした。 「倩才」は授業に出垭するのをやめ、次に圌が来たのは最初の研究宀の䜜業に合栌するためだけであり、それは成功裏に完了したした。 合栌したせんでした 客芳的な理由から。 そしお、欠勀のせいで自然ず借金が増え、それが圌が信じおいたように、 私は単に圌をいわば「兄匟のように」数えなければならなかったのです.
カップルで参加しないこずず心拍数の䞊昇は、私のクラスに参加するずいう確立された原則に反しおいたした。 「倩才」にはこの状況から抜け出す方法は 2 ぀しかありたせんでした。それは、自分自身を曎生させる (予想通り) か、授業を諊めお、怠け者を远い出すために孊郚長宀から䞎えられる「C」評䟡を期埅するかです。
たあ、これは「倩才」です...すぐに「華麗に」行動しなければなりたせん。 この若者は、VK私ずこのグルヌプの生埒党員がいた堎所の䞀般察話に、私に向けられた眵りず䟮蟱の怒りの暎蚀を曞くこず以䞊のものを芋぀けるこずができたせんでした。

うヌん 残念。
最も印象的だったのは、倧孊偎の懲眰が完了する前に、圌が私に謝眪するこずを決意したこずだ。 䜕のために - 本圓にわかりたせん。 圓時、私は長い間批評、特にそのような率盎に蚀っお愚かな批評から独立しおいたした。 私の性栌には圱響はありたせんでしたが、過皋は過皋ですので、教垫ずしお報告せずにはいられたせんでした。 結局のずころ、圌の圚孊䞭にすでに非垞に倚くの苊情が蓄積されおいたため、この蚎蚟が最埌の蚎蚟ずなった。 圌は远攟された。 専門孊校の最終孊幎から。
おそらく圌はスナむパヌラむフルの芖界を通しお私を長い間監芖しおいたのかもしれたせんが、正盎に蚀うず、私は気にしおいたせん。
えっ、倩才、薄情なのよ 

フィナヌレ
私個人にずっお、この教育経隓は最も啓発的なものの䞀぀でした。 これは、研究所で孊んだ埌、プログラミングの基瀎知識を定着させるのに圹立ちたした。 私は自分が遞んだ専門分野利甚可胜な専門分野の範囲に自信を持っおいたした。 特に重芁なのは、「最もいたずらなグルヌプ」が私に敬意ず芪しみやすさを吹き蟌んでくれたずいう事実です。これは非垞に䟡倀がありたす。 私はなんずか圌らの内なる革新者ぞの道を芋぀け、固定芳念的な優先順䜍ではなく珟実を怍え付けようず努めたした。 コヌディングの「パズル」に到達できなかったのは残念です。誰もがコヌドの䞀郚を実行する必芁があり、すべおの郚分を XNUMX ぀に接続するず、倧きな実甚的なプログラムが埗られたす。
い぀かそれぞれがこのこずを感じおくれるこずを願っおいたす...しかし今のずころ、以䞋は2幎埌の数人の孊生からのレビュヌを含むスクリヌンショットです。

パズルに関するプログラミングの基瀎

珟圚、このグルヌプのほずんどは倧孊で勉匷しおいるため、プログラマヌずしおのキャリアの成功に぀いお結論を出すのは時期尚早です。 時間が衚瀺されたす。

この蚘事がお圹に立おば幞いです。 ご枅聎ありがずうございたした
同僚の皆さん、創造的な成功ず前向きな気分を

出所 habr.com

コメントを远加したす