「プログラミング的思考」を身に付けさせる教育の価値を哲学的・法的に分析
...(中村,2016)、ビジュアルプログラミング環境「」を用いた簡単なゲームを開発する授業実践 (島袋, 小林, 久保, & 兼宗, 2018)等、多くの研究がされている。しかしながら、それを身に付けさせる事が本当に価値ある事なのかについて考察している研究は少ない。
プログラミング教育の導入にはコストと時間をかける必要がある。環境の整備充実を図り、より望ましいプログラミング教育を行うために2018年度から5年間、単年度1,805億円の地方財政処置が講じられる。(文部科学省,2018) また、文部科学省(2018)は、「プログラミング的思考」は「短時間の授業で身に付けさせたり急激に伸ばしたりできるものではない」と説明している。
そのため、プログラミング教育を本当に必修化すべきであったのかを検討すべきである。そこで、本論文ではリサーチクエスチョンを「プログラミング的思考を身に付けさせる教育に価値はあるのか」と設定する。
1-3. 定義
文部科学省(2016)は「プログラミング的思考」について「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要 であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを的に考えていく力」と説明しているため、これを本論文では「プログラミング的思考」の定義とする。
また、小田(2018)はプログラミング的思考の内容を整理し、以下の4つの要素を挙げている。
: 大きな動きを解決可能な小さな動きに分けること
化: 目的に応じて適切な側面・性質だけを取り出し、他の部分を捨てること。
: ものごとの類似性や関係性を見出すこと。
: 目的に合わせて試行錯誤しながら、明確でより良い手順を創造すること。
これら4要素を、本論文ではプログラミング的思考の要素として扱う。
1-4. 先行研究
文部科学省(2016)は、プログラミング的思考の価値について、「急速な技術革新の中でプログラミングやの在り方がどのように変化していっても、普遍的に求められる力」「どのような進路を選択しどのような職業に就くとしても、これからの時代において共通に求められる力」と考えている。また、プログラミング的思考の育成により、各教科等におけるの論理性も明確となっていくと説明している。
プログラミング的思考を教えることの価値に関する研究の一つに、赤堀(2017)のプログラミング的思考と他教科に必要な能力の相関についての調査がある。。大学生を対象に、流れ図()の問題、画面を設計する問題、そして他教科として国語、算数、理科、社会の問題を用意し正答率を調べた。その結果、流れ図の問題と数学・理科の問題の正答率に相関がみられ、設計の問題と国語・社会の問題に相関が見られた。また、プログラミング的思考に関係のある流れ図と設計の問題にも強い相関が見られた。この結果から赤堀は、プログラミング的思考は他教科のと関連するような総合的な論理的思考であると推測した。
Román-González, Pérez-González, Jiménez-Fernández (2017)らは、Computational Thinkingの問題として迷路の問題を用意し、で用いられる知能テストとの相関を調べた。その結果、最も大きい相関が見られたのは認識能力と推論能力、次が言語能力、そして相関がなかったのが計算能力であった。
いままでこのような心理学的なアプローチによる調査や研究はされてきたが、哲学的な考察は少ない。また、過去の心理学的アプローチによる研究にも法的な考察は見られない。よって本論文では的・[[法]]的に「価値のある教育」を定義し、「プログラミング的思考を身につけさせる教育の価値」について考察する。
2. 哲学的考察
学問を正しく探求するための方法は、の、の『』等、長きにわたって哲学的に研究されてきた。本論文の哲学的考察では、価値のある教育を「を正しく探求するための方法を身に付けること」と定義する。
本考察では、プログラミング的思考を先述の小田(2018)が挙げた4つの要素(分解、抽象化、一般化、組み合わせ)に分解して考察する。
2-1. 分解
Descartes(1637)は、『方法序説』にて物事を論理的に検討するための規則の一つとして「わたしが検討する難問の一つ一つを、できるだけ多くの、しかも問題をよりよく解くために必要なだけの小部分に分解すること。」を挙げている。これは、プログラミング的思考における「分解」に等しい手法であると言える。
2-2. 抽象化
哲学者のBacon(1620)は、哲学を論理的に探求するために『ノヴム・オルガヌム』にて「法」を提唱した。法では一般原理を用いて論理的に物事について結論を出すが、帰納法では個々の特殊な事実から共通する性質を取り出し、一般的な法則を導き出す。これは、プログラミング的思考における抽象化でも見られる手法であると言える。
1-2にて前述した文部科学省(2018)の「正多角形の意味を基に正多角形をかく」活動においては、様々な正多角形に共通する性質を抜き出す事が抽象化となる。
2-3. 一般化
Platoは現実界に存在する似像を抽象化し、それをイデアールな存在であると考えた。前述した正多角形をかく活動においては、正三角形、正四角形等をかくプログラム ()の共通点を抽出 (抽象化)して一般化するプロセスは、Platoの論に近いと言える。
また、一般化を用いたプログラミング手法である「」とAristotleによる「」という概念の間の類似性も指摘されている。(永嶋, 2009)
2-4. 組み合わせ
プログラム作成における「組み合わせ」は、コンピューター等のプログラムを解釈する相手に正しく内容を伝えることである。つまり、言語を用いて相手に自分の意図を筋道立てて説明できる能力が「組み合わせ」の能力であると言える。
こうした論理の組み立て方は、哲学的に長きにわたって研究されている。Aristotleが生み出した等、様々な手法が生み出されている。(Smith, 2017)
2-5. 哲学的考察の総括
プログラミング的思考における4つの要素全てに、学問を正しく論理的に探求するために哲学者が考案してきた手法との高い類似性が見られた。よって、プログラミング的思考を身につけさせることは哲学的には価値があると言える。
3. 法的考察 (心理学的アプローチ)
我が国の第1条は、の目的を「の完成を目指し、平和で民主的な及びの形成者として必要な資質を備えた心身ともに健康な国民の育成」と規定している。また、文部科学省(2007a)は、教育の目的を「一人一人の人格の完成であり、国家・社会の形成者の育成」と説明している。よって、本論文の法的考察において価値のある教育とは「人格の完成」「国家・社会の形成者の育成」の二つの目的を達成する教育と定義する。これらの目的に対し、プログラミング的思考を教えることがどう影響するかについて考察する。
3-1. 人格の完成について
「人格の完成」という目的について、小坂文部科学大臣(当時)は国会答弁にて「各個人の備えるあらゆる能力を可能な限り、かつ調和的に発展させることを意味するものである」と述べている。(文部科学省, 2006) 「あらゆる能力」という言葉にはどんな能力も当てはまるが、その多くを含んでいると考えられる、Gardner (1992)の提示するこれら9種の能力に関して論じる。「的・的・論理&的・的・的・的・的・的・的」
Gardnerは「論理&数学的」能力とは、計算、仮説立て、筋道立った思考、演繹/帰納的思考等ができる事であると説明している。赤堀(2017)の研究では、プログラミング的思考における「組み合わせ」の能力が必要になると言える「流れ図」問題の正答率と「数学・代数」における正答率が高かった。また、2-4で前述したように、「組み合わせ」には筋道だてて論理的に考える思考が必要になると言える。さらに、2-2で前述したように、「抽象化」では演繹的な思考が必要になると言える。よって、プログラミング的思考を身に付ける事と「論理&数学的」能力の発展には関係があると考えられる。
Gardnerは、「実存的」能力とは人間の存在等の哲学的問いについて考えられることであると説明している。2-5で前述したように、が哲学的問いに対する答えを追い求める過程で考案してきた手法は、プログラミング的思考との類似性が見られる。よって、プログラミング的思考を身に付ける事と「実存的」能力の発展には関係があると考えられる。
先述の赤堀の研究では、プログラミング的思考力を測る目的で「流れ図」問題と共に画面設計の問題も用いていた。画面設計の問題は「国語・読解」「社会・考察」の問題との相関が見られていたが、画面設計の問題が測る能力は本論文におけるプログラミング的思考の定義から外れるため論じない。
これら二つ以外のGardnerが提示した能力には、プログラミング的思考との関係性が見られなかった。よって、プログラミング的思考を身に付けさせる教育は各個人の一部の能力を伸ばすが、調和的に発展させることはできないと言える。
3-2. 国家・社会の形成者の育成について
「国家・社会の形成者」について、伊吹文部科学大臣(当時)は参議院・教育基本法に関する特別委員会にて以下のことが目指すべき素質であると説明した。
のバランスが取れている
将来にわたってを目指す自律的な人である
国家や社会の形成に主体的に参画していく人である
国家や社会を維持していくのに必要な自己規制と義務を果たせる人である
日本の伝統と文化を基盤とした上で国際社会で生きていける人である
(文部科学省, 2007b)
プログラミング的思考は問題解決のための能力であるため、これらの規範的な素質との強い関連性はみられない。よって、プログラミング的思考を身につけさせる教育は「国家・社会の形成者」を目指す上で大きな価値は無いと考えられる。
3-3. 法的考察の総括
我が国の教育基本法に基づいて考察したところ、「人格の完成」には一部の分野にてプログラミング的思考との関連が見られたが、「国家・社会の形成者の育成」については関連が見られなかった。よって、我が国の法に基きプログラミング的思考を身につけさせる教育は部分的に価値があると言える。
4. 総合考察
本論文ではプログラミング的思考の要素を定め、哲学と法のそれぞれの観点から「のある教育」を定義した。その上で、プログラミング的思考を身につけさせる教育がそれらの定義の元で価値があるのかを考察した。
哲学的考察では、学問を論理的に探求する上ではプログラミング的思考を身につけさせる教育に価値があるとの考察に至った。法的考察では、各個人の能力の内「論理&数学的・実存的」な能力を発展させるための価値はあるが、Gardnerの提示するその他の能力を伸ばす場合や国が求める規範的な素質を目指す上では価値が無いと考察した。
これらの考察結果より、本論文で定義したプログラミング的思考を身につけさせる教育は、論理が重要視される能力を伸ばす上では価値があるが、それ以外の場合の価値は少ないと考えられる。
本論文は、2020年より必修化されるプログラミング教育の内の「プログラミング的思考」にフォーカスして考察したが、プログラミング教育を本当に必修化すべきであったのかを検討するには他の要素も今後十分に考察する必要がある。
参考文献
Bacon,...
1/3/2023