皆さんこんにちは。UGOKのやねこ🐈です。
最近何かと文章を書くことが多いです。このブログもそうですし、趣味でもひょんなことから小説を書いたりしてます。
大変ですがこの経験を通して文章力が上がったりするかもしれませんね。こうご期待。
さて。プログラミング教育研究の記事第2回目ということで、今回は「プログラミング的思考とは?」という話をします。
前回の記事にも書きましたが、プログラミング教育は「算数や理科などの授業の中で、従来の学習に加え、児童のプログラミング的思考力を養う指導を行うこと」が求められています。
(前回の記事はこちら↓)
ではその「プログラミング的思考」とは具体的にどういうものか??
またまた初歩的な部分にはなりますが、自分なりに整理してみます。
文部科学省の資料では、次のように説明されています。
○ 子供たちが、情報技術を効果的に活用しながら、論理的・創造的に思考し課題を発見・解決していくためには、コンピュータの働きを理解しながら、それが自らの問題解決にどのように活用できるかをイメージし、意図する処理がどのようにすればコンピュータに伝えられるか、さらに、コンピュータを介してどのように現実世界に働きかけることができるのかを考えることが重要になる。
○ そのためには、自分が意図する一連の活動を実現するためにどのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力が必要になる。[引用]小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)(文部科学省 2016年6月)【参考】
ちょっと長いのでざっくり要約しましょう。
まず前提として、プログラミング的思考を養う目的は
「子どもたちが情報技術を効果的に活用し、論理的・創造的な思考で課題を発見・解決していく」ことです。
これは前回の記事の「第4次産業革命」のあたりでも少し触れましたね。
そしてそのためには、コンピュータの働きを理解し、
自分がしたい一連の活動を考える
↓
①それを実現させるためにどのような処理が必要か
②その処理をどのように組み合わせて行えばいいのか
③組み合わせをどのように改善すればより良い活動が実現するか
といったことを考える力が必要になるということです。
この考える力のことを「プログラミング的思考」と言います。
要約しても長いし、何より抽象的な説明ではちょっとイメージしにくいですね(笑)
折角なので、ちょっとした記号の問題を使って「プログラミング的思考」の練習をしてみます。
Q.〇は「処理」、□の中は「処理される図形」を表しています。
「?」に入る処理はA~Cのうちどれか。下記の【法則】を参考に考えましょう。↓【法則】
就職活動の際にたぶん5回くらい受けたWEBテスト「CAB」の問題を参考にそれっぽい問題を作ってみました。
おそらくシステム系の企業を受けたことがある就活生はめちゃくちゃ既視感があるはず…。
〈1〉上の図を見て、「やりたいこと」を整理します。
まず処理前の図形と処理後の図形を見比べます。
そこから異なる点は「大きさ」「上下の向き」だと推測されますね。
つまり、やりたい処理は「大きくする」「上下反転させる」の2つということになります。
〈2〉A~Cで「どのような処理」ができるか整理します。
次に【法則】を見て、処理の内容を推測してみます。
(A)(B)の処理を通った図形は「黒く」「大きく」なっています。
(A)(C)の処理を通った図形は「黒く」「上下が逆に」なっています。
こうしてみると、(A)の処理と「黒くする」が2つに共通しているのがわかります。
つまり、(A)は「黒くする」処理となります。
そうすると、残る(B)が「大きくする」処理、(C)が「上下反転させる」処理ということになります。
〈3〉処理の組み合わせを考えます。
(A)「黒くする」、(B)「大きくする」、(C)「上下反転させる」。
必要な処理は「大きくする」「上下反転させる」です。
上の図を見ると既に(C)「上下反転させる」の処理が行われていますね。
つまり、「?」に入る処理は(B)「大きくする」ということになります。
なんとなく「プログラミング的思考」のイメージがつきましたかね…??
すごく大雑把に言ってしまえば「自分がやりたいことを実現するためには、何が必要か?」という
「結果」に至るまでの「プロセス」を考える力というイメージだと思います。
本当は「プログラミング的思考」がどのように役立つのか?というところも書きたかったんですが、
例のごとく長くなってしまったので今回はここまで。
最初の宣言通りまったり研究していきます(´・ω・`)
最近はちょこちょこmicro:bitをいじったりしているので、その辺の報告もしていきたいです。
あと、「プログラミング的思考」という点では同じUGOKのちろるさんが「プログラミング的思考」のゲームを制作しているようなので、
そちらも見てみると面白いかもしれません…!勝手ながらブログを紹介しておきます( ˘ω˘ )
それでは、最後までお読み下さった皆様、ありがとうございました!!
*****
【参考サイト】
*****
【リンク】
やねこ🐈Twitterアカウント(・ω・)っ【https://twitter.com/ugok_yaneko】
UGOKTwitterアカウント(・ω・)っ【https://twitter.com/ugok_girls】