プログラミング教育が始まりずいぶんと経ちました。
プログラミング教育でよく出てくるキーワードが「プログラミング的思考」です。
プログラミングに求められる思考は主に5つの能力とされています。
今回はそんな5つの能力についてくわしく知り、その能力が身につくとどんなことに役立つのかを考えていきたいと思います。
1 プログラミングに求められる5つの能力
① 抽象化する能力
② 分解して理解する能力
③ 順序立てて考える能力
④ 分析する能力
⑤ 方法を一般化する能力
これらの能力が身につくと、生活における身近な問題を論理的思考で解決できるようになります。
一つ一つをくわしく見ていきましょう。
2 抽象化する能力
抽象化ですが、似ているものから共通するものを見つけだす能力です。
とび箱運動をとってみましょう。
開脚跳び、抱え込み跳び、台上前転、前方倒立回転跳び
これらの技見たときに、共通しているは「とび箱運動の技」ということです。
これが抽象化です。
似ているものから共通点をさがすことって日常でもありますね。
3 分解して理解する能力
次に「開脚跳び」という技を想像してみましょう。
この技をできるようにするためには
・助走
・ふみ切り
・着手
・着地
という一つ一つの技が組み合わさってできています。
開脚跳びをするときに自分にとってどこができていないのかを分析することができれば、技の攻略に近づきます。
これが「分解」です。
4 順序立てて考える能力
先ほど分解した技を組み合わせてみましょう。
「助走をしてふみ切って、着手をして、着地をする」
このように順序立てて考えることができるでしょうか。
とび箱なら当たり前だと思うかもしれませんが、これが算数のわり算だとしたらどうでしょうか。
「立てる→かける→引く→おろす」
という商を出すための順序があります。
これらを整理することができるでしょうか。
このことを「順序立てて考える能力」と言います。
5 分析する能力
開脚跳びをするときの助走は・・・
通常に考えて3歩、5歩、7歩と思うと思います。
ですが、子どもによってはものすごく長く助走をとるという場合があります。
助走は長ければ長いほどいいというわけではありません。
その技に見合った適度の長さがあります。
それを分析することができるかできないかが大切なのです。
この考える力が「分析する能力」と言います。
6 方法を一般化する能力
できるようになったことはみんなに伝えましょう。
わかりやすい言葉で誰でもできるように説明するのが「一般化する能力」です。
難しいことを難しく説明することは比較的できます。
難しいことをわかりやすく説明することで自分の中で考えが一般化されるのです。
とび箱は人によってできばえがちがうかもしれません。
助走の長さ、ふみ切りのふみ方、着手の場所、着地の仕方
これらをみんな同じにできるようにすることが大切なのです。
こうした一連の思考を、より複雑な場面でも応用できるようにするのが
「プログラミング的思考」
となります。
プログラミング的思考はパソコンを使う場面のみ活躍する考え方ではなく、あらゆる場面で使うことができるのでぜひ覚えてほしいと思います。
そして教育現場では、そのプログラミング的思考を教えているのです。
コメント