「なぜ」への論拠:社会、学校、自己

「なぜ」を問う

ハーバード大学教育大学院で、私は大規模なデザイン・クラスを教えています。そこでは、学生たちが学期を通じて自発的にプロジェクトを開発しています。この授業では、学習に関する構築主義と構成主義の理論を探究しています。そのため、すべてのプロジェクトは必然的に何らかの形で学習と結びついています。学生が自分自身の学習のためにデザインする、学生が他人の学習のためにデザインする、あるいはその両方を組み合わせるなどです。プロジェクト開発の初期段階において、私たちは1つの質問を5回繰り返し、彼らのプロジェクトの根底にある願望を解き明かす練習をしています。「なぜ、それがあなたにとって重要なのですか?」私はこの演習が大好きです。この演習は、私たちのデザインを目的に従って評価し、意図の層をはがすものだからです。このエクササイズは、私たちが実際に行っていることと、そもそもなぜそのようなことを行おうと思ったのかということの間の矛盾や緊張を、素早く鋭く浮き彫りにしてくれるのです。

私はこの演習について、現在K-12(幼稚園児から高校生まで)の教育現場で注目されているコンピュテーショナル・シンキング(CT)と関連させて考えています。個々の教室の設計、地区の義務、州全体の取り組み、国家レベルの活動など、すべての学習者がCTにアクセスできるようにするための取り組みには事欠きません。教育的配慮の一環としてCTを取り入れることを求められるK-12の教師が増えるにつれて、当然多くの教師が "なぜ計算機的思考を教える必要があるのか?"という疑問を持つようになっています。

なぜCTなのかを探る前に、CTとは何かを明らかにする必要があります。この用語には長い歴史があり、具体的な内容についてはまだほとんどコンセンサスがありませんが、コンピュータサイエンスの領域に参加することで学ぶこと、と大まかに定義されることが多いようです。Denning(2017)は、コンピュータ科学者たちがこの分野に貢献してきた概念の変遷を通じて、CTの有益なガイドツアーと評論を提供しています-Alan Perlisによるアルゴリズムに関する初期の奨励からSeymour Papertによる1980年のMindstormsでの計算機思考という言葉の導入、Jeannette WingによるCTの大衆化、Al Ahoによる抽象化への注目、そしてコンピュータ科学教師協会(CSTA)、Computing at School、International Society for Technology in Education (ISTE)などの組織によるK-12向けの最近のCTの具体化などです。

私は特に、プログラミングがCTに必要な要素としてどの程度含まれるか、あるいは含まれないかに関心を持っています。私が初めてCTという概念に出会ったのは、2006年のCommunications of the ACMに掲載されたウィングの有名な論文「Computational Thinking」でした。当時、私の仕事はScratchプログラミングへの若者の参加と学習に焦点を当てていました。CTは、プログラミングを通して何を学ぶかについて考えるための、不十分ながらも興味深いフレームワークのように思えました。このようなCTと若者のスクラッチプログラミングに対する好奇心から、私はMITのMitch Resnick氏とEducational Development Center(EDC)のプログラム評価者と共同で、CTフレームワークと一連の評価方略を開発しました(Brennan and Resnick 2012)。私たちのCTフレームワークでは、計算論者として育成する方法としてプログラミングを重視しています。つまり、概念(シーケンス、ループ、変数など、プログラムを構築するために必要な中核的概念知識)、実践(反復や増分、抽象化やモジュール化の採用など、中核的概念知識をコンピュータプログラムで実行する際に使用する実践や方略)、視点(学習者主導のプログラム作成を通じて発展する自己、他者、世界の概念の発展)の流暢さを高めることです。

私がCTで行ったように、一般的な用語に自分のコミットメントや仕事を合わせることには、利点もあれば課題もあります。利点の1つは認識です:計算思考と同じように議論されている用語であっても、研究および実践に携わる人々は、一般に何を意味するのかを理解することができます。もう1つの利点は、個人がその用語自体の枠組みや形成に貢献できることです。私のCTに対するアプローチは、プログラミングを他の人がしない方法で前面に出し、その結果、CTとは何か、それがどのようにサポートされ得るかについての議論に影響を与えます。もちろん、中心的な課題は、言語と特定の言葉に対する私たちの理解につきものの限界です。「思考」は、記号表現としてはあまりにも受動的で心理的な内面であると主張する人もおり、そのため、この学習の能動的・社会的な資質をより明確に示す、計算参加(Kafai 2016)、重要計算リテラシー(Lee and Soep 2016)、計算行動(Tissenbaum、Sheldon、Abel son 2019)といった他の枠組が生まれました。

私は、CTにおける思考の受動性または内向性に対するこの批判に過度に執着しているわけではありません。私のデザインと研究に対するアプローチは、主に構築主義の認識論的な立場によって導かれています。構築主義は学習者中心の構成主義の立場を基礎とし、精神的な構築としての思考と物理的な構築としての製作の深く強力な相関性を明確にしています(Kafai and Resnick 1996)。コンピュータプログラムを作成するなど、思考を外在化させることで、自分自身や他者が自分の思考を検証し、テストし、考察し、反応する機会が生まれます。構築主義の立場によって、私は思考を本質的に能動的かつ社会的なものと考えています。

私の考えや立場を明らかにするために、プログラミングを通じて開発された概念、実践、視点の集合としてのCTの枠組みと、構築主義としての学習理論のガイドについて述べます。これらは、本章で述べる「なぜK-12でCTをサポートしたいのか」という議論の背後にある動機であり、焦点となるものです。これらの立場は確かに普遍的なものではありませんが、あなたがCTについて異なる考え(例:アンプラグド・アクティビティ)を持っていようと、異なる学習理論(例:行動主義、認知主義、構成主義)に導かれていようと、それでも本章の議論が価値あるものになることを願っています。このような枠組みを念頭に置きながら、K-12におけるCTのさまざまな概念に目を向けていきましょう。

「なぜ」を探る

過去10年以上にわたり、学術界ではCTの理由を探る様々な取り組みが行われてきました。例えば、2010年に開催されたCTの定義に焦点を当てたワークショップに関する全米研究会議の報告書では、学術界の参加者が、(1)「技術社会での成功」、(2)「情報技術専門職への関心の高まり」、(3)「米国の経済競争力の維持・強化」、(4)「他分野の探究の支援」、(5)「個人の能力向上を実現」など5つの正当性の概要を示しています。

さらに最近では、Vogel, Santo, and Ching (2017) がニューヨーク市の関係者を巻き込んで、K-12 の全生徒に対するコンピュータサイエンス教育の正当性を特定する参加型プロセスを実施しました。このプロセスにより、「(1)経済と労働力開発の影響、(2)公平性と社会正義の影響、(3)能力とリテラシーの影響、(4)市民性と市民生活の影響、(5)科学技術と社会イノベーションの影響、(6)学校の改善と改革の影響、(7)楽しさと充実感と個人のエージェンシー」(610)を含む7つの正当性の育成を導きました。このリストはその後、Blikstein(2018)がGoogleの出資によるK-12コンピューティング教育の現状に関する報告書で取り上げられ、改良されました。(1)「労働市場の根拠」、(2)「計算思考の根拠」、(3)「計算リテラシーの根拠」、(4)「参加の公平性の根拠」(8)を含む「4つの異なる立場」として提示されたのです。また、アカデミア以外でも、CSTA、ISTE、ACM(Association for Computing Machinery)、Code.orgなど、実践者向けの組織で同様の正当性リストが作成されています。

これらの3つのリストが示唆するように、CTが学生に役立つ理由については、相互に関連し、重なり合うさまざまな正当性が考えられています。私は、K-12の教師との対話をとおして、これらの正当性の長々としたリストを提示するのではなく、これらの様々な正当性を3つの大きなカテゴリーに分類した方がよいと思うようになっています。社会(技術的リテラシーへの期待や労働力の議論など、学習者と広い世界を結びつける正当性)、学校(他の科目についての思考や学習手段に対する一般的な願望など、学習者を学問的文脈に位置づける正当性)、自己(アイデンティティ開発および創造性を培う機会などの学習者の自身についての理解への正当性)です。

これらの各カテゴリーを探究する前に、社会-学校-自己という分類が持ついくつかの特性に注目したいと思います。3つのカテゴリーはいずれも学生の利益に焦点を当てています。それらは、何よりもまず学習者にとって良いものであり、多様性、公平性、包摂性のレンズを通して、選ばれた少数の学習者だけではなく、すべての学習者にとって良いことであるという枠組みで捉えられています。カテゴリーは階層的ではありません。つまり、重要度や価値の暗黙的な順位はありません。(ただし、後で説明するように、個人的にそれらの優先順位を等しく設定しているわけではありません。そのことが今度は私の設計上の決定に影響します。)また、カテゴリーは重複しています。例えば、社会的な正当性(例:将来の仕事のための準備)にも学校的な正当性(例:考え方の理解)にも関わりうることがあります。しかし、カテゴリーと正当性の主な違いは、時間軸の変動です。3年生(一般的には8歳で学校教育の4年目)にとって、仕事に関する議論は12年生(一般的には18歳で学校教育の13年目)とは異なる緊急性と関連性をもちますが、創造性に関する議論は年齢にかかわらず直ちに関連性をもっています。それぞれのカテゴリーについて、正当性の具体的な例やいくつかの検討事項や配慮事項を含めて、その動機となる物語の本質を述べます。

社会

コンピュータが社会に与える広範な影響は否定できません。私たちの個人生活、職業生活、そして社会生活は、過去20年の間にコードによって劇的に再構成され、人工知能や自動化の発見と発展が続いていることを考えると、その勢いは衰える気配を見せません。この根本的な再構成に伴って、若者が将来の社会参加のためにプログラミングを学ぶ理由に関する一連の議論が行われてきました。一般的な主張の一つは、プログラミングが必要な計算・技術リテラシーを形成しているというものです。1960年代初頭から現在に至るまで、プログラミングの方法を学ぶことは、変化する技術的・社会的状況を理解するために必要な重要スキルであると主張されてきました(Lee and Soep 2016; Vee 2013)。これらの主張は、しばしば、プログラムされた人工物の「使用」や「消費」と「作成」を区別したいという願望(Rushkoff 2010)や、実際の生徒の行動や参加よりも大人の願望を反映していることが多い「デジタルネイティブ」としての子供に関する単純な物語に異議を唱えたいという願望(Buckingham 2007)に基づいています。

もう一つの一般的な主張は、プログラミングが将来の仕事や就職に不可欠であることを強調するものです。Guzdial (2015) が指摘するように、「学校でのコンピューティングに関する議論の…ほとんどは、仕事に基づいている」(1)のです。今現在のプログラミングに価値があるという感覚はありますが(これはまもなく探っていきます)、K-12の教師やその生徒との会話では、プログラミングを学ぶことの周辺に、特に仕事や労働力に関連して「将来」というテーマが広がっています。教師も生徒も、現在プログラミングを学ぶことに集中しなければ、将来の仕事の機会を逃すことになると感じています。また、プログラミングを学ぶことで、やがては未来を形作ったり変えたりすることができるという、より広く行き渡ったイノベーションの概念もあります。

これらの正当性―より広範なリテラシーと労働力の先取り―はいずれも、CTの正当性に関する文献を反映しています。 (Blikstein 2018; Flórez et al. 2017; Shein 2014; Vogel, Santo, and Ching 2017).生徒の将来に向けての準備という主張は直感的に魅力的であり、学校の主要なプロジェクト、すなわち、若者がいずれ大人として入る世界での将来の参加や成功のための準備をするという、長年にわたって明言されてきたことに沿ったものです(Bransford, Brown, and Cocking 2000; Graham 1984)。しかし、こうした未来志向の枠組みについて問題提起することには価値があります。確かに、今日の世界と明らかに異なる世界に向けて生徒たちに準備させることは、私たちの責任です。しかし、私たちは存在しなくなる可能性のあるテクノロジーに基づいて学習体験を設計しているのでしょうか?また、プログラミングの少なくとも一部の側面が自動化され、ある時点で、プログラミングが必要不可欠でなくなる可能性がある世界に参加するための準備をどのように行えばよいのでしょうか?今とは違う世界を作ることに貢献できるような生徒を育てることも、私たちの責任です。例えば、多様性、公平性、包摂性の問題への取り組みが大きく失敗していると広く認識されている、今日の問題のあるコンピューティングの職場文化を繰り返さないために、私たちはどのように生徒たちを育てればよいのでしょうか?どうすれば、生徒たちがコンピューティングと社会を結びつける倫理的な問題の増加に注目し、気をつけていくようにすることができるでしょうか?

学校

CTについてのより直接的な一連の正当性は、K-12の学校の文脈における認知的および学問的な利点に焦点を当てたものです。例えば、コンピュータプログラムの設計やデバッグに伴うアルゴリズム思考や問題解決に取り組むことで、生徒はより一般的な論理的思考や問題解決の能力を身につけることができると主張されることがよくあります。関連して、CT(特にプログラミング)は他の領域での学習に役立つと主張されることがあります。学校におけるプログラミングの初期には、Logoプログラミング言語やPapertのMind Stormsによって普及したように、数学との統合が中心でした。現在のCT復活の中で、Weintrop et al.(2016)は、学校において学問分野の統合が魅力的である理由として、(1)CTと学問分野の知識の発展が相互に強化される可能性、(2)(数学や科学のような)中核科目が必須であり、そこにCTやプログラミングを含めることで、コンピューティング選択科目に取り組む一部の生徒ではなく、すべての生徒に届けられることから公平性の向上、(3)多くのSTEM(科学、技術、工学、数学)分野でコンピューティングが重要な役割を果たしていることから本物の専門実践の経験という三つの理由を提示しています。学問分野の統合は、現在の資金提供の優先順位もあって、研究および実践の場でますます盛んになっており、例えば、米国国立科学研究振興院のSTEM+C(STEM+Computing)研究への多額の投資は、コンピューティング、コンピュータサイエンス、CTと交わりあうことによって拡大または増幅されています。