プログラミングの必修~何が学べるのか?

学校あれこれ

こんにちは。春名佑紀です。

新学習指導要領の内容解説ということで、本日は「プログラミング」です。

突然学習指導要領に登場した新参者といった感じです。

学校で必修が決まってから急に子供向けのプログラミング教室が増えたように思います。

そこで今回は、そのプログラミンとは何かと、小学校で行う意義などについて考えていきましょう。

 

プログラミングとは どんなことするの?

プログラミングと聞いて、皆さんはどんなことを思い浮かべますか?

専門でやっている人はHTMLとかCSSなどのプログラミング言語を使った、いわゆる「プログラミング」を思い浮かべるのではないでしょうか?

小学校で行うプログラミングは、こんな本格的なものではありません!

第一、HTMLとか教えるの無理です。

では、小学校ではどんなことをしているのでしょうか?

 

それは、ロボットを動かすのです!!

 

えっ!?ロボット?遊びですか?

と思われたあなた!

 

そうです。ほぼ遊びです(笑)

 

 

いや、それは冗談ですが、一見すると遊んでいるようなことを通して、小学校のプログラミングは進んでいきます。

ちなみに、ロボットを動かすのは一つの教材であって、必須でもないし、ここが大事なものではありません。

むしろ大事なのは「プログラミング」の概論です。

プログラミングを考える上で基本となる3つの約束があります。

①順次実行

②繰り返し

③条件分岐

です。

子どもたちに教えるときは、信号を例にこの3つを教えます。

①順次実行

順番が大事だということです。

信号でいうなら

青→黄色→赤

の順番で変わるように命令を出しています。

②繰り返し

ある一定の命令についてそれを繰り返し動かすことができるということです。

信号であれば、

青→黄色→赤→青→黄色→赤→青→黄色→赤→・・・

と繰り返しの命令を出せば、半永久的にこの動きが続きます。

③条件分岐

これは、ある条件を出すと、その動きをすることです。

信号であれば、

・歩行者用ボタンが押されたら黄色になる

・感応式にセンサーに反応したら信号が変わる

などの条件によって、動きを変えることができます。

 

基本的にはこの3つの考え方を使って、プログラミングを考えるのです。

例えば、ロボットを動かすのであれば、ロボットにどんな動きをさせるのか考えて、プログラム(命令)を作っていくのですが、ここで大事なのは、

ロボットをどう動かしたいのか?という目標(ヴィジョン)です。

 

プログラミングが論理的思考力と結びつく理由

よく、プログラミング教室などのチラシを見ると、

「お子様の論理的思考力を養います」

と書かれています。

なぜ、プログラミングを行うと論理的思考力が身につくのか?

それは、この目標(ヴィジョン)をもつからです。

 

例えば、ロボットに『障害物に近づいたら停まる』という指示を与えたいとします。

(ロボットにそういう機能がついているとします。ルンバを思い浮かべてみてください)

その為には、障害物を検知するセンサーにどんなプログラムを入れればいいのか考えさせます。

この「考える」という過程が論理的思考力のスタートとなります。

障害物からどのくらい離れたところで停まるか

障害物を検知したら、光で教えるのか、音を鳴らすのか

停めた後どのように次の動作をさせるか

ロボットの動きを想像しながら、設計図を思い浮かべ、プログラムを入れていく。

この一連の作業を繰り返していくことで、「考える力」を身に付けることができます。

ですから、プログラミングでは、この目標とそれを可能にするための道筋を考えて実行に移す流れが大事なのです。

逆の言い方をすると、いろいろやってみて、ロボットがこんなふうに動いた!わーい!では意味がありません。

ロボットを動かすことが目的ではなく、自分の思い通りに動かすことが大事なのです。

ロボットの機能を理解したうえで、目標を設定し、その道筋を考えてからの試行錯誤には意味があります。きっと最初からうまくいかないので、プログラムを入れては動かし、思い通りの動きでなければもう一度プログラムを見直し、組みなおす。そして動作・・・。

プログラミングが今注目されているのは、この一連の流れを楽しく体験できるツールだからです。

 

プログラミングの今後の展開

プログラミングが注目されている理由はおわかりいただけましたか?

でも、ここでこんな疑問を持った方がいるのではないでしょうか?

「確かにプログラミングでは、論理的思考力を養うことができるかもしれないけど、それってなにもプログラミングでなくてもいいのでは?」

 

そうなんです。

目標→計画→実行→検証→実行→・・・

の流れを通して、論理的思考力、「考える力」を使うことができますが、なにもプログラミングでなくてもこの流れを体験することはできます。

この流れ、いわゆる「PDCA」と一緒なんです。

プログラミングを使うことによって、楽しい要素を入れながらこの「PDCA」サイクルを実践できるところにメリットがあります。

ただ、この流れが重要なのであれば、何もプログラミングでなくてもいいのです。

習い事の技術向上でもいいし、次回のテストに向けた勉強計画でもいいし、お金を貯めるためのお手伝い計画でもいいわけです。

では、プログラミングが小学校に登場した別の狙いとは何でしょうか?

これは、今の国の動きとも関連している「デジタル化」の推進です。

日本は、デジタル化が他の先進国に比べて大幅に遅れているといわれています。

薄々まずいかなと思っていたのか、前々回の学習指導要領から、中学・高校で「情報教育」が必修となり、パソコンを扱えるの子どもの育成が始まったのです。

そもそも学校は、ザ・アナログという世界で、オンライン授業はおろか、今だ欠席連絡すらデジタル化されていないのが現状です。それが、今回コロナ禍で露呈したというわけです。

話は逸れましたが、義務教育である程度パソコンに触れておき、デジタル社会を担う人材を育成したいという展望があるのです。

 

確かに、プログラミングというツールを使うことで、ただパソコンの使い方を覚えましょうとか名刺を作ってみようとか、カレンダーを作ってみようという学習よりは理解が進むでしょう。

もうすでに、パソコンやスマホがないと生きていけない世の中ですから、パソコンが使えませんなんてお話になりません。

そういう意味で、プログラミングが学校に登場したのは、必然といえるでしょう。

むしろ、教える我々の方が遅れているくらいです。こちらの方が深刻だと思うので、子どもたちにがっつりできるようになってもらいたいのなら、こちらこそ専科教員をおくべきだと思います。

 

まとめ

いかがでしょうか。

こういうものは、子どもの方が飲み込みが早く、あっという間に覚えていきます。

なるべく早いうちから知っておくことはメリットになるでしょう。

また、英語もそうですが、こういうものは、家庭環境が影響します。ネット環境が整っていて普段から使っている子とそうでない子では差が出てしまうので、公教育で行う意義は十分あると思います。

一方で、SNSなどの情報リテラシーについても、教育が遅れているのが現状です。

メリットだけでなく、デメリットや危険性を十分理解していなければ、「使いこなせている」とは言えません。

一度ご家庭でも、お話をしてみるといいのではないでしょか?

 

何かの参考になったら嬉しいです。

最後までお読みいただきありがとうございました。

 

コメント

%d人のブロガーが「いいね」をつけました。