私が Python をどのように教え、その後マニュアルを書いたか

私が Python をどのように教え、その後マニュアルを書いたか
過去 XNUMX 年間、私は州のトレーニング センター (以下、TC) の XNUMX つで、プログラミング教育を専門とする教師として働いていました。 この研修センターの名前は出しませんし、企業名や著者名なども出さないようにします。

そこで、私は Python と Java の教師として働きました。 このCAさんはJavaの教材を購入していて、私が来たときにPythonを立ち上げて勧めました。

私は Python で学生向けのマニュアル (基本的には教科書または独習書) を書きましたが、Java の指導とそこで使用された教材は大きな影響を受けました。

彼らがひどかったと言っても過言ではありません。 ロシアの非常に有名な会社が提供した Java 教科書のやり方は、この言語一般の基礎、特に OOP パラダイムを人に教えることではなく、レッスンを受けに来た親が確実に理解できるようにすることでした。あなたの息子さんや娘さんが教科書のヘビやチェスを模写したのを見ましたね。 なぜ帳消しと言えるのでしょうか? それは非常に簡単で、実際のところ、教科書にはコードのシート (A4) 全体が提供されており、その一部の側面は説明されていませんでした。 その結果、教師は各生徒がコードのどの時点にいるのかを制御して各行を説明するか、すべてが不正行為に発展するかのどちらかになります。

あなたはこう言います。「まあ、どうしたの、先生にもっといい仕事をしてもらいましょう、そしてチェスとヘビはクールですよ!」

そうですね、グループの人数が 15 人未満でなければ、すべてがうまくいきます。そして、全員をフォローして「それでも、なぜこれを書いているのですか?」と説明する場合、これはすでに重要です。

グループの人数に加えて、この方法には別の問題もあります。 コードは書かれています...何と言うか、ひどいです。 教科書は長い間更新されていないため、一連のアンチパターン、古風ですが、もちろん、私たちのお気に入りはガイドのスタイルです。 したがって、たとえあなたがすべての生徒を管理し、あなたが書き留めているコードが何を意味するのかを生徒に素早く明確に説明できたとしても、そのコード自体は非常にひどいものであるため、控えめに言っても間違ったことを教えることになります。

さて、この教科書を文字通り破壊している最後の点は、データ型とは何か、データ型がオブジェクトとプリミティブであること、この二項対立を生み出すプロパティをどのような基準でチェックするのかなどを説明する少なくとも適切な導入部が最初から存在しないことです。 最初の章では、あなたとあなたの生徒は、ウィンドウを作成し、そこに「Hello!」と書き込むプログラムを作成 (コピー) するように求められますが、このコード シートが実際に何を意味するかについては説明されておらず、たとえば、次のレッスンにリンクしているだけです。では、「メイン」がエントリ ポイントであると述べていますが、「エントリ ポイント」という概念自体が詳しく説明されていません。

要約すると、この紙くずは教師や管理職の間でもミームでした。 彼女は子供たちにまったく何も教えませんでした。私がこれらの教材をすでにXNUMX年間勉強していたグループに出会ったとき、最終的に彼らはサイクルを書くことさえできませんでした。私は彼らが皆非常に賢かったことに気づきました、そしてすぐにすべてを教えましたそれほど悪くはありませんでした。 ほとんどの同僚は、教材が単に空中に飛ぶのではなく吸収されるように教材から逸脱しようとしましたが、生徒が何の説明もせずに書き写すのが普通だと考える、それほど良心的な人もいませんでした。

私がトレーニング センターを離れることが明らかになり、Python プログラムを来年も何らかの形で継続する必要があることが明らかになったとき、私は教科書を書き始めました。 つまり、12 つの部分に分けており、最初の部分では、データ型、その本質、それらの操作、および言語命令についてすべて説明しました。 トピックの合間には、将来の教師が生徒がどのようにトピックを学習したかを理解できるように QnA を行いました。 さて、最後に私は小さなタスクプロジェクトを行いました。 したがって、最初の部分では言語の基本を説明し、それを噛み砕いていきます。これは、それぞれ 13 ~ 30 分のレッスンが約 40 ~ XNUMX 回あります。 XNUMX 番目のパートでは、すでに OOP について書き、Python でのこのパラダイムの実装が他のほとんどのパラダイムとどのように異なるかを説明し、スタイル ガイドへのリンクを多数作成しました。 要約すると、Java の教科書に記載されている内容とはできる限り異なるように努めました。 最近、現在の Python 教師に手紙を書き、教材についてのフィードバックを求めました。今ではすべてが順調で、子供たちが Python でのプログラミングを本当に理解していることをうれしく思っています。

この話から私はどのような結論を導き出したいでしょうか。親愛なるご両親の皆さん、もしお子さんを訓練センターに行かせることに決めたなら、お子さんが無駄に時間を無駄にしていないか、落胆しないように注意深く観察してください。彼は将来プログラミングをしたいと思っています。

UPD: コメントに正しく記載されているように、私は資料のプレゼンテーションについてはほとんど何も言いませんでした。 すぐに言いますが、できる限りもっと練習する必要があると思います。 最初の部分の各レッスンの最後に、その章のトピックに関する 4 ~ 5 つの小さな練習課題を行いました。 章の間には QnA (コントロール レッスン) があり、実践的ではありますがすでに評価済みのタスクもありました。第 XNUMX 部の最後には、提案されたトピックから選択するトピックを含むプロジェクトがありました。 XNUMX 番目のパートでは、コンソール ミニゲームの作成を通じて OOP について説明しました。その開発が XNUMX 番目のパート全体であり、パラダイムへの全体的な導入でした。

登録ユーザーのみがアンケートに参加できます。 ログインお願いします。

あなたのお子さんはトレーニングセンターでプログラミングを学んでいますか?

  • 視聴者の38%がはい3

  • 視聴者の38%がNo62

65 人のユーザーが投票しました。 27名のユーザーが棄権した。

出所: habr.com

コメントを追加します