「プログラミング的思考」を身に付けさせる教育の価値を哲学的・法的に分析
- 202201追記
- 今考えると論文風こじつけ作文な気はするけど、まあ高1の頃の懐かしい文章として取っておく
2019/7月に執筆したものを貼り付け
期限ギリギリに書いたから最後の方が若干雑いかもしれない
哲学的考察では、哲学の過去の研究とプログラミング思考の関連性を書いた
- 哲学的考察とは呼ばないのかも?
法的考察?では文科省の定義する教育の目的と、プログラミング的思考の関係性を書いた
- これも法的考察とは呼ばない気がする
(追記)そもそも哲学も法学も何も専門知識無いので、ただの浅いこじつけになってるきがする
- まあそういう課題なので仕方がない
哲学について調べてるときは大変だった
- 教育の意味を考えてると生きる意味を考えることに繋がってきたから大変だった
————————以下執筆内容————————
# 1. はじめに
# 1-1. 背景
我が国の小学校では、学習指導要領の改訂により2020年からプログラミング教育が必修化される。 独立したプログラミングの科目を新設するのではなく、総合的な学習の時間、算数、理科を中心とした既存の科目の中で実施される。(文部科学省, 2017) 文部科学省(2016)はプログラミング教育はコーディングを覚えること自体を狙いとは定めていないため、より容易な「アンプラグドプログラミング」や「ビジュアルプログラミング」などの手法も使用される。 「小学校プログラミング教育の手引」にて [文部科学省]は、新カリキュラム導入のねらいとして大まかに、
- ① 「プログラミング的思考」を育むこと
- ② 社会が情報技術によって支えられていることなどに気付くことがで きるようにするとともに、その技術を活用して身近な問題を解決したり、社会を改善しようとする態度を育むこと
- ③ 教科等の内容を指導する中て、各教科等での学びをより確実なものとすること の3つを挙げており、本論文ではこれらの内の「プログラミング的思考」を育むことに注目する。
# 1-2. 問題と目的
「プログラミング的思考」をどのようなカリキュラムで身に付けさせるについては、様々な研究・提案がされている。文部科学省(2018) は、一例として「正多角形の意味を基に正多角形をかく」という活動を提案している。児童は、正多角形の特性を理解し、「特定の長さの線を引く」「特定の角度に方向を変える」等の用意されている命令を組み合わせて正多角形を描画するプログラムを考える。また、プログラムを考える過程で「一辺を書く」という動きを一般化して繰り返すという様に試行錯誤して改善ができる。他にも、Sphero SPRK Editionを活用した「速さ」の指導事例 (中村,2016)、ビジュアルプログラミング環境「Scratch」を用いた簡単なゲームを開発する授業実践 (島袋, 小林, 久保, & 兼宗, 2018)等、多くの研究がされている。しかしながら、それを身に付けさせる事が本当に価値ある事なのかについて考察している研究は少ない。 プログラミング教育の導入にはコストと時間をかける必要がある。ICT環境の整備充実を図り、より望ましいプログラミング教育を行うために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. 哲学的考察
学問を正しく探求するための方法は、Socratesの哲学的対話法、Descartesの『方法序説』等、長きにわたって哲学的に研究されてきた。本論文の哲学的考察では、価値のある教育を「学問を正しく探求するための方法を身に付けること」と定義する。 本考察では、プログラミング的思考を先述の小田(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, F. (1978). ノヴム・オルガヌム(新機関) (桂寿一, trans.). 岩波書店. (Original work published 1620) Descartes, R. (1997). 方法序說 (谷川多佳子, trans.). 岩波書店. (Original work published 1637) Gardner, H. (1993). Multiple intelligence : the theory in practice. New York: Westview Press. Román-González, M., Pérez-González, J.-C., & Jiménez-Fernández, C. (2017). Which cognitive abilities underlie computational thinking? Criterion validity of the Computational Thinking Test. Computers in Human Behavior, 72, 678–691. Smith, R. (2017, February 17). Aristotle’s Logic. Retrieved July 7, 2019, from Stanford Encyclopedia of Philosophy website: https://plato.stanford.edu/entries/aristotle-logic/ Wing, J. M. (2006). Computational Thinking. Communications of the ACM, 49(3), 33–35. 中村好則. (2016). 算数科におけるプログラミング的思考と数学的な見方・考え方の育成に関する考察. 日本科学教育学会研究会研究報告, 31(3), 9–12. 哲学 Def. 1 (2006). In 松村明 (Ed.), 大辞林 (3rd ed.). 三省堂. 小田理代. (2018, July 13). 図で解説「プログラミング的思考」とは. Retrieved July 6, 2019, from ベネッセのプログラミング教育情報 website: https://beneprog.com/2018/07/13/computationalthinking/ 島袋舞子, 小林史弥, 久保友広, & 兼宗進. (2018). ワークシートとタブレット端末を使ったプログラミング的思考を育む教材の提案. 第80回全国大会講演論文集, 2018(1), 491–492. 帰納 Def. 2. (2006). In 松村明 (Ed.), 大辞林 (3rd ed.). 三省堂. 平嶋宗. (2017). Computational Thinking の外在化とプロセスエビデンス. 人工知能学会全国大会論文集. Presented at the 人工知能学会全国大会. https://doi.org/10.11517/pjsai.JSAI2017.0_1F31 文部科学省. (2006). 教育基本法改正に関する国会審議における主な答弁. 文部科学省. (2007a, January 10). 国家及び社会の形成者(第五条第二項関連). Retrieved July 7, 2019, from 文部科学省 website: http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/004/siryo/attach/1399352.htm 文部科学省. (2007b, September 5). 教育の目的とこれまでの学習指導要領改訂. Retrieved July 6, 2019, from http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/siryo/attach/1401225.htm 文部科学省. (2016, June 16). 小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ). Retrieved July 5, 2019, from http://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.htm 文部科学省. (2017). 小学校学習指導要領. 東洋館出版社. 文部科学省. (2018, November). 小学校プログラミング教育の手引 PDF file. Retrieved July 5, 2019, from http://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2018/11/06/1403162_02_1.pdf 永嶋浩. (2009). アリストテレスが教えてくれるオブジェクト技術. 川口短大紀要, (23), 55–64. 演繹 Def. 2. (2006). In 松村明 (Ed.), 大辞林 (3rd ed.). 三省堂. 瀧本往人. (2018, October 28). ソクラテスの対話術とプログラミング【哲学とプログラミング】. Retrieved July 7, 2019, from Valed press website: https://valed.press/_ct/17219414 赤堀侃司. (2017). 招待論文 学習情報研究論文誌 第 261 巻 第 4 号. 学習情報研究論文誌, 261(4), 56–61. 青山奈央, 大野真弓, 尾田文香, 小原萌, 滝澤優美, 田中愛, et al.(2018). 教育が目指す「人格」の定義 : 大学生の意識調査より.人間研究 64(2), p. 19-26.