副業プログラマーのHiro(ヒロ)です。
皆さんは、子どもたちにどんな能力を身に着けてほしいと思っていますか?
さまざまな能力を伸ばしてほしいと考えていると思います
教育現場では今、「プログラミング教育」が非常に注目されています。
国や政府も、プログラミングスキルを身につけてほしいと思ってます
以前の記事では、学習指導要領が改訂され、小学校教育においてプログラミング教育の導入について説明しました。
今回は、そのプログラミング教育の中で、子供達に培わせたい力・学んでほしい能力についてお伝えしたいと思います。
プログラミング教育の狙い
2020年から小学校でもプログラミング教育が導入されますが、文部科学省の考える、子供達の伸ばしたい能力、育みたい力ってなんでしょうか?
文科省が先生に対して、『プログラミング教育の手引き』をまとめています。
その中に、プログラミング教育の狙いが書かれています。
1)プログラミング教育のねらい
引用 ~文部科学省「小学校プログラミング教育の手引き」~
(前略)非常に大まかに言えば、1.「プログラミング的思考」を育むこと、2.プログラムの働きやよさ、情報社会がコンピュータ等の情報技術によって支えられていることなどに気付くことができるようにするとともに、コンピュータ等を上手に活用して身近な問題を解決したり、よりよい社会を築いたりしようとする態度を育むこと、3.各教科等の内容を指導する中で実施する場合には、各教科等での学びをより確実なものとすることの三つと言うことができます。
と、このように3つの狙いがあると語られています。
- 「プログラミング的思考」を育む事
- 身近な問題をコンピュータを用いて解決できるようになる事
- 各教科等での学びをより確実なものにする事
2.については、以前書いた改訂の経緯に関する記事の中でも触れました。
現代の世の中は情報処理技術に支えられており、それを有効に活用して問題・課題を解決する事が必要となってきています。
3.は、従来の学習方法に適切にプログラミングを取り入れ、より知識として確実なものにしましょう、そうなるように教えましょう、という先生の教え方について書かれていますね。
1つのツール・道具としてプログラミングを活用しましょう、という事ですね。
算数や理科の課題を実際にプログラミングしてみる事で、視覚的に子供達に理解させる事ができますし、試行錯誤する中でより深く知る事ができます。
それでは、1.はどうでしょう。
プログラミング的思考ですね。
はい!その「プログラミング的思考」とは、どのような思考でしょうか。
プログラミング的思考とは?
『小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議』の「議論の取りまとめ」においては、「プログラミング的思考」を以下の通りまとめています。
自分が意図する一連の活動を実現するために、どのような動きの組合せが 必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたら いいのか、記号の組合せをどのように改善していけば、より意図した活動に 近づくのか、といったことを論理的に考えていく力
『小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議』ー「議論の取りまとめ」
と、上記の通り説明されています。
加えて、コンピューターを動かす、という行為でこのプログラミング的思考を補足しています。
- コンピュータにどのような動きをさせたいのか、という自らの意図を明確にする
- コンピュータにどのような動きを、どのような順序でさせればよいのかを考える
- 一つ一つの動きに対応する命令(記号)が必要であることを理解し、コンピュータが理解できる命令(記号)に置き換える
- 命令(記号)をどのように組み合わせれば、自分が考える動作を実現できるかを考える
- 命令(記号)の組合せをどのように改善すれば、自分が考える動作により近づいていくのかということも、試行錯誤しながら考える
何気なく、当たり前のように行なっている操作や動作を、1つ1つバラバラに分解し、そしてそれらをどう組み合わせれば良いか試行錯誤し目的を達成すること、これをプログラミング的思考と言ってるのですね。
例えば、卵を割るという動作で考えてみましょう。
①卵を持つ
②卵を机の角にぶつける
③卵の殻を2つに割く
卵を割る動作は、このように分解できます。ただし、①持つ為には、手を開いて閉じる必要があります。更に閉じる為には、指に力を入れる、とか、力を入れ過ぎないように指を止めるという動作が行われます。更には、その力はどのくらいか計算する、ということも人間は当たり前のように自然に行なっています。
コンピュータでは、それら1つ1つを動きや計算を命令として人間が与えてあげる必要があるのです。 このように、プログラミング的思考を育むことで、物事の本質や関係性を論理的に理解し説明できるように、という狙いがあると考えられます。
これからの情報化社会で生きていく為に必要となる能力を、「子供達に身につけてほしい」という想いがあり、今回のプログラミング教育の導入に繋がっているのですね。
まとめ
今回はプログラミング教育でどのような能力を育てたいか、その狙いをお伝えしました。
子供達自身で、情報を集め、そして整理して伝える。コンピュータの基本的な使い方だけでなく、こういった物事の見方や考え方=「プログラミング的思考」を学んでほしいという想いがあるのですね〜。