コンピューティング教育 - 百科事典

コンピュータサイエンス教育または計算教育は、コンピュータサイエンスの分野を教え学ぶこと、そして計算的思考法を教えることです。コンピュータサイエンス教育の分野は、基本的なプログラミングスキルから高度なアルゴリズム設計やデータ分析まで、幅広いトピックをカバーしています。これは、技術産業や計算スキルが必要な他の分野でのキャリアを準備するために不可欠な急速に成長している分野です。

コンピュータサイエンス教育は、21世紀の労働力を準備するために不可欠です。テクノロジーが社会のあらゆる側面にますます統合されるにつれて、熟練したコンピュータサイエンティストの需要が増えています。労働統計局によると、コンピュータと情報技術の職種の雇用は「2021年から2031年までに平均職種の平均よりも21パーセント増加する」と予測されています。

技術産業でのキャリアのための準備に加えて、コンピュータサイエンス教育は、ビジネス、医療、教育など多くの分野で価値のある計算的思考スキルを促進します。アルゴリズム的に考えることや問題を体系的に解決する方法を学ぶことで、学生はもっと効果的な問題解決者や批判的思考者になることができます。

背景
コンピュータプログラミングの初期には、当時コンピュータを扱っていたのは初期の科学者や数学者だけだったため、教育システムを設置する必要はありませんでした。コンピュータプログラミングは普及していなかったため、教える価値はありませんでしたし、専門家でない人間が何かを得られる段階ではありませんでした。しかし、数学者がコンピュータサイエンスの仕事には適していないとすぐに気付き、この分野に専念する人々が必要であると悟りました。時間が経つにつれて、コンピュータの使用がますます依存度が高まる世界に対処するために、特にコンピュータプログラミングに特化した訓練を受けた人々が必要とされました。最初は、大学や短期大学しかコンピュータプログラミングコースを提供していませんでしたが、時間が経つにつれて、高校や中学校もコンピュータサイエンスプログラムを実施し始めました。

科学教育や数学教育と比較して、コンピュータサイエンス(CS)教育はもっと若い分野です。コンピューティングの歴史では、デジタルコンピュータは1940年代から作られましたが、アナログコンピュータの発明以来、計算は何世紀も存在していました。

コンピュータサイエンス教育の別の特徴は、これまで主に大学レベルで教えられていたことです。1980年代には、イギリスのコンピュータサイエンス教育の一環としてBBC Microが注目されました。一部の国では、14歳または16歳から数十年にわたって学校のカリキュラムにコンピュータサイエンスが含まれていましたが、通常これは選択科目としてでした。

特に、小学校のコンピュータサイエンス教師は、中学校や高校の同僚よりもCS教育の効果が低く、CSを教育に取り入れる機会が少ないです。バーチャルな実践コミュニティなどの方法を使用してCS教師をリソースや同僚と結びつけることで、CSおよびSTEM教師が教育効果を向上させ、CSのトピックを学生の教育に取り入れることが示されています。

生成型AIと計算教育
生成型人工知能(GAI)は公共部門でますます人気があり、普及しています。教師や学生は、それが有用な教育ツールであると信じていますが、学習中に過度に依存することについて懸念を表明しています。GAIは情報を錯綜させることが知られており、提供する情報の信頼性について懸念が持たれています。これらのツールの使用方法についての研究が進む必要があります。

カリキュラム
ほとんどの学科と同様に、コンピュータサイエンスは学生の発展の異なる段階で異なるツールや戦略を使用することで、教育の最大の効果を得ることができます。ScratchやMIT App Inventorなどのビジュアルプログラミング言語は、プログラミング言語がどのように機能するかを簡単で理解しやすいブロックベースのプログラミング構造で紹介するための小学校や中学校での効果的な手段です。これらの言語を通じてプログラミングの基本的な知識を身につけた後、通常はシンプルなテキストベースのプログラミング言語、例えばPythonに移行します。Pythonの構文は、より複雑な言語に比べて非常にシンプルです。一般的に、学生はプロフェッショナルのビジネスやプログラマーが使用している言語で教育を受けますので、実際の労働市場で使用されている言語に慣れ親しめることができます。したがって、高校や大学では、PythonやJava、C++、HTMLなどの他の言語のより複雑な使用に焦点を当てるクラスが多いです。しかし、最も人気のあるまたは使用されているコード言語に焦点を当てる必要はありません。なぜなら、コンピュータサイエンスの多くは、ある形式でどの言語でも適用できる良いコードの慣習に基づいているからです。

教学方法
コンピュータサイエンスの効果的な教育方法は、学校でよく使用されている標準的なスライドショーやテキストブックの形式が標準的な学問科目よりも効果が低いとされるため、他の科目とは異なります。コンピュータサイエンスの問題解決の性質により、問題に焦点を当てたカリキュラムが最も効果的とされています。学生にパズル、ゲーム、または小さなプログラムを提供し、対話し、作成させることで、学生はテストやクイズに適用する技術や戦略を学ぶのではなく、授業で学んだ内容を使ってプログラムを完了し、授業に従っていることを示す必要があります。これに加えて、学生の問題解決や創造的な能力を向上させることを目指す教育方法を開発することで、彼らがコンピュータサイエンスや他の科目で成功するのに役立ちます。コンピュータサイエンス教育の問題解決の側面は、特に学生がこれまでにそのように応用していない場合、概念を理解するのに最も難しい部分です。

最近では、オンラインコーディングコースやコーディングブートキャンプが人気を博しています。コンピュータサイエンスの性質上、多くの人々は人生の後半に興味を持ち、または高校や大学に入学したときには広く普及していなかったと感じています。これらの機会は、学校に戻ることなくコンピュータサイエンス市場に参入するための素晴らしい方法です。

= アルゴリズム可視化 =

コンピューティングのインタラクティブな部分やアルゴリズムの動作を静的なテキストや教科書で効果的に教えることは難しいです。教師は、プロセスを描き出し、口頭説明を補完するためにドキュメントカメラや教室の黒板を使用することがよくあります。これらの描画はプロセスの通過中に頻繁に変更されるため、学生が概念を理解するのに課題が生じます。この問題を解決するために、動的なシステムを示すためにアルゴリズム可視化に興味を持ちました。

アルゴリズム可視化は1980年代初頭にBaeckerの「Sorting Out Sorting」から始まりました。効果的に使用されると、興味深い方法でアルゴリズムの異なる状態をグラフィカルに示すことができます。これにより、メモリアドレスや特定の関数呼び出しなどの実装に関する懸念なく、プロセスの概念的な側面に焦点を当てることができます。学生のアルゴリズム可視化の参加が増えると、学生の学習が向上する傾向があります。アルゴリズム可視化は、データ構造、グラフアルゴリズム、ソートアルゴリズムなど、学生がアルゴリズム可視化の助けにより学ぶことで利益を得ることができる計算概念の多くのトピックに使用できます。

計算教育研究
計算教育研究(CER)またはコンピュータサイエンス教育研究は、コンピュータサイエンスの教え学ぶことを研究する多角的な分野です。これは、コンピュータサイエンスと教育研究のサブ分野であり、コンピュータサイエンスがどのように教えられ、学ばれ、評価されるかについて、K-12学校、大学、オンライン学習環境などのさまざまな設定で理解することに関心があります。

= 背景 =
コンピュータサイエンス教育研究は、研究者がコンピュータプログラミングのさまざまな教育方法の効果を探ることを始めた1970年代に研究分野として登場しました。それ以来、この分野はコンピュータサイエンス教育に関連する幅広いトピックをカバーするまでに成長しました。これには、カリキュラム設計、評価、教授法、多様性と包括性が含まれます。

= 研究のトピック =
コンピュータサイエンス教育研究の主要な目標は、コンピュータサイエンスの教え学ぶを改善することです。そのため、研究者はさまざまなトピックを研究します。これには次のようなものがあります:

= カリキュラム設計 =
コンピュータサイエンス教育の研究者は、学生にとって効果的で興味深いカリキュラムを設計することを目指しています。これは、さまざまなプログラミング言語の効果を研究したり、アクティブな学習を促進する新しい教授法を開発することを含むことができます。

= 評価 =
コンピュータサイエンス教育の研究者は、学生の学習成果を評価する効果的な方法を開発することに興味があります。これは、学生の知識やスキルの新しい測定基準を開発したり、さまざまな評価方法の効果を評価することを含むことができます。

= 教授法 =
コンピュータサイエンス教育の研究者は、さまざまな教授法や指導戦略を探求することに興味があります。これは、講義、オンラインチュートリアル、パイアー・ラーニングの効果を研究することを含むことができます。

= 多様性と包括性 =
コンピュータサイエンス教育の研究者は、コンピュータサイエンス教育における多様性と包括性を促進することに興味があります。これは、特定のグループがコンピュータサイエンスに不十分に代表されている原因を研究したり、包括性と公平性を促進する介入を開発することを含むことができます。

研究コミュニティ
Association for Computing Machinery(ACM)は、SIGCSEと呼ばれるコンピュータサイエンス教育の特別兴趣グループを運営しており、2018年に50周年を迎えました。これにより、最も古くて最も長く続いているACM特別兴趣グループの一つとなりました。コンピューティング教育研究の成果として、パーソンズ問題が提唱されました。

コンピュータサイエンス教育におけるジェンダー観点
多くの国では、コンピュータサイエンス教育におけるジェンダーギャップが顕著です。2015年には、米国の非博士号授与機関から卒業したコンピュータサイエンス学生の15.3%が女性であり、博士号授与機関では16.6%でした。2018年に米国の女性博士号取得者の数は19.3%でした。世界中のほとんどの地域で、コンピュータサイエンスの卒業生の20%未満が女性です。

この問題は、小学校から始まる女性のコンピューティングに対する興味の欠如から発生しています。特定のプログラムがこの分野における女性の割合を増やすために多くの努力がされていますが、顕著な改善は見られませんでした。さらに、過去数十年間にわたって女性の関与が減少する傾向が見られています。

これらのプログラムが失敗した主な理由は、ほぼすべてのプログラムが高校や高等教育レベルの女性に焦点を当てていたことです。研究者は、その時点で女性は既に決めかけており、コンピュータサイエンティストに対するステレオタイプが形成されていると主張しています。コンピュータサイエンスは、オタクで社会的スキルに欠ける人々が追求する男性優先の分野と見なされています。これらの特性は、男性よりも女性にとってより有害です。したがって、これらのステレオタイプを打ち破り、多くの女性がコンピュータサイエンスに興味を持つようにするためには、中学校レベルから始まる特別なアウトリーチプログラムが必要です。これにより、女子が自然科学の学習経路に向けて準備されることができます。明らかに、アジアやアフリカの一部の国では、これらのステレオタイプが存在せず、女子が小学校から科学のキャリアを奨励されているため、ジェンダーギャップはほぼ存在しません。2011年には、マレーシアでコンピュータサイエンスの学位の半分を女子が取得しました。2001年には、ギアナのコンピュータサイエンスの卒業生の55%が女性でした。

アクセシビリティ
政府や民間企業は、障害を持つ人々を含むすべての人にアクセスできるソフトウェアを開発することにますます興味を持ち始めています。強い需要があるにもかかわらず、業界のリーダーの2%しか、必要なアクセススキルを持つ候補者を見つけるのが容易であると示唆していません。その結果、コンピュータサイエンスの教室でアクセス性を教えることがますます重要になり、情報とアクセスに関するメタ情報のコミュニケーションが含まれます。現在のアプローチには、コース統合やアクセス性の知識の教育が含まれます。

コース統合は、複数の学科を組み合わせて1つのクラスやプログラムにすることです。主な統合の種類は3つあります:特別科目コース、テーマコース、モジュール統合です。特別科目コースは、特定の学科がコースの全体を占める場合であり、例えば情報学校内のアクセス性に関するコースです。テーマコースは、クラスが特定のトピックについて直接語られていないが、そのトピックを焦点や観点として使用して主要なトピックを教える場合であり、例えば、障害を持つユーザーの認識を通じてユーザーエクスペリエンスデザインを教えることができます。モジュール統合は、特定のトピックを孤立したユニットで教えることです。例えば、ウェブデザインクラスでスクリーンリーダー向けのウェブサイト最適化のユニットがあります。

アクセス性の知識を直接教えることは、特定の分野がアクセス可能な慣習を促進する方法を教えることで、プログラム全体でアクセス性を教えることを目的としています。これには、スクリーンリーダー、適応キーボード、スクリーンマグニファイヤー、字幕サービス、言語処理ソフトウェアなどが含まれます。これらは、ウェブ開発、人間とコンピュータの相互作用、ソフトウェア工学などの多くの計算のサブ分野に適用できます。

教師がアクセス性を教える際のサポートには、アクセス性のさまざまなアプローチに対する知識の不足が根ざしています。ワシントン大学、ガリアード大学、タフツ大学、カリフォルニア大学アイリノイ校は、教師や学生が計算のキャリアにおける障害の代表を増やすことを目指したAccessComputingプログラムと協力しています。

最近のトレンドと進展
最近、計算教育はすべてのレベルの教育に計算の知識を組み込むことにますます焦点を当てています。これは、世界がますます技術的に駆動されているためです。Code.orgや「1時間のコード」などのイニシアティブ、および大規模オープンオンラインコース(MOOCs)などの組織が、コンピュータサイエンス教育を促進し、世界中の学生にコーディングをアクセス可能にすることに大きな役