「新しい学び」にプログラミング教育は有効
――学校へのICT導入が必須の理由として、これからの時代を生き抜くために必要な「新しい学び」とは何か、お話しいただきました(前回記事参照)。こうした学びから得られる力を具体的にイメージしたいので、例を教えていただけますか。
では2018年にメジャーリーグで早速大活躍した、大谷翔平選手を例にお話しましょう。大谷選手は高校1年生のときに「8球団からドラフト1位で指名される」という大きな目標を立てました。それを実現するために何が必要か、さらにその必要なものを実現するための手段は何か……目標を小さなステップと対策に、どんどん細分化する作業をしていたそうです。このように、自分でまず目標を立ててプランを考え、自ら一つひとつ実行していく力が必要とされています。この場合、監督が導き本人が着実に実行したわけです。
では今の学校はどうでしょうか。先生たちに問いたい。子どもたちに自分なりの「ドラフト1位8球団」を考えさせてますか? それを実現できるように手段を分解して実行するスキルを育てていますか? 言われたことをただまじめにやり通すのではなく、自分で組み立てて追求していく力を育てることが、これからの学校の役割です。
――なるほど。確かに私たち大人世代が受けた教育だと、「やるべきこと」「目指すこと」が最初から示されていることが多かったのかもしれません。では大谷選手の例のように、自分で組み立て追求する力を子どもたちが身につけるにはどうしたらいいのでしょうか?
身近なことを論理的に整理することがいい練習になるでしょう。私がプログラミング教育とセットでよく取り入れるアンプラグド(注:コンピューターを使用せず、アナログな方法でプログラミングやコンピューターサイエンスの考え方を学ぶときに使われる表現)な学びは、こうした論理的な思考力を身につけるのに役立ちます。
アンプラグドの例をいくつか紹介しましょう。
ハンカチたたみ
「ハンカチをたたむ」という作業を指示役とロボット役の2人1組でやります。指示役はハンカチをたたむ作業を1回にひとつの指示に分けて言葉だけで指示しなければなりません。指さして「そこ」「あれ」といった曖昧な指示をするのはダメ。ロボットは指示役の言葉通りにだけ動き、忖度しないのがルールです。
人間同士なら「ハンカチたたんで」と言えば済むことが、ロボットにプログラムで指示をするように作業工程を分解して短い指示に組み上げることは意外と難しく、これだけでも多くの気づきがあります。
掃除の手順
班ごとに掃除の手順をプログラムのようにフローチャートで書き出します。完成したらフローチャートを隣の班に回し、隣の班が手順の抜けなどをチェックして修正を書き込みます。これを繰り返し、複数の班のチェックを経て自分たちのフローチャートが改善されて戻ってきます。自分たちだけでは気づかなかったことが見え、思考が深まるのです。
これをやると「チェックしてもらったり指摘し合ったりすることはいいことなんだな」と体感でき、クリティカルシンキングの感覚も身につきます。自分たちで手順に落とし込むと見通しを持てるようになるため、「先生、次は何をやればいいんですか?」なんて聞かなくなります。指示待ちではなく自分で動けるようになるのです。
また、その後実際に掃除をやってみると、手順には書いていなかったにもかかわらず、自分の担当が終わったら他の班を手伝うといった「プログラミング無視」が発生したことがありました。確かにプログラム通りの行動ではありませんが、「その場で柔軟に助け合えるのがコンピューターにはない人間らしさだよね」という気づきが生まれ、結果的にコンピューターの特徴を学ぶことができました。