分解、整理、組み立て――の3段階で解決

Q(質問) 小学校でもプログラミング教育が必修になっていますが、目的はプログラミングの技術を身につけることではないのですね。

A(熊谷さんの答え) はい。「プログラミング的思考」を養うことです。まずは、その考え方から説明しましょう。

やりたいこと(ゴール)があり、そこに向けて道筋を立てて、解決する考え方です。「分解」「整理」「組み立て」という三つの段階に分けられます。

例えば、夏休みに人気のテーマパークに出かけるとき。混みあう中でどう最大限楽しむか計画を立てるのにも、この考え方が応用できます。

イラスト・たなかさゆり

Q 具体的には?

A ゴールは「テーマパークを最大限に楽しむ」。そこから、どのアトラクションに乗りたいか、何を食べたいかを「分解」していきます。次の段階「整理」では、有料の優先入場券をどのアトラクションで買うか、その分お金が減るけどおみやげはどうするかなど、優先順位をつけて考えます。効率的なルートを決めるには、テーマパークの地図を見て、乗り物の位置関係を把握しておくことも大事です。

最後の「組み立て」では、回る順番を決めます。人気のアトラクションの待ち時間が想定より長かったら、より人気の低いものに乗ろう、などとあらかじめ決めておくことも大切です。ものごとは計画通りに進まないこともあります。AがだめならB、と代替案を考えておくこともプログラミング的思考です。

計画表は「ゴール」「分解」「整理」「組み立て」に分けて書きます。なぜそう考えたのかや、実際にテーマパークに行ってみたふり返りも加えるとなおよいでしょう。そのまま自由研究になりますね。

「AがだめならB」と考え あきらめない

Q では、実際にプログラミングをしたい人は何から始めるといいですか。

A パソコンに向かい、よくわからないプログラミング言語を打ちこむ姿をイメージする人も多いでしょう。

それはハードルが高いので、まずは小学校でも使われているソフト「Scratch」から始めるのをおすすめします。

猫のキャラクターをどう動かしたいか考えて、日本語の文字で書かれたプログラミングブロックを整理して組み立てるものです。慣れていけば、ゲームを作ることもできます。

プログラミング学習用ソフト「Scratch」の画面。https://scratch.mit.eduから自由に使えます

Q 子どものころからプログラミングにふれるよさは何でしょうか。

A プログラミング的思考が身につけば、段取りがよくなるでしょう。自分の行動に理由をつけて説明できるようになり、話に説得力が出ます。また、AがだめならBと考えるくせがつくので、あきらめない力もついていきますね。

私は(高校を出た人などが通う)専門学校でプログラミングを教えたことがありますが、プログラミング言語が難しかったり、道筋を立てて考えるくせがついていなかったりして、すぐにあきらめる生徒がたくさんいました。小学生のうちからプログラミングにふれて小さな成功体験を積むことが大事です。

あきらめずに自分の問題を解決していく力は、将来プログラマーにならなくてもさまざまな仕事で生かせますよ。

『小学校6年生までに必要なプログラミング的思考力が1冊でしっかり身につく本』(著 熊谷基継、かんき出版)
@ASAGAKU_STORY{"type":"story", "story_id":14981691}

(朝日小学生新聞2023年8月16日付)