プログラミング思考とプログラミング教育

子供の習い事について考えていてプログラミング教育について徒然なるままに思いたること。

徒然なるままにと言っても思い込みでツラツラ述べてもアレなので、定義等を確認する。プログラミング思考の定義は色々あろうが文部科学省の定義は以下の通り。

「自分が意図する『動き』を実現するために必要な指示を、論理的に考えていく力」

https://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/053/siryo/__icsFiles/afieldfile/2016/07/08/1373901_12.pdf

プログラミング教育はコーディングではなくプログラミング思考を育む取り組みだという点も述べられていた。

一応定義等も確認してみたわけだが、なんか難しいこと言ってるなあというイメージ。周囲の様子を見ている限りの話だが、プログラミングという言葉が付くとやたら特別なものという意識があるようだ。

私としては普通の知能があればプログラミングは出来る、従来の学校教育で十分にプログラミング的思考は養えると考えている。

というか、普通の知能以上のものが要求されるならこんなに普及していない。

プログラミングとは、機械に作業をお願いする言い方のようなものだ。何にも知らない子供のような存在に上手にお遣いが頼めれば問題ない。

「りんごを買ってきてね、A商店とB商店の安い方で買って欲しい。500円渡すから買えるだけ買ってきて。」

これが言えれば問題ない。これをお作法に則り書けばりんごを買うプログラムが出来るのだ。プログラムを書くとなると手順としては以下のようになるだろう。

  1. A商店とB商店のりんごの値段を調べる(通常、データベースから取得)
  2. A商店とB商店のりんごの値段を比較して安い方の値段を購入するりんごの価格として設定
  3. 500円で何個買えるか計算する

たったこれだけだ。きちんと作ろうとするとA商店がセールをしていたらそれを適用した場合の値段を算出したり、どちらのお店も同じ値段だった場合を考えたり、りんご1個が500円以上だった場合はどうするか、500円で何個買えるか計算する時の方法(この例くらい計算量が少ないと何でも良いと思うが)など考えるべきことが多少増えるが、プログラミングなんてこんなもの。特別視する必要は全くないと思う。

プログラミング教室で行われているロボットを作る等、それ自体が楽しそうだから楽しめる子はやったら良いと思うのだが、特別なプログラミング教育を施さないとプログラミング的思考が出来ないかと言うとそんなことはない。

とにかくプログラミング的思考が特別視されているようで気になったので書いてみた。なお、AIだって根本は変わらない。

それより、これからの時代というものを考えるとお遣いの指示を出したときに(指示を出した先の)その人がどんな反応をするのか予想をしながら指示を出す経験を重ねて行く方が重要な気がする。プログラミングなんてその前段階に過ぎない。(変なことにならなければ)プログラムもAIも人のためのものだから、結局は人対人なのだ。

余談(全部余談?)だが、文部科学省の資料に話を戻すと、「生活の周辺の便利な道具が魔法の箱ではなくプログラミング的仕組みで動いていることを知る」という視点は素晴らしいし面白いと思った。この視点を念頭に置いたプログラミング教育が公教育で行われる仕組みがあると良い。

上部へスクロール