2020年から小学校でプログラミング教育が必須化されます。
『プログラミング教育』と言う響きから、授業ではパソコンに向かってカタカタとコーディングするのを想像してました。
しかし、文部省の目的はプログラマーを育成することではなく、プログラミング教育を通して
- 論理的思考力
- 創造性
- 問題解決能力等
の育成をするとのことです。
もちろん子どものうちからパソコンに触れ興味を持ってもらい、将来的に優秀なエンジニアが育つことも狙っているとは思いますが、小学校で教えるのはプログラミング言語の習得ではなかった。
では、いったいどんな学習になるのでしょうか。
プログラミングという新しい教科は作られない
私が調べたところ、プログラミングという新しい教科は作られないそうです。
教科書もなければテストもない。
では、いったいプログラミング教育とはどういった学習をするのか
それは、算数や理科などすでにある教科の中に取り入れ、プログラミング的思考(論理的思考)を身に付けることです。
決してパソコンの操作を覚えることが目的ではありません。
ExcelやWordのパソコン教室のように先生に言われた通り作業して操作を覚えるのとは違います。
操作を覚えるのが目的のパソコン教室ではこれで合ってるのですが、プログラミング教育は操作ではなく、じっくり頭を使って思考を鍛えるのが目的です。
特定のプログラミング言語を習得するとか、みんなをプログラマーにするのが目的ではありません。
すでにある教科にプログラミング教育を組み込むってどういうこと?
文部科学省のホームページには、例として算数と理科が記載されてました。
算数では「どのような繰り返し作業を行えば正三角形が描けるのか」を例にしています。
(引用元:文部科学省 小学校プログラミング教育の手引き)
(a)と(b)では、結果は同じです。
どちらも正三角形が描ける。
これを論理的思考で(b)の発想にするのがプログラミング教育です。
論理的思考とは、漏れやダブりがなく全体を把握すること。
何度も同じことをするのは非効率ですからね。
こちらの例もご覧ください。
(引用元:文部科学省 小学校プログラミング教育の手引き)
勘のいい人ならすぐわかると思いますが「繰り返す回数」「長さ」「角度」を変えるだけで形の違う図形が作れてしまいます。
柔軟な発想を持った子どもなら、正三角形だけじゃなく正六角形も教える前に作ってしまうかもしれませんね。
理科の授業ではこのような例が載ってました。
(引用元:文部科学省 小学校プログラミング教育の手引き)
プログラミングの観点から見ても、算数と理科のちょっとした例の中に
- ループ文
- IF文
- 変数
が入ってますから、いざ本格的にプログラミング言語の習得を始めても入りやすいと思います。
パソコンを使わないプログラミング学習
プログラミング教育にパソコン、タブレットが必須かと言うとそうではありません。
- 論理的思考力
- 創造性
- 問題解決能力等
を身に付けることが目的ですから、必ずしもパソコンを使わなければならないというわけではない。
注目されているのが『コンピュータサイエンスアンプラグド』です。
アンプラグドは学習にコンピュータを使いません。
体験でアルゴリズムやグラフィックス、情報論理などのコンピュータの基本概念を学びます。
こちらの動画は2進数の学習ですが、それについての説明はしません。最後のオチとして「これが2進数だよ」と教えます。
5枚のカードをパタパタとひっくり返し、24と表したり9と表したりします。
2進数の「01001」は10進数の「9」だということを体験してもらうのです。
黒板に書きながら2進数の説明をしたところで、何人の子どもが覚えているでしょうか。
体験に勝るものなし!
子どもの頃に体感で覚えると、大人になってからもなんとなく覚えているものです。
こちらの動画は並び順の学習です。どのように速く処理するかを学びます。
名前順やテストの成績順、売上げの高い順など並び替えは身近にありますからね。
英語だけど、見ればわかると思う。
日本の教育にアンプラグドを取り入れるかわかりませんが、近い学習をするはずです。ってか、して!!(懇願)
教科書と黒板っていう昭和の学習しか知らない私としてはちょっと羨ましい。
プログラミング教育は成功するのか
小学校にプログラミング教育を導入するにあたり、個人的に次のことを心配しました。
①教育時間の確保
②教育環境
③先生の教育スキル
現場で働いてるSEとして、プログラミングの習得は容易ではないと実感しています。
闇雲に早い段階から学ばせるだけでは身に付かないと思っていました。
しかし、これから導入されるプログラミング教育は、私が想像したようなプログラマーを育てることではありませんでした。
漠然と心配していたことが少しなくなったよ。
心配ごと①教育時間の確保⇒○解消
新たに「プログラミング」という教科が作られるわけではなく、算数や理科などに組み込む形で学習する。
子どもの負担が増えたわけじゃなかった。
もう詰め込み教育なんて時代遅れもいいとこですから。これには安心しました。
みんなでパソコンに向かってカタカタすれば優秀なパソコンオタクになるってわけじゃないですからね。
心配ごと②教育環境⇒○解消
学校によってパソコンがあったりなかったりするよね。
「ヨーイ!ドン!」でいっせいに学べるほど平等な教育環境ではないと思います。
アンプラグドのようにパソコンを使わずコンピュータサイエンスの学習法があるのなら、環境は関係ありませんね。
九九と同じように2進数を理解する!なんてこともあるかも。
心配ごと③先生の教育スキル⇒×解消しない
結局は教え方次第だからここだけは力を入れて欲しい。
先生だって万能ではありません。
政府の意向に振り回されながらも頑張ってる。
でも現実的に厳しいのであれば、教える人は担任の先生じゃなくていいと思います。
外部のプロのエンジニアに力を借りればいいよ。
狙いはいいと思うからあとは教え方です。
どういった教え方をするのかわかりませんが、「お上の意向でやってます(やらされてます)」ってのはなしで本気で取り組んでほしいものです。
パソコンを使った本格的なプログラミングをしたいなら
学校のプログラミング教育とは別に、本格的なプログラミングを学習したいなら、お手軽なオンライン学習をしてみてはどうでしょうか。
大好きなゲームを自分で作ったとしたらテンションあげあげですよ。英語も一緒に学べるコースもあります。
プログラミングの醍醐味はやっぱり作ったものを動かした時の感動や達成感です。
お子さんの好奇心を刺激しちゃってください。
14日間の無料トライアルがあるのでお気軽にどうぞ。
パパ、ママも子どもと一緒にやってみたら意外とハマるかも?!
これをきっかけにIT業界へ転職したくなったりして・・・いつでもお待ちしてます♪
最後に
プログラミング教育は、プログラマーを育てるのが目的の教育ではありませんでした。
「IT技術職に就くかもわからない我が子に必要な教育なのか?」
「国語や算数などの基礎学習を徹底させてほしい」
などの意見もあると思います。
しかし、国語の時間を短縮するわけでも、プログラミングという教科が増えるわけでもありません。
今習っている教科(国語や算数)にプログラミング的思考を取り入れることによって
- 論理的思考力
- 創造性
- 問題解決能力等
を身に付けることが目的の学習法です。
個人的には有意義な取り組みになると感じました。
机上の空論にならないよう、うまくいってる授業や教材などの情報を集めて成功させてほしいと願います。