
コンピュータ科学教育、 またはコンピューティング教育とは、コンピュータ科学[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ]と計算論的思考[ 7 ] [ 8 ] [ 9 ]の分野を教え、学ぶ分野である。コンピュータ科学教育の分野は、基本的なプログラミングスキルから高度なアルゴリズム設計やデータ分析まで、幅広いトピックを網羅している。これは急速に成長している分野であり、テクノロジー業界だけでなく、計算スキルを必要とする他の分野でのキャリアに向けて学生を準備するために不可欠である[ 10 ] 。
コンピュータサイエンス教育は、学生を21世紀の労働力として育成するために不可欠です。テクノロジーが社会のあらゆる側面にますます統合されるにつれて、熟練したコンピュータサイエンティストの需要が高まっています。労働統計局によると、コンピュータおよび情報技術関連の職業の雇用は「2021年から2031年にかけて21%増加する」と予測されており、これは全職業の平均をはるかに上回るペースです。[ 11 ]
コンピュータサイエンス教育は、学生をテクノロジー業界でのキャリアに備えさせるだけでなく、ビジネス、医療、教育など多くの分野で役立つ計算論的思考スキルも育成します。アルゴリズム的に考え、問題を体系的に解決する方法を学ぶことで、学生はより効果的な問題解決能力と批判的思考力を身につけることができます。
コンピュータプログラミングの黎明期には、当時コンピュータを扱っていたのは初期の科学者や数学者だけであったため、教育システムを構築する必要は実際にはありませんでした。コンピュータプログラミングは広く教えられるほど普及しておらず、非専門家が恩恵を受けられるほど発展もしていませんでした。しかし、数学者はコンピュータサイエンスの仕事には適しておらず、この分野に完全に集中できる人材が必要になることがすぐに認識されました。[ 12 ]時が経つにつれ、コンピュータの使用にますます依存する世界のニーズに対応するため、コンピュータプログラミングの専門的な訓練を受けた人材の必要性が高まりました。当初は大学のみがコンピュータプログラミングのコースを提供していましたが、時が経つにつれ、高校や中学校でもコンピュータサイエンスのプログラムが導入されるようになりました。[ 12 ]
科学教育や数学教育と比較すると 、コンピュータサイエンス(CS)教育ははるかに新しい分野です。[ 13 ]コンピュータの歴史において、デジタルコンピュータが構築されたのは1940年代頃からですが、計算自体はアナログコンピュータの発明以来何世紀にもわたって存在しています。[ 14 ]
コンピュータサイエンス教育のもう 1 つの特徴は、最近まで主に大学レベルでのみ教えられてきたことです。ただし、イスラエル、ポーランド、英国ではいくつかの注目すべき例外があり、1980 年代には英国におけるコンピュータサイエンス教育の一環としてBBC Microが導入されました。[ 6 ] [ 15 ]コンピュータサイエンスは、数十年前からいくつかの国で 14 歳または 16 歳から学校のカリキュラムの一部となっていますが、通常は選択科目としてです。
米国では初等・中等教育におけるコンピュータサイエンス教育は比較的新しく、多くのK-12 CS教師は、専門家としての孤立、限られた専門能力開発リソース、低い指導自己効力感などの障害に直面している。[ 16 ] [ 17 ] [ 18 ] 2021年の報告によると、米国の高校でコンピュータサイエンスを提供しているのはわずか51%である。[ 19 ] 特に小学校のCS教師は、中等部や高等部の同僚に比べてCS指導の効力感が低く、授業にCSを導入する機会が少ない。[ 16 ]仮想コミュニティ・オブ・プラクティスなどの方法を用いてCS教師をリソースや同僚と繋げることは、CSおよびSTEM教師の指導自己効力感を向上させ、生徒への指導にCSのトピックを導入するのに役立つことが示されている。[ 16 ] [ 17 ]
生成型人工知能は公共部門でますます普及しつつあります。[ 20 ]教師と生徒の両方が、これは有用な教育ツールだと考えていると報告していますが、学習中の過度な依存について懸念を表明しています。[ 21 ]生成型AIは情報を偽造することが知られており、それが提供する情報の信頼性について懸念が生じています。効果的な教育のためには、これらのツールの使い方についてさらに研究する必要があります。[ 22 ]
ほとんどの学問分野と同様に、コンピュータサイエンスも、学生が教育から最大限の恩恵を受けられるよう、学生の成長段階に応じてさまざまなツールや戦略を用いることで効果を発揮します。ScratchやMIT App Inventorのようなビジュアルプログラミング言語は、シンプルで理解しやすいブロックベースのプログラミング構造でプログラミング言語の仕組みを入門するのに効果的です。[ 23 ]学生がこれらの言語を通してプログラミングの基本を習得したら、通常は教師はPythonのような使いやすいテキストベースのプログラミング言語に進みます。Pythonの構文は、より複雑な言語に比べてはるかに単純です。一般的に、学生はプロの企業やプログラマーの間で人気のある言語で教えられ、職場で実際に使用されている言語に慣れることができます。そのため、高校や大学では、Pythonのより複雑な使用法やJava、C++、HTMLなどの他の言語に重点が置かれる傾向があります。[ 24 ]それにもかかわらず、コンピュータサイエンスの多くは、何らかの形でどの言語にも適用できる優れたコーディングの実践を学ぶことに基づいているため、最も人気がある、または使用されているコーディング言語に焦点を当てる必要は必ずしもありません。
コンピュータサイエンスの効果的な教授法は、他の科目とは異なる場合が多く、学校でよく使われる標準的なスライドショーや教科書形式は、標準的な学術科目に比べて効果が低いことがわかっています。[ 25 ]コンピュータサイエンスは問題解決が中心であるため、問題に焦点を当てたカリキュラムが最も効果的であることがわかっており、学生にパズル、ゲーム、または小さなプログラムを与えて、それらと対話したり作成したりします。学生は、学んだテクニックや戦略をテストやクイズに適用するのではなく、授業で学んだ教材を使用してプログラムを完成させ、授業についてきていることを示す必要があります。[ 25 ]さらに、学生の問題解決能力と創造力を向上させ、指導することを目的とした教授法を開発すると、コンピュータサイエンスや他の授業で学生が成功するのに役立つ傾向があることがわかりました。[ 23 ]コンピュータサイエンス教育の問題解決の側面は、多くの学生がその概念に苦労する可能性があるため、対処するのが最も難しい部分であることが多く、特にこれまでそのような方法で適用する必要がなかった可能性が高い場合はなおさらです。
最近のもう一つの動向は、オンラインのコーディングコースやコーディングブートキャンプの台頭です。コンピュータサイエンスは学問分野の性質上、多くの人が人生の後半になってから興味に気づいたり、高校や大学に通っていた頃には広く提供されていなかったりします。これらの機会は、学術的な焦点よりも、就職に向けて人々を準備させることに重点を置いた厳格なコースを伴うことが多いです。[ 26 ]コーディングブートキャンプは、人々が学校に通い直すことなくコンピュータサイエンス市場に参入するための素晴らしい方法となっています。

教科書や講義でよく使われる静的なテキストや画像では、コンピューティングのインタラクティブな要素やアルゴリズムの動作原理を効果的に教えることは難しい場合があります。講師は、ドキュメントカメラや教室のホワイトボードを使ってプロセスを図示し、口頭での説明を補足することがよくあります。[ 27 ]プロセスのウォークスルー中に図が頻繁に変更されるため、学生が概念を理解するのが難しくなります。この問題に対処するために、動的なシステムを実証するためのアルゴリズムの可視化への関心が高まっています。
アルゴリズムの可視化は、1980年代初頭のベッカーの『Sorting Out Sorting』の出版に遡ります。[ 28 ]効果的に使用すれば、アルゴリズムのさまざまな状態を魅力的な方法でグラフィカルに示すことができます。これにより、学生はメモリ アドレスや特定の関数呼び出しなどの実装を気にすることなく、プロセスの概念的な側面に集中することができます。[ 27 ]学生によるアルゴリズムの可視化の利用が増えると、通常、学生の学習効果が向上します。[ 29 ]
アルゴリズムの可視化は、実に様々な分野で活用できます。データ構造、グラフアルゴリズム、ソートアルゴリズムなどは、いずれも計算に基づく概念であり、学生はアルゴリズムの可視化を活用することで、より深く理解を深めることができます。
コンピュータ教育研究(CER)またはコンピュータ科学教育研究は、コンピュータ科学の教育と学習の研究に焦点を当てた学際的な分野です。[ 5 ] [ 30 ]これはコンピュータ科学と教育研究の両方のサブ分野であり、K-12学校、大学、オンライン学習環境など、さまざまな環境でコンピュータ科学がどのように教えられ、学ばれ、評価されるかを理解することに関係しています。
コンピュータ科学教育研究は、1970年代に研究者たちがコンピュータプログラミングの教授法の有効性を探求し始めたことをきっかけに、研究分野として確立されました。以来、この分野はカリキュラム設計、評価、教育法、多様性と包摂性など、コンピュータ科学教育に関連する幅広いトピックを網羅するまでに発展しました。
コンピュータ科学教育研究の主要な目標の一つは、コンピュータ科学の教育と学習を改善することです。この目的のために、研究者は以下のような様々なトピックを研究しています。
コンピュータ科学教育の研究者たちは、学生にとって効果的で魅力的なカリキュラムを設計することを目指している。これには、さまざまなプログラミング言語の有効性を研究したり、能動的な学習を促進する新しい教育手法を開発したりすることが含まれる。
コンピュータ科学教育の研究者たちは、学生の学習成果を効果的に評価する方法の開発に関心を寄せている。これには、学生の知識やスキルを測る新たな指標の開発、あるいは様々な評価方法の有効性の評価などが含まれる。
コンピュータ科学教育の研究者たちは、さまざまな教授法や指導戦略を探求することに関心を持っている。これには、講義、オンラインチュートリアル、ピアツーピア学習の有効性を研究することが含まれる。
コンピュータ科学教育の研究者たちは、コンピュータ科学教育における多様性と包摂性の促進に関心を寄せている。これには、コンピュータ科学分野における特定のグループの代表性が低い要因を研究し、包摂性と公平性を促進するための介入策を開発することが含まれる。

計算機学会(ACM)は、SIGCSEとして知られるコンピュータ科学教育に関する特別利益団体(SIG)を運営しており、2018年に創立50周年を迎え、ACMの特別利益団体の中で最も古く、最も長く運営されている団体の1つとなっています。[ 31 ]コンピュータ教育研究の成果の1つにパーソンズ問題があります。
多くの国で、コンピュータサイエンス教育において大きな男女格差が存在する。2015年には、米国の非博士号授与機関で卒業したコンピュータサイエンス学生のうち女性は15.3%であったのに対し、博士号授与機関では16.6%であった。[ 32 ] 2018年には、米国における女性博士号取得者の数は19.3%であった。[ 33 ]世界のほぼあらゆる場所で、コンピュータサイエンスプログラムに在籍する女性の数は男性よりも多い。[ 34 ]
この欧米の問題は主に、小学校から始まるコンピューターに対する女性の関心の低さに起因しています。この分野における女性の割合を増やすために特別に設計されたプログラムによる数多くの努力にもかかわらず、顕著な改善は見られていません。さらに、過去数十年間、女性の関与は減少傾向にあることが指摘されています。[ 35 ]
これらのプログラムが失敗した主な理由は、ほぼすべてが高校生以上の女子生徒を対象としていたためです。研究者たちは、その頃には女性は既に進路を決めており、コンピュータ科学者に対する固定観念が形成され始めていると主張しています。コンピュータ科学は男性が支配する分野であり、オタク気質で社交性に欠ける人々が追求する分野だと認識されています。[ 35 ]
明らかに、アジアやアフリカには、こうしたステレオタイプが存在せず、初等教育段階から女性が科学分野でのキャリアを奨励され、結果としてジェンダーギャップが事実上存在しない国がいくつかあります。2011年には、マレーシアでコンピュータサイエンスの学位の半分を女性が取得しました。[ 36 ] 2001年には、ガイアナのコンピュータサイエンスの卒業生の55%が女性でした。[ 37 ]かつて植民地だった世界では、人種的ステレオタイプや知能の階層を歴史的に拒否してきたため、女性は男性よりも数学や科学の知的能力が劣るというステレオタイプは広まっていません。そのため、科学におけるジェンダーの問題は、科学における人種の問題と複雑に結びついています。[ 34 ]
政府と民間企業の両方が、障害者を含むすべての人にとってアクセス可能なソフトウェアの開発にますます関心を示している。[ 38 ]需要は高いものの、必要なアクセシビリティスキルを持つ候補者を見つけるのは簡単または非常に簡単だと答えた業界リーダーはわずか2%である。[ 39 ]その結果、コンピュータサイエンスの授業でアクセシビリティを教えることがますます重要になってきており、情報とアクセシビリティに関するメタ情報の伝達が含まれる。現在のアプローチには、コースへの統合とアクセシビリティ知識の教育が含まれる。[ 40 ]
コース統合とは、複数の分野を1つのクラスまたはプログラムに組み合わせることです。統合には主に3つのタイプがあります。特別トピックコース、テーマ別コース、モジュール統合です。特別トピックコースとは、特定の分野がコース全体のトピックである場合です[ 41 ] 。たとえば、情報学部におけるアクセシビリティに関するコースなどです。テーマ別コースとは、クラスが特定のトピックを直接扱うのではなく、トピックを焦点またはレンズとして使用して主要なトピックを教える場合です[ 42 ]。たとえば、障害のあるユーザーの認識を通してユーザーエクスペリエンスデザインを教える場合などです。モジュール統合では、特定のトピックを独立したユニットで教えます。たとえば、Webデザインクラスに、スクリーンリーダー向けにWebサイトを最適化するユニットがある場合などです。
アクセシビリティに関する知識を直接教えることは、サブ分野がアクセシブルな実践をどのように促進できるかを教えることで、プログラム全体を通してアクセシビリティを直接教えることになります。[ 43 ]これには、スクリーンリーダー、アダプティブキーボード、スクリーン拡大鏡、キャプションおよび字幕サービス、発音ソフトウェアなどが含まれますが、これらに限定されません。これらは、Web開発、ヒューマンコンピュータインタラクション、ソフトウェアエンジニアリングなど、いくつかのコンピュータサブ分野に適用できます。
アクセシビリティを教える際にインストラクターが受けるサポートにはギャップがあり、これはアクセシビリティを教えるさまざまなアプローチに関する知識の不足に起因しています。[ 40 ]ワシントン大学、ギャローデット大学、タフツ大学、カリフォルニア大学アーバイン校は、コンピューター関連のキャリアにおける障害者の代表性を高めるためにインストラクターと学生を支援することを目的としたプログラムである AccessComputing と協力しました。[ 44 ]

近年、コンピュータ教育では、あらゆるレベルの教育にコンピュータの知識を取り入れることに重点が置かれるようになってきています。これは、世界がますます技術主導型になっているためです。Code.org のような組織やHour of Codeのようなイニシアチブは、大規模公開オンライン講座(MOOC)は、コンピュータサイエンス教育を促進し、世界中の学生がコーディングにアクセスできるようにする上で重要な役割を果たしてきました。特に、女性、恵まれない人々、代表権の低い コミュニティにとって大きな変化をもたらしています。これらのオンライン学習プラットフォームは、コンピュータ教育へのアクセスを容易にし、個人が遠隔でコーディングを学ぶことを可能にしました。さらに、健康、ビジネス、テクノロジーなど、さまざまな分野でテクノロジーがますます見られるようになっています。 [ 45 ] [ 46 ]
長年にわたり、コンピュータ教育は、その人気の低さにつながるいくつかの問題に直面してきました。これらの問題の中で最も影響力の大きいものの1つは、この分野を効果的に教えるための機器のコストです。[ 47 ]過去には、この分野を学びたいすべての学生にコンピュータを提供するための手頃な選択肢はあまりありませんでした。そのため、コンピュータ教育は多くの分野で苦境に陥り、この科目を適切に教えるための資金がほとんど、あるいは全く残っていませんでした。[ 48 ]これが、米国と英国の多くの学校でコンピュータ教育が極めて低調であるか、あるいは存在しない主な理由です。この科目が長年人気がないのは、主に、それを効果的に教えるために必要な機器とソフトウェアを購入できる人に限られていたことに起因しています。[ 48 ]
また、この科目の優秀な教師を見つけて育成することにも問題がありました。過去には多くの学校が、教師がコンピュータサイエンスを教えたり、必要なライセンスを取得したりするための研修費用を支払うことに価値を見出しませんでした。このため、恵まれない地域や単に人口の少ない地域の多くの学校は、優れたコンピュータサイエンスのカリキュラムを提供するために必要な教師を雇用するのに苦労しています。[ 47 ]この分野の教師側のもう1つの問題は、コンピュータサイエンス自体の性質であり、スライドや教科書を使用した標準的な教授構造は効果的でないことがしばしばわかっています。コンピュータサイエンスは非常に問題解決指向の科目であり、標準的な講義形式よりもこの観点からアプローチした方が、教えるのに効果的であることがしばしばわかっています。[ 25 ]
コンピュータサイエンスは、学校で非常に難しい科目として悪名高く、長年にわたり教えられてきた中で落第率や中退率が高い。[ 25 ]これは通常、コンピュータサイエンスという科目が問題解決能力を非常に重視しており、多くの学生がこの点で苦労するという事実に起因する。これは特に高校に当てはまり、コンピュータサイエンスほど高度な問題解決能力を要求する科目は他にほとんどない。コンピュータサイエンスは他のほとんどの科目とは非常に異なる分野であるため、初めて触れる多くの学生が苦労する可能性があるという事実もこれを複雑にしている。[ 25 ]
コンピュータサイエンスという学問分野は様々な課題に直面しているものの、技術の進歩に伴い、コンピュータが教室だけでなく日常生活においてもますます重要な役割を果たすようになるにつれ、その人気は高まり続けている。
{{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク){{cite journal}}: CS1メンテナンス: DOIは2025年7月現在非アクティブです(リンク){{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク)