【第2回】カレーで考えるプログラミング的思考とは?

第2回
カレーで考えるプログラミング的思考とは?



第1回でお話したようにプログラミングは2020年より小学校で必修化となりました。 以前もコンピューターの時間はありましたが、なぜ今回【プログラミング】は必修となったのでしょう?

それは以前行っていたパソコンの扱い方のほかに【プログラミング的思考】を養う意図があるからです。 今回はそのプログラミング的思考についてお話していきたいと思います。

プログラミング的思考とは

プログラミング的思考は簡単に言うと論理的な思考です。 プログラミング的思考には5つの要素があると考えています。

プログラミング的思考の5つの要素


【分解】:目標に向け、どんな工程が必要なのか細かく分解
【組み合わせ】:その工程を行うにはどんな順番で何を使って作るのか考え組み合わせる
【一般化】:似たような事例はないか考え、共通点や関連性を応用
【抽象化】:自分が一番際立てたい部分、こだわりはどこか
【試行錯誤】:実際に作り、トライ&エラーを繰り返す



たとえば、カレー作りを例にあげたいと思います。 カレーの作り方を思い浮かべてみてください。

【分解】
きっとたくさんの工程を思い浮かべたのではないでしょうか? たとえば材料を選ぶ、野菜を切る、煮込むなどです。
このように作りたいゴールがあり、それに向け何をしなければいけないのか 考えることが【分解】に当たります。

【組み合わせ】
その次にどんな食材を入れるか冷蔵庫や買い物にいって決めるかと思います。 「賞味期限が近いからこの牛肉も入れようかな」など賞味期限が近いものから使ったり、 「最近野菜が足りないからピーマンも入れてみよう」と思いつくかもしれません。
このように状況に応じた条件に合わせ、色々な食材等を掛け合わせることは 【組み合わせ】に当たります。

【一般化】
手順や材料が決まったら、作り方を考えます。 「前作ったカレーおいしかったから同じように作ろう!」と経験や知識をもとに 作ることは【一般化】に当たります。

【抽象化】
「今日は野菜も使いたいから前回のカレーにピーマンとなすを入れて夏野菜カレーにしよう!」と 思いつくとします。これはプログラミング的思考の要素【抽象化】に当てはまります。 自分のこだわりを際立たせ、以前とは違うものにしようと考える部分です。

【試行錯誤】
そして、出来上がり味見をしたり、煮込み時間をもう少し増やしてみたりと、調整をするかと思います。 自分が納得するまで何度も調整をすることは【試行錯誤】に当たります。

プログラミング的思考と聞くとずいぶん難しく感じてしまいますが、料理で考えると意外と わかりやすかったりします。

今後ますますIT化が進み、テクノロジーを扱う機会がとても増えていきます。 その中で必要なスキルがプログラミング的思考なのです。

何かを作るためにどのような工程で手順でそして何を特徴とするか今まで以上に求められます。 また、ITやAIに携わる中で【エラーを解決すること】は必須事項になってきます。

そのため、何度も試行錯誤を繰り返すことが大事になってきます。 その力を養うため2020年のプログラミングが小学校での必須科目となったのです。

まとめ

プログラミング的思考が必要と言われながらも「よくわからない」「結局何のこと」と わかりづらい部分でもあるかと思います。この記事をきっかけに知っていただけたら、 またプログラミング教育に興味を持っていただけたら嬉しいです。

次回のちょこっとプログラミング話では当教室の教育方針の1つでもある【論理的思考】について 親子で楽しめる問題とともにお話していきます! お楽しみに!

ほかのちょこっとプログラミング話はこちらから。