2020年度より小学校でのプログラム教育が必修化されます。
どうやって教えたらよいのか非常に悩んでいる学校の先生や保護者の皆さんの声は
私の元にも届くようになってきました。
そこで、どのようなステップでプログラムを教えたらよいのか
私見をアドバイスしたいと思います。
小学生のプログラム教育の目的とは?
文部科学省のサイトによると、 「プログラミング的思考の育成」や「プログラムの働きやよさへの気付き等」 とのことです。
一方で文部科学省、総務省、経済産業省にてこのサイトを作っています。
このことから、 IT技術者が足りていない現状、さらに将来の人口減少による働き手の減少でさらにそれが加速することを見越して、今のうちから対策をしているように思います。(私見)
これからさらにIoT技術が進むと考えられるので、プログラミングを幼いころから学ぶことはマイナスにはならないでしょう。
そもそもプログラミングってなに?
ずばり、コンピュータへの命令を書くことです。
コンピュータは、人間と違い、自分で考えることが出来ません。
なので、人間の命令された通りに動きます。
その命令を書くことがプログラミングです。
その命令の中身は、実は主に以下3つのことが書かれています。
- 実行する動作
- 実行する順番
- 実行する条件
プログラミングは、これらを組み合わせて書いていきます。
何を教えたらいいの?
プログラミング初修者は、ずばりscrach一択でしょう。
scrachは、こちらの文部科学省のサイトでも推奨しています。
scrachとは、MITで開発された子供向けプログラミング言語です。
ブロックを繋げるという、ゲーム感覚でプログラミングをすることができます。
紹介しているサイトも多く、取っつきやすいでしょう!
本塾マスラブでは、scrachの導入方法~実践までを教えています。
最終的にはシューティングゲームを作ります。
ちなみに筆者は、昔カルネージハート(PS)というマイナーゲームでプログラミングを覚えました。
プログラミングは、遊びながら覚えるのが一番の近道です。
教育のステップは?
大まかなステップは以下の3ステップが良いと私は考えます。
STEP1:ブロックの操作を試す
scrachには、ブロックと呼ばれる動きの塊があり、それを組み合わせてブラウザ上の絵を動かしていきます。
↓みたいな感じです。

↑の絵の例では、右上の緑の旗をクリックすると、右の窓の猫が右に10歩動きます。
このようにそのブロックがどのように動くか、まずは試してみるところから始めてみましょう。
STEP2:行いたい動作を考える(超重要)
このステップが最も大事なステップです。
各ブロックで出来ることが分かったら、その組み合わせで
どのような動きを作りたいか、わいわい楽しく考えましょう。
どのような動きにするか決めたら、その動きを言語化しましょう。
例えば、以下のように猫を動かすと決めます。
例1
①猫を右に30歩動かす。
②猫を上に10歩動かす。
③猫をニャーと鳴かせる。
このように、プログラミングをする前に、動作の順番を言語化しましょう。
なぜこれが重要かというと、上の例がまさにプログラミング的思考だからです。
コンピュータにどの順番でどの行動を行うか命令を与えることがプログラミングです。
その思考を学ぶための学習ですから、このステップが出来れば十分プログラミング的思考は出来ているのです。
STEP3:ブロックの組合せで、行いたい動作を作る
STEP2で考えた通り、行いたい動作を実際にブロックを組み合わせて作っていきます。
このときSTEP2の通りに作れたか、しっかりとフィードバックしてあげましょう。
多くの人は、ここをプログラミングと勘違いしている人が多くいます。(現役プログラマー含)
が、実際にはSTEP2でほとんどのプログラミングは終わっています。
このステップは所謂コーディングというただの作業です。
もしここで動きに悩むことがあれば、STEP2に戻って、動作を一緒に考えてみましょう。
より高度なことは何を教えたらいいの?
scrachでプログラミングが理解出来るようになったあとには、
生徒の興味に沿ったものを提供していきましょう。
例えば、ロボットを動かしてみたければ、ロボットプログラミング用言語を勉強してみたり、
スマホアプリに興味があれば、アプリ用の言語を勉強するのもいいでしょう。
プログラミングの良いところは、基礎が分かれば、どの言語にも対応できる点です。
興味に合わせ、作るものを変えていきましょう!
あとがき
いかがだったでしょうか?
少しは参考になったでしょうか?
もし、プログラミングに興味を持たれた方がいたら、当塾マスラブまでご連絡ください!
コメント