日本の学校教育では小中高校を通してプログラミングに触れる機会が設けられました。
学校種ごとに扱われ方は異なりますが,俗に言う「プログラミング教育」が実施されているということになります。本ブログでは「プログラミング体験・学習」と表記するようにしてきましたが,面倒を省くために当面はプログラミング教育と書くことにします。
小中高におけるプログラミング教育を考えるにあたって,最初に立ち上がってくる疑問は「なぜプログラミング教育なのか?」です。
まず,小学校のプログラミング教育に関して着目すれば,これは「情報活用能力」に含まれるものとして位置づけられています。
(プログラミング教育の位置付け)
文部科学省「小学校プログラミング教育の手引(第三版)」(令和2年2月)p2より
本手引はプログラミング教育を対象として解説していますが、プログラミング教育は、学習指導要領において「学習の基盤となる資質・能力」と位置付けられた「情報活用能力」の育成や情報手段(ICT)を「適切に活用した学習活動の充実」を進める中に適切に位置付けられる必要があります(後略)
ちなみに,平成29年告示の学習指導要領から「情報活用能力」は「資質・能力」の一つとして本文に採用され,学習の基盤となる資質・能力の育成は教科横断的に育成することが目指されています。
というわけで,「なぜプログラミング教育なのか?」という問いの答えは「なぜ情報活用能力なのか?」という問いの答えに便乗する形になっています。
「なぜ情報活用能力なのか?」
この問いへの答えは30年も前から「高度に情報化された現代社会において適切な対応ができるために必要」という主張のもと,その骨格に時事の様々な言葉(高度情報化社会,知識基盤社会,第4次産業革命,Society5.0,AIスマート社会,等々)が付属する形で理由が示されてきました。
こうして,情報活用能力が必要ならば,その一部であるプログラミング教育もまた必要という理屈が成り立つことになります。
—
しかし,この理屈を安易に納得することはできません。
そもそも「情報活用能力の育成に,なぜプログラミング教育なのか?」という部分について疑問が残るからです。
この疑問にアプローチする道筋は2つ考えられます。
一つは,1) 小学校にプログラミング教育を導入するにあたって展開した議論を追いかけるアプローチ。
もう一つは、2) すでに先行導入している中学校と高等学校でプログラミング教育に関する現状や導入経緯を追いかけて,小学校段階がそれに足並みを揃えたのではないかを検討するアプローチです。
まずは1)のアプローチで関係資料を参照してみます。
—
小学校の学習指導要領は,1996(平成8)年の第15期中央教育審議会第一次答申「21世紀を展望した我が国の教育の在り方について」以来,「生きる力」の育成を基本的な観点として重視する方向に変わりました。
この「生きる力」は,基礎・基本の定着を踏まえつつも,子どもたちが自ら学び,自ら考える教育への転換を目指す考え方として導入され,ここから思考力の育成重視が始まったといえます。
もっとも2003(平成15)年には,学力低下論争の影響もあり,「生きる力」に対する「確かな学力」という考え方を打ち出すことでバランスをとることとなりましたが,令和の現在においても「生きる力」というキーワードが前面に押し出されていることを考えれば、考える力,つまり思考力の育成というお題目が日本の学校教育にとって最重要であることは今も変わりない方向性です。
しかし,「思考力育成」を日本の学校教育にどのように導入するかは,なかなか着地点を見出せない問題でした。
たとえば,「習得型の学習」と「探究型の学習」という議論は,知識技能の育成と考える力の育成とを取り組むためのもので,「活用型の学習」でこれらの関連付けを深めようとしたのが平成20年告示の学習指導要領でした。
また,思考力・判断力・表現力等も含めた汎用的な能力の育成を目指した「総合的な学習の時間」に関する様々な取り組みや,フローチャートやシンキングツールといった思考ツールを利用した「高次の思考力」育成を目指す研究も私たちの記憶に新しいところです。
そして,21世紀型スキルの国際的な議論の流れで,日本でも「21世紀型能力」として基礎力・思考力・実践力といった構造が示されて,「メタ認知」や「適応型学習力」の必要性が主張されているのはご承知の通りです。
よって,日本の学校教育はずっと「思考力育成」のネタ探しを続けている状態であったわけですが,そこに情報教育の側から新たな潮流が持ち込まれてきます。コンピュータサイエンスへの注目とプログラミング教育です。
2013年に諸外国の事例の紹介や日本の産業界でもIT人材育成のためプログラミング教育の必要性について声が上がり始めたことで,2014年には文部科学省が「プログラミング学習に関する調査研究」という調査部会を立ち上げて現状把握を開始します。
2016年には「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」を設置し,間近に迫っていた学習指導要領改訂にスピード導入することを達成しました。
その後,次世代の教育情報化推進事業などにおいてプログラミング実践を取り組んでいる実証校IE-Schoolなどの実証報告を揃えることで,情報活用能力の枠組みの中に「プログラミング的思考」なる言葉でプログラミングを取り込みました。
実にあっという間の出来事でした。
先の有識者会議の名称には,思考力育成という流れとプログラミング教育という流れを交差させる意図がわかりやすく表れていますが,もともとプログラミング教育はコンピュータサイエンスやIT人材育成の文脈で注目されていたものだったことを考えると,この両者は同床異夢の関係と言ってよいかも知れません。
情報教育の文脈からすれば,本来的にはコンピュータ活用やコンピュータ・リテラシーの育成を目指すことが本筋であったでしょうし,それまでの情報活用能力の議論はタイピング技能やデジタル読解力を中心に議論が展開してきたはずでした。
しかし,新たな学びを学習指導要領に組み入れることを考えた場合,そのための新たな時間を確保することは難しく,そのための環境も(GIGAスクール構想より以前には)無かったため,正攻法ではほぼ不可能だったろうと思われます。
そこで取られた策が,思考力育成を切り口とする情報教育の領域拡大策であり,プログラミングで用いられる見方・考え方を論理的思考と見立てた情報活用能力の育成を目標にするプログラミング教育の導入だったといえます。
結果としてこの策は学習指導要領への導入には功を奏しましたが,コンピュータリテラシーの一部分であるプログラミング教育を,論理的思考力に焦点化する都合上,単独で切り出す形となりました。そのうえ,小学校学習指導要領の場合,算数と理科の例示と総合的な学習の時間でのみ記述されたことから,プログラミングと教科の学習とのバランスの難しさが目立つ結果も見えます。
「コンピュテーショナル・シンキング」という国際的な議論とも通じ合わないままに,足がかりだけがつくられた状態,というのが現行学習指導要領のプログラミング教育の実状です。
この足がかりを有効活用して,次期学習指導要領ではコンピュータリテラシー等の能力育成を十全に可能とするカリキュラムの設計が期待されているというところです。
—
ここまで,小学校段階にプログラミング教育が導入されるまでの展開を眺めました。
その経緯をおおよそ踏まえて,もしも現行のプログラミング教育が十分な形を纏っていないのだとすれば,どのようなプログラミング教育が理想として考えられるのか。
そうした議論が考えられてしかるべきでしょう。
それについてはまた回をあらためて。また2)のアプローチで「なぜプログラミング教育なのか?」を考えることも回をあらためて考えてみたいと思います。