原文: A Very freeCodeCamp Christmas – Python & JavaScript Upgrades, English Curriculum, The Odin Project

freeCodeCamp から世界中のデベロッパー・コミュニティへ、クリスマスプレゼントをお届けします。

No. 1: 新バージョンの「JavaScript のアルゴリズムとデータ構造」認定講座。ブラウザ上でコードを書いて学べる 21 のプロジェクトを用意しました。プロジェクトに取り組みながら学ぶプロジェクトベース形式の講座で、1,000 以上のステップに細分化されたコーディングチャレンジで段階的に学習できます。

No. 2: 新バージョンの「Python を用いた科学計算」認定講座。ブラウザ上で Python のコードを書いて、12 のプロジェクトに取り組みながら学べます。

No. 3: かの有名な The Odin Project のインタラクティブ版。The Odin Project とは、私 (Quincy) の友人であり freeCodeCamp サポーターでもある Erik Trautman によって 2013 年に作成されたコーディング・カリキュラムです。

No. 4: そして私が個人的に最も楽しみにしていたのが「開発者のための英語」カリキュラムです。今年はまず CEFR A2 レベルの講座をリリースしました。B1、B2、C1 レベルの講座も 2024 年から 2025 年にかけてリリース予定です。開発者として働く上で役立つ表現を中心に学べる講座です。

なぜ freeCodeCamp はこんなにたくさんの教材を一度にリリースしたの?

なぜなら freeCodeCamp コミュニティにふさわしいクリスマスプレゼントだと思ったからです。🎄

freeCodeCamp ではこの数年間をかけて JavaScript カリキュラムのアップデートに取り組んできました。

そして英語カリキュラム、Python カリキュラムの作成にも 2023 のほとんどを費やしました。

残りの認定講座についても、プロジェクトを通して学ぶ形式にアップデートすることを目指しています。

この取り組みには少なくとももう 1 年かかると見込んでいます。いつものことですが、サポーターとして支援していただくことで、追加の人材を採用できるようになり、開発のスピードアップにつながります。

新バージョンの Python カリキュラムと認定講座

Learn_Recursion_by_Solving_the_Tower_of_Hanoi_Puzzle__Step_54___freeCodeCamp_org_---1
古典的なコンピューターサイエンスの問題「ハノイの塔」に取り組む様子。ブラウザ上で、段階的な手順に沿って進められます。

freeCodeCamp では先日、Python を用いた科学計算認定講座のメジャーアップグレードを公開しました。Python プログラミングの基礎を、ブラウザ上で 15 のプロジェクトを作成しながら学ぶことができます。

以下が全 15 プロジェクトの一覧です。

  1. 文字列操作の学習: 暗号プログラムを作成する
  2. 数値と文字列を扱う学習: Luhn アルゴリズムを実装する
  3. ラムダ式の学習: 経費記録ツールを作成する
  4. リスト内包表記の学習: ケース変換プログラムを作成する
  5. 正規表現の学習: パスワード生成プログラムを作成する
  6. アルゴリズムデザインの学習: 最短経路アルゴリズムを作成する
  7. 再帰処理の学習: パズル「ハノイの塔」を解く
  8. データ構造の学習: マージソートアルゴリズムを作成する
  9. クラスとオブジェクトの学習: 数独ソルバーを作成する
  10. 木構造の走査の学習: 二分探索木を作成する
  11. 認定プロジェクト: 計算の縦書き整形プログラム
  12. 認定プロジェクト: 時刻計算プログラム
  13. 認定プロジェクト: 予算アプリ
  14. 認定プロジェクト: 四角形の面積計算プログラム
  15. 認定プロジェクト: 確率計算プログラム

これは 500 問以上のコーディング・チャレンジに相当します。そして 5 件の認定プロジェクトでは、数十件の自動テストをパスするように、洗練されたプロジェクトを作成します。

freeCodeCamp では、Python をブラウザでスムーズに実行できるようにするため尽力してきました。結果として非常にスムーズな動作を実現できました。どこかにあるサーバーで Python のコードが実行されて結果が返ってくるまで待つ必要はありません。

ミリ秒未満でテスト結果が返ってくる freeCodeCamp の JavaScript 講座での体験が気に入っているなら、きっとこの新しい Python 講座も気に入ることでしょう。

freeCodeCamp カリキュラムで Python プログラミングを始めましょう

新バージョンの JavaScript アルゴリズムとデータ構造認定講座

RPG-game
JavaScript ロールプレイングゲームのステップ 53

以下がこの講座で作成する全プロジェクトの一覧です。

  1. JavaScript 基礎の学習: ロールプレイングゲームを作成する
  2. フォームバリデーションの学習: カロリー計算機を作成する
  3. 文字列と配列の基礎的なメソッドの学習: 音楽プレイヤーを作成する
  4. Date オブジェクトの学習: 日付フォーマッターを作成する
  5. 認定プロジェクト: 回文チェッカー
  6. モダンな JavaScript メソッドの学習: サッカーチームカードを作成する
  7. localStorage の学習: Todo リストを作成する
  8. 再帰処理の学習: 十進数・二進数変換ツールを作成する
  9. 認定プロジェクト: ローマ数字への変換
  10. アルゴリズム的思考の学習: 数値ソートを作成する
  11. 文字列と配列の応用的なメソッドの学習: 統計計算機を作成する
  12. 関数プログラミングの学習: スプレッドシートを作成する
  13. 正規表現の学習: スパムフィルターを作成する
  14. 認定プロジェクト: 電話番号の検証
  15. 基礎的なオブジェクト指向プログラミングの学習: ショッピングカートを作成する
  16. 中級オブジェクト指向プログラミングの学習: 横スクロールゲームを作成する
  17. 中級アルゴリズム的思考の学習: ダイスゲームを作成する
  18. 認定プロジェクト: キャッシュレジスター
  19. Fetch と Promise の学習: freeCodeCamp 著者ページを作成する
  20. 非同期プログラミングの学習: freeCodeCamp フォーラムリーダーボードを作成する
  21. 認定プロジェクト: ポケモン検索アプリ

新バージョンの JavaScript アルゴリズムとデータ構造認定講座についての詳細情報と実際に動作する様子は、freeCodeCamp スタッフの Jessica によるプロジェクトの解説記事で見ることができます。

開発者のための英語カリキュラム

CEFR (Common European Framework of Reference) に馴染みのない方のために、こちらの画像を作成しました。

freeCodeCamp-CEFR-Levels-Explained-3
6 段階の CEFR レベルを説明した画像。freeCodeCamp では A2 レベルの講座からスタートし、B1、B2、C1、C2 レベルも開発予定です。

freeCodeCamp がスタートしてから 9 年間、私たちは主に数学、コンピューターサイエンス、プログラミングの教育に注力してきました。なぜここで急に英語を教えることにしたのでしょうか?

それは、何百万人もの開発者が、自分のキャリアの可能性を最大限発揮するために英語力の向上を必要としているからです。

国際的に、英語がテクノロジー業界の主要言語となっており、多くの重要なテクノロジーが英語圏から生まれている状況です。

また、英語は多くの国でビジネスに使われる言語でもあります。英語圏以外の国に住んでいても仕事で英語を使っているという人が、私の友人にも多くいます。

つまり、多くの人にとって、英語を上手く話せるようになるために時間を費やす価値があるということです。そして freeCodeCamp はそのような人々の力になりたいと考えています。もちろん無料でです。

カリキュラムの前半では、多数の実践的練習を通して、英語の文法や使い方に慣れることを目指します。自己紹介、雑談、仕事についての話し合いなどの基礎的な内容を学びます。

後半では、ソフトウェア開発特有の語彙を練習します。コードを説明したり、テクノロジーのトレンドについて議論したり、スタンドアップ・ミーティングに参加したりする方法を学びます。

この A2 レベルカリキュラムには 105 種類のダイアログが含まれます。それぞれのダイアログは、語彙力を強化し、テクノロジーのプロとしての環境で自信をもって話せるようになることを目指して設計されています。

ぜひ開発者のための英語カリキュラムを試してみてください。そして周りに英語を学んでいる人がいたら勧めてあげてください。

大学学位プログラムの最新情報 (数学準学士、コンピューターサイエンス学士)

大学学位取得プログラムについても着実に進めており、作成中の全 40 のコースのうち 2 番目のコースが完成間近となっています。

まだやるべきことがかなり残っているように聞こえますね。

幸い、私たちがあらゆる開発者に学習を推奨するトピックについての一連の認定講座である freeCodeCamp コアカリキュラムのアップグレードが完了次第、より多くの講師陣が学位取得プログラムの作業にまわる予定です。

私たちの計画は変わりません。2020 年代中頃に全 40 のコースの完成、2020 年代後半に最初の学生の入学、そして卒業生から 5 年間の長期的なデータが得られ次第正式な認定を得ることを目指しています。

これは非常に長い期間に渡る取り組みです。スタートアップ企業がこのような事業に取り組むことを許してくれる投資家はほとんどいないでしょう。その点、私たちはパブリック・チャリティーです。私たちには投資家も株主もいません。私たちにあるのはボランティアとサポーターのグローバル・コミュニティだけです。

freeCodeCamp はいなくなったりしません。世界中の教育制度は多くの問題に溢れ、新しいスキルを学ぶ必要に駆られている多忙な社会人が多数存在しています。freeCodeCamp を始めとする教育機関の力が必要とされているのです。🏕️

従来の JavaScript および Python 認定講座はどうなりますか?

従来の認定講座・認定証も引き続きご利用いただけます。従来の認定講座は freecodecamp 学習プラットフォームの最下部に移動しました。旧カリキュラムはそちらに保管されています。

新しい JavaScript、Python、英語カリキュラム、The Odin Project のセクションはいつまでベータ版ですか?

こうしてこの記事を書いている間にも、引き続きプルリクエストをマージしている状況です。freeCodeCamp の講師陣は、この教材のリリースをクリスマスに間に合わせるため尽力してきました。

今後数週間に渡って、「coming soon」のラベルが付いたセクションをリリース予定です。来年中にはベータ版のラベルを外し、正式版としてリリースすることを目指しています。

freeCodeCamp が初めての場合、どこからスタートするのが良いですか?

これまで通り、freecodecamp 学習プラットフォームの一番上から順に取り組むことをおすすめします。何千時間にもおよぶ学習内容が含まれるので、2024 年中ずっと退屈しないでしょう。率直に言えば、プログラミングをしっかりと学ぶにはそれだけの時間がかかるのです。

コアカリキュラムでは、何百ものプロジェクトを通して大量の演習に取り組みます。そして今後リリース予定の数学・コンピューターサイエンス学位プログラムでは理論を学ぶことができます。

長い期間をかけて、あなたの学習をサポートします。千件以上の YouTube 動画講座、1 万件以上のチュートリアル記事も公開しています。1 冊の本に相当するようなボリュームの記事も複数あります。すべて無料で利用可能です。

2014 年に freeCodeCamp をスタートした時には、私たちの教材がこれほど包括的なものになるとは予想していませんでした。しかし私たちは今、オープンソースの力、無料の教育を支援したいという何千人もの講師・開発者達の力を目の当たりにしています。

私たちは今、数学、プログラミング、そして英語について地球上で最も詳しいだけでなく、桁違いに詳しいと言える学習リソースとなることを目指しています。

freeCodeCamp はまだ 9 歳です。

毎日百万人以上の人々が freeCodeCamp で学んでいるという、freeCodeCamp コミュニティの現在の姿には驚かされるばかりです。

この 1 年だけでも、freeCodeCamp コミュニティは以下のことを成し遂げました。

  • YouTube にて長編講座を 114 件投稿
  • プログラミングチュートリアル記事を 1,045 件、freeCodeCamp Press として無料の電子書籍を 20 冊投稿
  • GitHub にて 2,753 件のコードコントリビューションをマージ
  • カリキュラムとチュートリアル記事の多言語化において 200 万ワード以上を翻訳

そしてこれはまだほんの始まりです。この先やるべきことがもっとあります。

再度になりますが、サポーターとして支えていただければ幸いです。

すでに月次サポーターの方でも、当チャリティーのために年末のギフトをご検討いただけるのであればぜひお願いいたします

当チャリティー団体の使命を支援する方法についての質問や、単に寄付の領収書が必要な場合でも、直接 quincy@freecodecamp.org までお問い合わせいただいて構いません。

あなたが良いクリスマスを過ごしながら、新しいスキルを学ぶ時間を持てることをお祈りします。Happy coding! 🎅⌨️