論理的思考力を養うためなら数学よりもプログラミングの方が良いのでは?
9月18日に放送された「チコちゃんに叱られる」で、”数学を勉強するのはなぜ”と問われていました。昔から頻繁に議論されいるこんな話題取り上げるのか、と思いましたが。
番組内の正解は”論理的思考が身につくから”でした。まあそうだよなという当たり障りのない普通な回答で、ぼーっと見てたわけなんですが、論理的思考力を養うためならプログラミング教育の方が有用なのでは?と思ったわけです。多分僕と同じようなことを思った人が沢山いて、プログラミング必修化の流れに行ったのでしょうけど。
なんでこんな風に思ったかを書こうと思います。一つ注意なのですが、数学なくせと言ってるわけではないです。
そもそも論理的思考身とは?
論理的とは辞書的には
- 論理にかなっている様。筋道を立てて考える様。
という意味です。
つまり論理的思考とは、物事を順序だてて考えるということになると思います。
言うほど数学で論理的思考身につくか?
じゃあ数学勉強して論理的思考が身につくか?というと、その答え自体はYESだと思います。数学は順序だてて矛盾がないように考えないと、問題は解けませんしね。証明問題なんて論理的思考を必要とする最たる例ですよね。
しかし、学校で数学学ぶ人はほどんどが、公式とか解き方を暗記してやり過ごすと思うんです、偏見かもしれませんが。受験数学だって暗記で解く人が多いわけですし。
結局、数学学んでも論理的思考が身につく人は数少ないと思うわけです。意識しないと論理的思考は身につかないので。この数学を学ぶ意図を生徒に伝えても意味なさそうですけど。
プログラミング良くね?って話
そこで僕は、「プログラミングの方が論理的思考養えるんじゃね?やっぱ必修化バンザイじゃん」って思ったわけです。
というのもプログラミングを正しく動かすには、コンピュータに正確な指示を送らないといけないからです。そのためには、いわゆるアルゴリズムを考えなければいけません。
アルゴリズムを考えることは、それ則ち論理的思考をする必要があるというわけです。これによりプログラミングで論理的思考が養われるわけです。
しかし、これは罠で数学だってアルゴリズム考えて問題を解くわけです。まあ大して変わらないんですよ。どうせ公式がサンプルプログラムになったりするんじゃねと。
プログラミングが数学に優位な点
じゃあプログラミングの利点って何だろうと考えたとき、次の2つがあるんじゃないかなと思いました。
- デバッグ作業の存在
- ゲーム感覚で楽しめる
1つめのデバッグ作業は、プログラムのエラーを修正して直す作業ですが、これが論理的思考を必要とします。なんで意図通りに動かないかは理詰めで考えないといけないので。数学にもデバッグ作業(試験で間違えた所の復習)あるけどやらなくて済むんで。
2つめのゲーム感覚で楽しめるのは大きいですよね。ブロック型とかオートマトンとか視覚的に分かりやすくて楽しいですしね。また、自分で作ったものがしっかり動くと楽しいし。
まとめ
こんだけプログラミング持ち上げてるけど、プログラミングにも数学が必要になるし、やっぱり数学って大事だなって思ってます。そもそも数学なんて大人になって役に立たないってことなくない?役立つでしょ。情報系を含め理系は基本数学使うし。数学を勉強しないってことは将来の道を狭める事を意味するんで、数学やっぱ大切じゃん。
数学も自分で考えてやると楽しめますよ。多分…