巷では「プログラミング必修化」という言葉が独り歩きしている感が否めませんが、世にいる理系パパママはどう思っているのかなあと思います。
プログラミングって?
「プログラミング」といえば、まずはコンピュータスクリーンに「Hello!」を表示させることから始めるイメージがあったのですが、どうやらそんなことはしていない様子ですよね。
パパが子ども時代には言語といえば「BASIC」であり、まずはスクリーンに「Hello」を表示させるコードを記述することをしていましたね。なにが書かれているかわからず、ひたすら英文を打って実行する、これが小学校3年生のときでした。キーボードで打って、そのプログラムを「カセットテープ」に保存して・・・フロッピーもない時代には普通の音楽用「カセットテープ」にデータを保存するということをしていました。
現在のパパママにとって、こういう感じの「プログラミング=コーディング」っていうイメージがあるのではないでしょうか?
ビジュアルプログラミング?
ところが、プログラミングアプリの「codeSpark」にしろ「Scratch Jr」にしろ、コーディングは一切ありません。命令が書かれているブロックを並べたりして、実行するとそのブロックの順番通りに命令が実行されることになっています。英文をカタカタ入力する必要はなく、ただ、命令のフローチャートを自分で作って実行させるだけの「ビジュアルプログラミング」となっています。
これってわざわざ「プログラミング必修化」っていって騒ぐことなんですかね?という疑問が湧いてきます。
別に批判しているわけではなく、きちんと算数と国語を勉強していれば自然と身につく能力のような気がして、我が家ではとりあえず何も考えずに放置していました。
「プログラミング」事始め
とはいえ、流れには乗ってみようということで・・・、何かを始めてみることにしました。以前、「codeSpark」は有料で取り組んだことがあったのですが、プログラミングを自分で作るというよりは、既存のゲームで遊んでいる時間のほうが多く、やめました。ただ、現代でいう「プログラミング」とはこういうものなのか、ということを知ることができるし、どのようなことができるのかを勉強するにはとてもいいアプリだと思いました。月額でわりといい料金を支払わなければならないのが難点でしたが。
今回、手始めにプログラミングを組んで車を動かすキットを買ってみることにしました。
簡単に作成できる車を作り、PCで専用のソフトウェアをダウンロードします。そのソフトウェアはフローチャートのように前進や右折などの命令がブロックになっており、自分が動かしたいようにそのブロックを順番に繋げていけば完成します。そして、車をUSBポートに差し込んで記憶させると自分で組んだプログラム通りに車が走ってくれます。
このプログラミングキットにはちょっと難点があって、動かす車の車輪両方にモーターを取り付けているため、モーターの軸の抵抗の違いで、前進といっても微妙に真っ直ぐに進まないことがあります。まあ、目的はプログラミングを組み立てることなので特段の問題ではないですが。
息子は今のところ夢中になってプログラミングを組み立てていますが、動きのバリエーションが少ないため、きっとすぐに飽きるんだろうなという感じがしています。
まとめ
今回、プログラミングキットを使ってプログラミングとはどのようなものか、ということを中心に取り組んでみました。本当にコーディングする際には複雑のフローチャートも必要になってくるので、その入口としてはとてもよい教材だったのではないかと思いました。あとは、息子の興味がいつまで続くかという問題だけです。