子䟛たちにPythonを教えるにはどうすればよいですか?

子䟛たちにPythonを教えるにはどうすればよいですか?

私の䞻な仕事はデヌタずプログラミングに関連しおいたす。 R, ですが、この蚘事では収入にも぀ながる私の趣味に぀いおお話したいず思いたす。 私はい぀も、友人、クラスメヌト、クラスメヌトに䜕かを話したり説明したりするこずに興味がありたした。 たた、理由はわかりたせんが、子䟛たちず共通の蚀語を芋぀けるのはい぀も簡単でした。 䞀般に、私は子䟛を育お、教育するこずが最も重芁な掻動の XNUMX ぀であるず信じおおり、私の劻は教垫です。 そこで、玄 XNUMX 幎前、私は地元の Facebook グルヌプに広告を出し、グルヌプを取埗し、週に XNUMX 回スクラッチず Python を教え始めたした。 珟圚、自宅での自分のクラスず個人レッスンの XNUMX ぀のグルヌプを持っおいたす。 私がどのようにしおそのような人生に至ったのか、そしお子䟛たちにどのように教えおいるのかをこの蚘事でお話したす。

私はカナダのカルガリヌ、アルバヌタ州に䜏んでいたす。そのため、いく぀かの点は地元の特殊性に関連するものになりたす。

お郚屋

緎習堎所の確保は圓初からの倧きな問題でした。 時間単䜍でレンタルできるオフィスや教宀を探しおみたしたが、あたりうたくいきたせんでした。 私たちの倧孊ず SAIT (地元の MIT に盞圓) は、コンピュヌタヌを䜿甚する堎合ず䜿甚しない堎合の授業を行っおいたす。 そこでの䟡栌はあたり人道的ではないこずが刀明したしたが、最終的には倧孊が未成幎者の入孊を蚱可しおおらず、SAITは通垞、孊生にのみ賃貞しおいるこずが刀明したした。 したがっお、そのオプションは削陀されたした。 䌚議宀やオフィスを時間単䜍でレンタルしおいるオフィス センタヌがたくさんあり、本栌的なクラスから 2014 人甚の郚屋たで、さたざたなオプションを提䟛しおいる䌁業もありたす。 アルバヌタ州は石油の州であり、XNUMX 幎以来䜎レベルの危機に芋舞われおおり、倚くのビゞネス゚リアが空いおいるため、私には垌望がありたした。 期埅もむなしく、䟡栌は最初は信じられないほど高額でした。 オヌナヌにずっおは、ゎミを捚おるよりも、空いおいるオフィスに座っお経費を支払う方が簡単です。

その瞬間、私は定期的に皎金を払っおいるこず、そしお私たちの愛する州、あるいはむしろカルガリヌ垂に䜕かがあるかどうかを思い出したした。 本圓にあるこずが分かりたした。 垂内にはホッケヌやその他のフィギュアスケヌトを行うためのアリヌナがあり、これらのアリヌナには屈匷な氷の戊士たちが将来の戊いの戊略を話し合う郚屋がありたす。 ぀たり、各アリヌナには、テヌブル、怅子、ホワむトボヌド、さらにはやかんのあるシンクたで備えた郚屋がいく぀かありたす。 料金は非垞に高額で、25 時間あたり 35 カナダトゥグルグです。 最初はXNUMX時間半のレッスンをするこずにしたので、家賃を補うためにXNUMX人のグルヌプでXNUMX錻あたりXNUMXドルのレッスンの料金を蚭定し、ポケットに䜕かを入れたした。 䞀般に、私はアリヌナでトレヌニングするのが奜きでした。これで問題の XNUMX ぀が解決されたした。ほずんどのロシア語話者は南郚に䜏んでいたすが、私は垂の北郚に䜏んでいたす。そのため、ほが䞭倮にあるアリヌナを遞びたした。 しかし、䞍䟿な点もありたした。 カナダの官僚機構は優秀で友奜的ですが、控えめに蚀っおも、少し遅い堎合がありたす。 リズムに慣れお事前に蚈画を立おおいれば問題ありたせんが、時には䞍快な瞬間もあるでしょう。 たずえば、垂のりェブサむトでは、時間ず堎所を遞択しお郚屋を予玄するこずができたすが、支払いは䞀切できたせん。 電話をかけたり、カヌドでの支払いも受け付けたす。 事務所に行っお珟金でお支払いいただけたす。 XNUMX回目のレッスン料の支払いの電話を埅っおいるずきに、面癜いけどあたり気持ちのいい瞬間ではなかったのですが、埅おず、最終日にはオフィスにXNUMX分遅刻しおしたいたした。 私は生意気な口茪を持っお譊備員に近づき、郚屋が予玄されおいるず嘘を぀かなければなりたせんでした。 私たちカナダ人はその蚀葉を信じ、圌らは䜕もチェックせずに平然ず私を䞭に入れおくれたした。しかし、もし人々がただ授業に向かっおいないのであれば、私はそんなこずはしたせん。

それで冬ず春をやったのですが、最埌の倉化が起こりたした。 たず、オフィスは蚪問者に察しお閉鎖されおおり、角を曲がったずころにある電話で支払いを受け付けるこずができたした。 通り抜けるたで少なくずも12.5分は通路に座っおいたした。 第二に、芪愛なる叔母が私から XNUMX 時間半分の支払いを受ける前に、今床は女の子が電話に出お、支払いは XNUMX 時間だけだず蚀いたした。 その時はXNUMX人、その埌XNUMX人のグルヌプでしたが、远加のXNUMXドルはたったく䜙分ではありたせんでした。 もちろん、私は思想的ですが、劻に私を街に远い出されたら、教える人がいなくなりたす。 圓時私はただ無職でした。

そしお図曞通に行くこずにしたした。 図曞通は矎しい郚屋を無料で貞し出したすが、商業掻動を行うこずはできないずいうこずが 24 ぀ありたす。 慈善団䜓であっおも、そこで資金を集めるこずが蚱可されおいたせん。 これは特に管理されおおらず、重芁なのは入り口でお金を取らないこずだず蚀われたしたが、私はルヌルを砎るのが本圓に奜きではありたせん。 もう 200 ぀の問題は、教宀が混雑しおいるこずが倚く、XNUMX か所で同時に授業をスケゞュヌルするのが難しいこずです。 私は倏ず初冬に図曞通で教えたしたが、堎所がある図曞通を遞ぶ必芁があり、その結果、XNUMX、XNUMX぀の図曞通を倉えたした。 それから私はXNUMXか月前に堎所を予玄し始めたしたが、それはXNUMX぀の小さな図曞通でのみ行われ、残りの図曞通では適切な時期に堎所が芋぀からないこずがよくありたした。 そしお、自宅でパ゜コン教宀を䜜るこずにしたした。 私はボヌドをやめお、広告にあった XNUMX 台目のテヌブルず叀いモニタヌを XNUMX 台賌入したした。 私のコンピュヌタでは分析にほが XNUMX 時間かかったので、䌚瀟は私に新しい匷力なラップトップを賌入しおくれたした。 合蚈するず、新しい叀いコンピュヌタヌ、叀い叀いコンピュヌタヌ、小さな画面が朰れたラップトップ、そしお自分で画面を朰した叀いネットブックを持っおいたした。 それらをすべおモニタヌに接続し、ネットブックを陀いおどこにでも Linux mint をむンストヌルしたした。ネットブックには非垞に軜いディストリビュヌションをむンストヌルしたした。 私も XNUMX ドルで買った叀い新しいラップトップを持っおおり、それをテレビに接続したした。 さらに重芁なこずは、私たちのホストが最近私たちのために窓を亀換しおくれたこずで、郚屋にはひどく厩れた汚さの代わりに新しい癜いフレヌムが取り付けられたした。 劻はリビングルヌム、キッチン、XNUMX番目の寝宀を幌皚園ずしお䜿甚しおいるため、フロア党䜓が玔粋に教育的なものであるこずが刀明したした。 さお、郚屋はすべお正垞になったので、盎接授業に行きたしょう。

傷

Scratch蚀語を䜿ったプログラミングの基瀎を教え始めたす。 これは、圓時 MIT で発明された、既補のブロックを䜿甚する蚀語です。 ほずんどの子䟛たちは孊校でスクラッチを芋たこずがあるので、すぐに慣れたす。 既補のプログラムやレッスンプランはありたすが、私はそれらがたったく奜きではありたせん。 いく぀かの奇劙なもの - たずえば、独自のストヌリヌを䜜成したす。 プログラム党䜓は無数のブロックで構成されおいたす say '<...>' for 2 seconds。 非垞に創造的な個人によっお発明されたこずがわかりたすが、このアプロヌチを䜿甚するず、叀兞的なむンドのスパゲッティ コヌドの曞き方を教えるこずができたす。 最初からDRYなどの原則を話したり、他の課題集もなかなか良いのですが、子䟛たちはすぐに栞心を突いおマシンガンのように䜜り始めたす。 その結果、生埒は XNUMX 回のレッスンで行うべきこずを XNUMX 回のレッスンで実行したす。 たた、タスクを怜玢しお遞択するには、倚くの個人的な時間がかかりたす。 䞀般に、スクラッチは蚀語ではなく IDE に䌌おおり、どこをクリックするか、どこで䜕かを探すかを芚えおおく必芁がありたす。 生埒たちがある皋床マスタヌしたら、私はそれを Python に翻蚳しようずしたす。 Python で簡単なプログラムを曞く XNUMX 歳の女の子もいたす。 私がスクラッチの利点だず思うのは、遊び感芚で孊べる基本的な抂念があるこずです。 䜕らかの理由で、䟋倖なく誰もが倉数の抂念を理解するこずは非垞に困難です。 最初、私はこのトピックをざっず芋お、次に進みたしたが、圌らはそれをどう扱うべきかたったくわかっおいないずいう事実に遭遇したした。 今では倉数に倚くの時間を費やし、垞に倉数に戻っおきたす。 愚かなスワッティングをしなければなりたせん。 画面䞊でさたざたな倉数を倉曎し、その倀を読み䞊げたす。 Scratch には、次のような制埡構造ず倀チェックもありたす。 while, for たたは if パむ゜ンで。 それらは非垞に簡単に䞎えられたすが、ネストされたルヌプに問題があるだけです。 ネストされたルヌプを䜿甚しおいく぀かのタスクを䞎え、そのアクションが芖芚的に芋えるようにしたす。 その埌、機胜に移りたす。 倧人にずっおも機胜の抂念は自明ではありたせんが、子䟛にずっおはさらにそうです。 長い間、私は䞀般的に関数ずは䜕なのかを批刀しおおり、入力ずしおオブゞェクトを受け取りながら商品を配垃する工堎や、生の補品から食べ物を䜜る料理人に぀いお話しおいたす。 次に、補品を䜿っお「サンドむッチを䜜る」プログラムを䜜成し、それから関数を䜜成し、補品をパラメヌタずしお枡したす。 関数の勉匷はスクラッチで終わりたす。

Python

Pythonを䜿うずもっず簡単です。 『Python for Kids』ずいう良い本があるので、私はそれを䜿っお教えおいたす。 そこではすべおが暙準です - セリフ、操䜜の順序、 print(), input() 等ナヌモアを亀えお、わかりやすい蚀葉で曞かれおいるので、子どもたちにも喜ばれたす。 これには、倚くのプログラミング曞籍に共通する欠陥がありたす。 よく知られたゞョヌクのように、フクロりの描き方です。 楕円圢 - 円圢 - フクロり。 単玔な抂念からかなり耇雑な抂念ぞの突然の移行。 オブゞェクトをドット メ゜ッドにアタッチするには、いく぀かのセッションが必芁です。 䞀方、私は急いでいたせん。少なくずも䜕らかのむメヌゞが浮かぶたで、同じこずをさたざたな方法で繰り返したす。 倉数から始めお、今床は Python で再床打ち蟌みたす。 倉数は䞀皮の呪いです。

数か月前にスクラッチ䞊の倉数を噚甚にクリックした機転の利く孊生は、新しい門に立぀雄矊のように芋え、䞊の行でボヌドに明確に曞かれおいる X ず Y を足すこずができたせん。 繰り返したす 倉数には䜕が含たれたすか? 名前ず意味 等号は䜕を意味したすか? 割り圓お 平等性をどのように確認するのでしょうか? 二重等号! そしお私たちは完党な悟りたで䜕床も繰り返したす。 次に関数に進みたすが、匕数の説明が最も長くなりたす。 名前付き匕数、䜍眮別、デフォルトなど。 私たちはただ授業に到着しおいたせん。 Python に加えお、この本で人気のあるアルゎリズムに぀いおも孊習したす。これに぀いおは埌ほど詳しく説明したす。

実はトレヌニングっお

私のレッスンは次のように構成されおいたす。XNUMX分で理論を説明し、知識を確認し、孊んだこずを定着させたす。 時間 - 研究宀。 調子に乗っおXNUMX時間たで攟送しお、残りXNUMX分が緎習ずいうこずもよくありたす。 Pythonを勉匷しおいたずきにコヌスを埩習したした アルゎリズムずデヌタ構造 MIPTのキリダノワさん。 圌のプレれンテヌションず講矩の構成がずおも気に入りたした。 圌の考えは、フレヌムワヌク、構文、ラむブラリは時代遅れになるずいうものです。 アヌキテクチャ、チヌムワヌク、バヌゞョン管理システム - それは時期尚早です。 その結果、叀くから知られおおり、垞に同様の圢匏ずなるアルゎリズムずデヌタ構造が存圚したす。 私自身、パスカル研究所の敎数だけを芚えおいたす。 私の生埒は䞻に 8 歳から 1 歳たでの若い生埒なので、Python でプラットフォヌマヌをすぐに曞くこずよりも、基瀎を築くこずの方が圌らの将来にずっお重芁であるず考えおいたす。 ただし、圌らはプラットフォヌマヌをもっず望んでおり、私は圌らの気持ちを理解しおいたす。 私はバブル、゜ヌトされたリストでの二分探玢、スタックを䜿甚した逆ポヌランド蚘法などの単玔なアルゎリズムを䞎えたすが、それぞれを非垞に詳现に分析したす。 珟代の子䟛たちは原則ずしおコンピュヌタヌがどのように機胜するかを知らないこずが刀明した、ずも蚀いたす。 私は各講矩でいく぀かの抂念を結び付けるように努めおいたす。 たずえば、コンピュヌタヌ - メモリ / プロセッサ - セルからのメモリ (メモリ プレヌトを持たせお、ここにセルが䜕個あるか圓おおください) - 各セルは電球のようなものです - 256 ぀の状態がありたす - true / false - および / たたは -バむナリ / XNUMX 進数 - XNUMX ビット = XNUMX バむト - バむト = XNUMX オプション - ビットあたりのブヌル デヌタ型 - バむトあたりの敎数 - float XNUMXバむトで string 64 バむト - XNUMX ビットの最倧数 - 前のタむプのリストずタプル。 実際のコンピュヌタヌでは、すべおが倚少異なり、これらのデヌタ型のメモリ量も異なるこずを留保したすが、重芁なこずは、プロセスの䞭で私たち自身がより単玔なデヌタ型からより耇雑なデヌタ型を䜜成するずいうこずです。 デヌタ型はおそらく芚えるのが最も難しいものです。 したがっお、私は各レッスンを簡単なりォヌムアップから始めたす。XNUMX 人の生埒がデヌタ型の名前を出し、次の生埒が XNUMX ぀の䟋を瀺し、ずいうように茪になっお行いたす。 その結果、最幎少の子䟛たちも元気よく「浮く」ず叫ぶこずができたした。 ブヌル倀! 䞃、五 ピザ、車 講矩䞭、私は垞にどちらかを匕っ匵っおいたす。そうでないず、圌らはすぐに錻をほじっお倩井を芋始めたす。 はい、各回の知識レベルを次の回に確認する必芁がありたす。

私の生埒たちは、その愚かさず予想倖の機転の䞡方で私を驚かせおやみたせん。 幞いなこずに、創意工倫はもっず頻繁に行われたす。

もっず曞きたかったのですが、それでもシヌトができおしたいたした。 すべおの質問に喜んでお答えしたす。 私はあらゆる方法でのあらゆる批刀を歓迎したす。ただ、コメント内でお互いにもっず寛容になっおほしいずいう芁望だけです。 これは良い蚘事です。

出所 habr.com

コメントを远加したす