§1 「プログラミング的思考」って?

「プログラミング」って聞くと、コンピューターを使ったむずかしいわざのことだと思うかもしれない。
でも、じつはそれだけじゃないんだよ。

え、コンピューターを使わなくてもプログラミングなの?

そう!たとえば朝、家を出るまでに 顔をあらう → 朝ごはん → 着がえ → 持ち物チェック と順番を決めるよね。
これもプログラミング的思考なんだ。
プログラミング的思考とは
目ひょうを達成するために、手順を考え、順番を整理し、結果をふりかえってかいぜんする力のこと。
それは、次のような場面でも使われています。
・おにぎりを作るとき
・道順を考えるとき
・宿題の計画を立てるとき
・算数の文章題をとくとき
つまり、プログラミング的思考は「コンピューターの世界だけの特別な考え方」ではなく、わたち達が使っている「考える力」なのです。
ポイント:手順があると「さいげん性」が生まれる
同じ手順でやれば、同じ結果になる。これは、科学や料理、スポーツの練習でも大切な考え方です。
プログラミング的思考は、「考える → やってみる → 直す」のくり返しで、頭の使い方がどんどん上手になります。
§2 手順を考える力 ―「アルゴリズム」を使いこなそう―

「手順」ってどこまで書けばよいの?

コンピューターは「あいまいな言い方」が苦手なんだ。だから、正確な指示が大切だよ。
やってみよう:人間ロボットゲーム
これから3つの手順を示します。これだけで、紙飛行機が作れるかな?
① 紙を半分に折る
② 角を折る
③ 飛ばす
うまくいかなかった人、手順があいまいではありませんでしたか?
ワーク 「正確な手順」に書き直そう
紙飛行機を作る手順を、10ステップ以内で書いてみよう。
①(例)A4用紙を、長い辺が横になるようにおく。
②(例)左右の角を中央線に合わせて折る。
③
④
⑤
§3 「デバッグ」の力 ーまちがいから学ぶー
プログラミングでは、最初からうまくいくことはほとんどありません。
むしろ、「失敗したあとになぜそうなったか考えて直す力」が大切です。

この直す力のことをデバッグって言うよ。
おかしな手順を見つけよう
次の手順で、牛にゅうをコップにそそぐことはできるかな?
① (買って帰ったばかりの)牛にゅうパックを持つ
② コップをつくえの上に置く
③ 牛にゅうを入れる
ここには、「フタを開ける」「どれくらい入れるか」が書かれていません。
ワーク 「手順ミス」を直してみよう
さきほどの、手順を直して、牛にゅうがコップの中に入るようにしよう。
①(買って帰ったばかりの)牛にゅうパックを持つ
②
③コップをつくえの上に置く
④( )まで牛にゅうを入れる
答えの例
② 牛にゅうパックのふたを開ける
④ コップの半分

失敗してもいいんだね。失敗が「手がかり」になるんだ。

そう。「なぜそうなったか」を考える力が、問題解決のきっかけになるよ。
§4 生活の中で使ってみよう
プログラミング的思考は、生活のあらゆる場面で使えます。
「朝のしたく」をアルゴリズム化せよ!
「7:30に家を出る」ための手順を考えよう。ただし条件があります。
条件
・朝ごはんは15分
・わすれものチェックを入れる
・順番はなるべくむだがないように
(例)
① 7:00 起きる
② 顔をあらう(1分)
③ 朝ごはん(15分)
④ 歯磨き(3分)
⑤ 着がえ(5分)
⑥ 宿題・持ち物チェック(3分)
⑦ 7:30 家を出る
本日のまとめ
・手順化する力が「考える力」の第一歩
・デバッグで、失敗を次にいかることができる。
・かいぜんのくりかえしが、よりよい考え方や結果をもたらす。
プログラミング的思考は、コンピュータを使わなくても育てられます。
毎日の生活の中で、「どうすればもっとよくできるかな?」と考えてみましょう。