PRESS)プログラミング学習コラムプログラミング教育のホントのところプログラミングをしないプログラミング教育は、はたして成立するのでしょうか?今回は「プログラミング的思考」という言葉について詳しく掘り下げ、結局のところなにをすればいいのかを考えてみたいと思います。FacebookTwitterLINEはてブプログラミングをしなくてもプログラミング的思考は育まれると解釈している人が多い。アンプラグドは低学年対象の授業などでは有効に機能するがそれで終わってはいけない。今のプログラミング教育に欠けているのは、自分たちで手を動かしてモノを作る活動。家庭で育てる『プログラミング』力」という記事が掲載されました。本記事では、料理の手順や買い物の手順などでプログラミング的思考が育まれる、といったことが書かれています。2019年12月13日www.chunichi.co.jpしかしこの記事を読んだ読者は、プログラミングをしなくてもプログラミング的思考は育まれるから問題ないと解釈しかねません(なおこのような取材記事は、取材された側が伝えたいことと記者が伝えたいことが完全に一致しているとは限らないため、取材された方がこのような発言をしているとは限りません)。「プログラミング的思考」教育プログラミング教育変遷の過程でプログラミング的思考という言葉が使われるようになったのは、二回目の有識者会議で、ソニーグローバルエデュケーションの磯津政明氏が次のように発言したことから始まっています。プログラミング教育の本質がなんであるかというと、御存じのとおりコーディングというよりは、プログラミング的思考、先ほどもありましたが、コンピューテーショナル・シンキングと言われているところがプログラミング教育の本質ではないかと考えておりまして、この部分を強めるのが、プログラミング教育のあるべき姿だと感じているところです。Thinking)を訳したものだったということです。コンピューテーショナル・シンキングとはなんでしょうか。氏が提唱する「コンピューター科学者のように考える思考法」のことで、問題解決・システムデザイン・コンピューター科学の概念の基づく人間の理解などが含まれます。論文を日本語訳しているため、より詳しく知りたい人はこちらを参考にされるとよいでしょう。論文日本語訳www.cs.cmu.eduさて、これを読むと、少なくとも現在広く使われている「プログラミング的思考」と「コンピューテーショナル・シンキング」は、だいぶ異なることがわかります。プログラミング的思考は、いったいなにを指しているのでしょう。文部科学省的には、プログラミング的思考について次のように説明しています。私は本連載でもすでに紹介している通り、「情報を捉えて細分化し、再構築する力」と説明しています。これらはあくまでも「思考法」について問題にしているのであって、プログラミング教育でなにをするかという「具体的な方法」については説明されていません。「プログラミング的思考」教育に欠けているものプログラミング教育で行われる方法論のひとつに「CSアンプラグド」があります。これは「コンピューターを使わずに情報科学を教えるための学習法」であり、現在多くの実践が行われています。記事で紹介されているような料理や買い物の手順を考えて実行することは、アルゴリズムを考えるまさにアンプラグド的な授業と言えます。「プログラミング的思考」を強調する授業では、よくアンプラグドが使われてます。アンプラグドは低学年を対象とする授業やプログラミング教育の導入場面で取り入れるととても有効に機能します。学習指導要領に記載されている5年生の正多角形の作図場面で、実際に自分が作ったプログラム通りに教室を歩くことは、理解を深める一助になります。それだけで完結してはいけません。「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」では、「コンピューターに意図した処理を行うよう指示する」という一文が書かれています。アンプラグドだけでは、コンピューターに意図した処理を行うように指示することはできません。ここで問題なのは、コンピューターを使ったとしても「プログラミング的思考」という言葉に捉われるがあまり、プログラミングが本来もつ創造性(クリエイティビティ)の視点を失ってしまうことがあるということです。「みらいの学びコンソーシアム」では家庭科の授業として、炊飯器シミュレーター使った実践例が掲載されています。考え、調理計画を工夫することができる。家族と食べる朝食(米飯とみそ汁を中心とした1食分)の献立を考え、おいしく食べるため...miraino-manabi.jpこの授業では物事を順序立てて考える力は育めるかもしれませんが、創造的な活動はどこにもありません。これはプログラミング教育というよりは、ICTを活用した家庭科の授業と呼ぶべきでしょう。創造性の視点をもとう今のプログラミング教育に欠けているのは、創造性の視点です。創造性を育むための授業には意図的な「余白」が必要です。プログラミングの授業は図工の授業と同じように、自分たちで手を動かしてモノを作る活動が必要不可欠と言えるでしょう。小学校で行われる授業の多くは、学習指導案という授業計画書(言うなれば、授業の流れをプログラミングしたもの)に基づいて行われます。指導案にはどのタイミングでどのような発問をするかなどまで書かれているため、指導案通りの授業をしようとすると、どうしても教師が導きたいゴールに向けて行く以外のことができなくなってしまいます。創造性とは常に計画の外で生まれる営みです。教師がコントロールする時間ではなく、子どもたち自身がコントロールする時間を少しでも授業に取り入れること。それが私の主張する「余白」です。開発者であるミッチェル・レズニック氏の提唱する創造的な学びが参考になるでしょう。PRESS)プログラミング教育で一番使われていると言っても過言ではないツール「Scratch(スクラッチ)」について取り上げます。Scratchはビジュアルプログラミング言語(文字を入力するタイピング型言語ではなく、ブロックを組み合わせていくことでプログラミングをする)としての特徴が挙げられがちですが、その裏側にある開発・設計思想を理解することで、Scratchの本質により近づけるでしょう。valed.pressプログラミング教育を学校教育で実施する最大のポイントは、この国のほとんどすべての子どもたちがプログラミングを体験できるという点にあります。子どもたちとプログラミングが幸せな出会い方ができるように、創造性を育むための「余白」をもった授業をしていく必要があるのではないでしょうか。パズルゲーム的な活動ではなく、創造性を育む活動のあるプログラミング教育が望まれます。PRESS)は、これからプログラミング教育やSTEM教育を学ぶ子どもをもつ親御さんにはもちろん、それに関わっていかなくてはいけない先生や、これからプログラミング教室を開きたいと思っている方にも役立つ情報を届けるサイトです。