原文: freeCodeCamp Turns 8 Years Old: Data Science Courses + University Degrees Update

freeCodeCamp コミュニティは 8 周年を迎えました。

8 年前、この「草の根」的な学習者コミュニティは誕生しました。当時 freeCodeCamp はまだ、とてもありえない夢物語のようでした。それでも私たちはその実現に向けて動き始めました。

今日では毎日百万人以上の人々が freeCodeCamp を利用し、数学やコンピューターサイエンス、プログラミングについて共に学ぶようになりました。さまざまな文化的、職業的背景を持つ人々がお互いに助け合いながらスキルを高めあっています。

freeCodeCamp-Anniversary
この 8 周年を祝う GIF を作成してくれた Estefania に感謝します。

毎年冬の恒例行事となっていますが、近いうちに freeCodeCamp コミュニティの成長を示す多くのデータを共有する予定です。その代わり本記事では主に、データサイエンスコースと、無料で取得できる学位として認定 (accreditation) を受ける計画についてお知らせします。

データサイエンスコースの最新情報

freeCodeCamp コミュニティでは昨年、データサイエンスコースの開発をサポートするための募金活動を実施しました。最終的に、30 万ドル以上の調査・開発資金が集まりました。

そして本日、その進捗状況をお伝えしたいと思います。

上記の資金の一部を利用して、経験豊富な大学の講師陣にコースワーク (学習内容や課題) の作成を依頼しました。

また、4K の講義動画を撮影したり、コーディング環境として利用したりするために、高性能なコンピューターやカメラを用意しました。

すでにコースの撮影や演習問題の作成を開始しています。

それこそが次にシェアする内容です。

データサイエンスコースを四年制コンピューターサイエンス学位プログラムに組み込みます

昨年、長期的な目標として、無料の認定学位プログラムを設立する計画をお伝えしました。

現在具体的に、以下の開発に着手しています。

  1. 数学の理系準学士号 (Associate of Science in Mathematic) (※2. の前半の課程を兼ねます)
  2. コンピューターサイエンスの理系学士号 (Bachelor of Science in Computer Science)

そしてこれらのコース一覧の第一案が完成したことをお知らせします。

この学位プログラムは、一つの連続的で直線的な学習パスをたどります。全体の修了にはフルタイムの学生の 4 年間に相当する学習を必要とすると想定しています。(ただし、自分のペースで進められる形式のため、必要に応じてより長い時間をかけて取り組むことも可能です。)

この学位プログラムの受講に必要な前提条件は、高校レベルの英語力のみです。数学、コンピューターサイエンス、その他さまざまな実用的スキルは一から教えます。

  • 英語力の要件は一時的なものです。freeCodeCamp のコアカリキュラムと同様に、最終的にはこれらのコースも多くの言語へと翻訳する予定です。

全 40 のコースは、120 単位のコースワークに相当します。コースの構成は、米国の上位 20 のコンピューターサイエンス学位プログラムとそのカリキュラムを詳細に相互分析した上で計画しました。

Ed_teaching_foundational_math
freeCodeCamp の開発者であり 20 年の経験を持つ大学講師でもある Ed Pratowski が、4K の動画を通してホワイトボードの前で基礎数学を教える様子

学習者は、数学を従来の紙と鉛筆を使う方法で学ぶだけではなく、Python とそれをとりまく数学ツールのエコシステムの力を活用する方法も学びます。

Foundational_Math_Curriculum_Screenshot
開発中の基礎数学コースのスクリーンショット。画面に見えているのはほんの一部です。

このコースには以下が含まれます。

  • 自分のペースで学べる 90 時間の講義動画と、理解度チェック用の質問、実践的な演習 (主に Jupyter Notebook を使用)
  • 時間制限のある最終試験
math_curriculum-1
方程式を解くためや、最終的にはデータセットを分析するために、Python や Jupyter Notebook のツールを多用します。

それぞれの学位プログラムについて、開発を計画しているコースの一覧は以下の通りです。

理系準学士 (数学)

  1. Philosophy of Knowledge (知識の哲学)
  2. History of Computation (計算の歴史)
  3. College Algebra (大学レベルの代数学)
  4. Foundations of Critical Thinking (クリティカル・シンキングの基礎)
  5. Precalculus (微積分学の前準備)
  6. Ethical Reasoning (倫理的推論)
  7. Calculus I (微積分学 I)
  8. English Rhetoric and Composition (英語の修辞学と作文)
  9. Probability and Statistics I (確率と統計 I)
  10. Health and Wellness (健康とウェルネス)
  11. Calculus II (微積分学 II)
  12. Probability and Statistics II (確率と統計 II)
  13. Professional and Technical Writing (プロフェッショナルおよびテクニカルライティング)
  14. Calculus III (微積分学 III)
  15. Discrete Mathematics (離散数学)
  16. Economics of Technology and the Labor Market (テクノロジーの経済学と労働市場)
  17. Linear Algebra (線形代数学)
  18. Theory of Computation (計算理論)
  19. Organizational Behavior (組織行動論)
  20. Applied Quantitative Reasoning (応用定量的推論)

理系学士 (コンピューターサイエンス)

  1. Introduction to Computer Science (コンピューターサイエンス入門)
  2. Data Structures and Algorithms (データ構造とアルゴリズム)
  3. Electronics and Embedded Systems (電子工学と組み込みシステム)
  4. Software Design and Engineering (ソフトウェアデザインとエンジニアリング)
  5. Computer Systems and Architecture (コンピューターシステムとアーキテクチャ)
  6. Relational Databases and NoSQL Systems (関係データベースと NoSQL システム)
  7. Fundamentals of Computer Networking (コンピューターネットワークの基礎)
  8. Algorithmic Design and Analysis (アルゴリズムの設計と分析)
  9. Applied Computer Graphics (応用コンピューターグラフィックス)
  10. Full-Stack Web Development (フルスタック Web 開発)
  11. Principles of Information Security (情報セキュリティの原則)
  12. Human-Computer Interaction (人間とコンピューターのインタラクション)
  13. Foundations of Data Analysis (データ分析の基礎)
  14. Applied Data Visualization (応用データ可視化)
  15. Foundations of Data Engineering (データエンジニアリングの基礎)
  16. Supervised and Unsupervised Machine Learning (教師あり / 教師なし機械学習)
  17. Deep Learning Methodologies (ディープラーニング方法論)
  18. Applied Natural Language Processing (応用自然言語処理)
  19. Applied Computer Vision (応用コンピュータビジョン)
  20. Software Industry Interview Preparation (ソフトウェア業界の面接準備)

私たちは、トップレベルの大学のプログラムに相当する厳格なレベルを目指しています。また、千年以上にわたって大学での学びの基礎として機能してきた伝統的なリベラルアーツに学習者が触れられることも目指しています。

私たちは、数学、論理学、修辞学などの基礎的なスキルが重要であると深く信じています。そのような基礎を固めた上でこそ、現代の強力なツールを使って変化をもたらす力を養えると考えています。

学習者が身に付けられるスキルは、数学、プログラミング、機械学習だけではありません。IT 業界の仕組みや、持続可能なキャリアを築き上げる方法、現場で直面する倫理的な問題について推論する方法も学びます。

長期的な見通し

まだまだやるべきことはたくさんあります。講義を計画し、演習問題を作成し、そしてこのプログラムに対し認定を受ける道を探します。

この記事を読んでいる方に強調しておきたい点があります。もしあなたが現在大学に在学しているのなら、そのまま継続してください。この計画を完了するには 10 年、あるいはそれ以上の時間がかかると思ってください。

ただし、各コースと演習問題は順次公開し、オンラインにて無料で利用できるようにします。

また、コースで使用するオープンソースのツールも公開予定です。(学習者が試験を受けるためのセキュアな環境など)

そしてすでにコンピューターサイエンスの学位を取得している学習者のために、これらのコースの大部分を独立したデータサイエンス認定講座としても公開し、認定証をレジュメや LinkedIn に追加できるようにします。この認定証の獲得には、大学の学位用の課程全体を完了する必要はありません。

参加・貢献方法

大学課程の 40 のコースはそれぞれ 90 時間のコースワークに相当するため、私たちは 3,600 時間分の追加の学習リソースを開発予定ということになります。

そのためには、以下のようなインストラクショナル・デザインの作業が何千時間も必要です。

  • 講義内容の作成、撮影、編集
  • インタラクティブな問題集と演習の開発
  • 評価項目の設計
  • 試験問題の手続き型生成の開発
  • 学習者の進捗状況を追跡・認証するための freeCodeCamp 学習プラットフォームの拡張
  • 最終的に動画を世界の主要な言語に翻訳、その言語の講師による講義動画を再撮影

つまり、私たちがいくら効率的な運用を心がけているとはいえ、この学位プログラムを完成させるには何百万ドルもかかることが見込まれます。

このプロジェクトはアジャイル方式で進め、完成したコースから順次公開します。いくつかのコースは 2023 年内に公開できる予定です。

このプログラムが正式に認定されるまでには 10 年以上かかることが想定されますが、コースワークはそれより早く完成する予定です。

最も直接的にこの活動を支援できる方法は、非課税の 501(c)(3) パブリックチャリティーである当団体にご寄付をいただくことです。多くの方が毎月 5 ドルの継続的な寄付を設定してくださっていますが、まとまった金額の一度の寄付も歓迎しております。税処理のために寄付金の領収書が必要であれば個別にご用意いたします。

ご寄付はこちらからお願いいたします。

もう 1 つの支援方法は、新しいコースワークのベータテスターとして参加することです。興味があれば、下記フォームをご記入ください。最初のコースがいくつか利用できる状態になりましたらご連絡差し上げます。いち早くご利用いただける機会となります。

ベータテストへの参加登録はこちらからお願いいたします。

最後に、上に挙げた分野について大学で講師経験をお持ちの方は、ぜひご意見をお聞かせください。Twitter の DM で構いません。私は実務の経験はありますが、学者ではありません。そのため、できる限りの時間をかけて大学教授や理事の方々から学びたいと考えています。

また、開発中のコースについてフィードバックを寄せてくれた、freeCodeCamp コミュニティの多くの開発者、教授、インストラクショナル・デザイナー、ベータテスターの皆さんに改めて感謝します。

8 周年を迎えた私たちのコミュニティは、意欲にあふれた世界中の学習者のために、無料のリソースを作り出そうと動き始めたばかりです。

やるべき仕事はたくさんあります。とても楽しみです。

– Quincy