小学校で、2020年度からプログラミング教育が必修化となってますね
金融系のプログラムを20年以上行ってるので、気になっていくつか記事を見てました
・プログラマーを育てる目的で無い
・プログラム的思考を学ぶ
・ICT機器への入力方法を習得
という意図だと納得しました。
プログラム的思考 ⇒ 論理的思考(ロジカルシンキング)について触れたいと思います。
相手に自分の意見を正しく伝えるにはどうしたら良いか?
例えば、自分の水500mlをこぼさずに渡す方法で考えます
・自分の考えがペットボトルに入っており、相手のペットボトルにこぼさず注ぐにはどうしたら良いか?
・相手のペットボトルに最速で入れる入れ物は何か?
正解は、〇〇という事ではなく、こういう理由でこうしたら良いと第三者に説明出来る事だと思います
抽象的で分かりにくいと思いますので、具体的なプログラム的思考で考えます。
プログラムの目的を「歩行者用信号機のある交差点を渡る」とします
(交通ルールを順守するのは当然として、考え方の話しです)
プログラムA
1-1.歩行者用信号機が青の場合
・左右の確認(右左折の車が止まる事を確認)
・手を上げて横断
1-2.歩行者用信号機が青点滅の場合
・横断中であれば速やかに渡りきる
・横断前であれば、次の信号を待つ(もう一度プログラムAを実行)
1-3.歩行者用信号機が赤の場合
・次の信号を待つ(もう一度プログラムAを実行)
プログラムB
2-1.歩行者用信号機が青の場合
・左右確認せず、横断する(歩行者優先なので、車が止まるハズ)
2-2.歩行者用信号機が青点滅の場合
・左右確認せず、横断する(歩行者優先なので、車が止まるハズ)
2-3.歩行者用信号機が赤の場合
・車が来ていない事を確認して、横断する。
プログラムAとプログラムBを見てどう思うでしょうか?
今回の目的、安全に交差点を横断が出来るのはプログラムAです。
(プログラムBは、全てアカン行動です・・)
「1-1で、常に手を上げて横断なんかしないよ」
「右左折の車が早めに止まってくれてくれたら、安心して横断出来るので、ありがとうの意味で手を上げるよ!」
と、他人の意見を聞きながらプログラムをブラッシュアップしていきます
自分が作成したプログラム(考え)に対して、何故こうなっているのか?答える力
他人のプログラム(考え)に対して、何故こうしたの?こうしたらどうなの?と質問する力
これがプログラム的思考の根本だと思います。
授業でこういう考え方を学ぶのは大切だと思います
先生が大変だろうなぁと思いながら記事を書きました![]()
(2022年からの高校生の方は苦手な子大変そうですね)
来週もスマイルで頑張りましょう![]()
![]()