32 ポイント 投稿者 GN⁺ 2025-05-26 | 4件のコメント | WhatsAppで共有
  • OSSUカリキュラムは、世界有数の大学のオンライン資料を通じて、コンピュータサイエンスの完全な教育課程を無料で提供する
  • 入門、コア、上級、ファイナルプロジェクトという構成で、大学学士レベルのコンピュータサイエンスカリキュラムを再現している
  • すべての講義と課題は無料、またはほとんど無料だが、一部の評価課題では費用が発生する場合がある
  • Discordコミュニティなど、活発なグローバル学習者支援ネットワークがあり、資料の更新も継続的に行われている
  • 学習者は個人でもグループでも、自分の状況に合わせて柔軟に進度を調整し、選択できる

OSSUとは何か、なぜ重要なのか

OSSU(Open Source Society University)は、誰でも費用をかけずにコンピュータサイエンスの正規学位レベルの教育を自力で受けられるよう設計されたオープンソースカリキュラムである。ハーバード、MIT、プリンストンなど世界トップ大学の公開講義や資料を活用し、一度きりの知識伝達ではなく、理論・実習・応用のバランスが取れた学習体験を提供することを目指している。

  • すべての学習資料は、オンラインで公開されている高品質な無料リソースから厳選されている
  • CS2013標準のような、国際的なコンピュータ工学の基本学士課程基準を厳格に反映している
  • 自ら動機づけを行い、継続的な学習習慣を持ち、世界中の学習コミュニティから支援を得られる人を主な対象としている

カリキュラム構成と特徴

  • 入門(Introduction to CS) : コンピュータサイエンスとプログラミングの基本概念や面白さを体験できる。Pythonプログラミング、計算理論、基礎データ構造、アルゴリズムなどを含む
  • コア(Core CS) : 大学3年次相当のカリキュラムで、プログラミング(関数型、オブジェクト指向、ソフトウェア設計)、数学(離散数学、統計、確率、微積分)、システム(コンピュータアーキテクチャ、OS、ネットワーキング)、理論(アルゴリズム、NP問題など)、セキュリティ、応用、倫理などを必須としている
  • 上級(Advanced CS) : 最終学年相当。高度なプログラミング、システム、理論、情報セキュリティ、高等数学の中から関心分野を選べる
  • ファイナルプロジェクト: 学んだ知識を活用して実際のプロジェクトを遂行し、世界の仲間の学習者と成果を共有し検証する。実務能力の証明や就職ポートフォリオとして活用できる

学習方法と費用

  • 個人でもグループでもカリキュラムを学習できる
  • 各課程は順番に履修することが推奨されるが、すでに習得済みの内容があれば飛ばすことも可能
  • すべての講義はオンラインで無料提供される。一部のプラットフォーム(Coursera、edXなど)では、課題・試験・プロジェクトの評価時に費用が発生する場合があるが、ほとんどのケースで学習そのものは無料である。経済的負担を減らすために、財政支援(奨学金/Financial Aid)についての案内もある
  • 学習進捗と修了予定日の管理を支援するGoogleスプレッドシートのテンプレートを提供

コミュニティと支援

  • 参加者向けのDiscordサーバーを運営中。講義の議論、質問、仲間とのつながりが活発に行われている
  • GitHub Issueやカリキュラム改善提案など、活発なフィードバックチャネルがある
  • LinkedInプロフィールにOSSUの修了履歴を追加できる

公式サイトおよびGitHubリポジトリで最新のカリキュラムを確認することを推奨

カリキュラム詳細一覧

前提条件

  • コアCSでは**高校レベルの数学(代数、幾何、微積分前段階)**が必須
  • 上級CSはコア課程をすべて終えてから選択可能
  • Advanced systems科目では高校レベルの基礎物理学の知識が求められる

入門CS(Introduction to CS)

  • コンピュータサイエンスの第一歩。基本的な演算、命令型プログラミング、データ構造、アルゴリズムなどを紹介
  • 必須講義: 'Introduction to Computer Science and Programming using Python' (14週間)

コアCS(Core CS)

プログラミング

  • 関数型/オブジェクト指向/テスト/パターン/タイピング/言語の多様性など、幅広い実習
  • Systematic Program Design, Programming Languages (A–C), Object-Oriented Design, Software Architecture など

数学

  • 離散数学、数学的証明、基礎統計、O記法、確率、微積分を含む

開発ツールと環境

  • ターミナル、シェルスクリプティング、vim、コマンドライン、バージョン管理(git)など、実務に必須のツール

システム

  • ハードウェアからOS、ネットワークまで、コンピュータの動作原理を全般的に理解する
  • 例: Nand to Tetrisプロジェクト, OS Three Easy Pieces, Networking など

理論

  • アルゴリズム解析、分割統治、グラフ、動的計画法、NP問題などを含む

セキュリティ

  • 情報セキュリティの基礎、安全なコーディング、脆弱性分析、ネットワーク/暗号などの選択科目を含む

応用

  • データベース、機械学習、コンピュータグラフィックス、ソフトウェア工学など、実践的な活用領域まで幅広く扱う

倫理

  • 技術の社会的文脈、専門性、知的財産権、データプライバシーなど、技術者に必須の倫理性を強調

上級CS(Advanced CS)

  • 進路や関心分野ごとに選択。並列プログラミング、コンパイラ、Haskell/Prologなどの言語、ソフトウェアのデバッグ/テスト
  • コンピュータアーキテクチャ、数値解析/論理/確率、計算理論、情報セキュリティ、システム構築など幅広い選択肢

ファイナルプロジェクト(Final Project)

  • 実践型プロジェクトを選択し、設計・実装・共有を行う
  • オプション例: フルスタックサービス、ロボティクス、データマイニング、ビッグデータ、IoT、クラウドコンピューティング、データサイエンス、ゲーム開発など
  • 自力で進めることも、推奨コースを活用することも可能

学習完了後

  • CS分野の学士号と同等の知識を身につけたことの証明
  • 就職準備、発展的な読書(List提供)、オフライン開発者ミートアップなどとの連携を推奨
  • 新技術の探索(Elixir/Rust/Idris言語など)を奨励

運営ルールとチーム

  • OSSU行動規範を遵守
  • GitHubで自身の進捗状況を表示・管理する方法を案内(kanban活用)

OSSU主要運営メンバー

  • Eric Douglas(OSSU創設者), Josh Hanson(技術メンテナー), Waciuma Wanjohi(学術メンテナー), その他世界中の貢献者

まとめ

OSSUは、世界中の誰もが無料でコンピュータサイエンスの正規学位レベルの能力を身につけ、現代IT業界の実務やキャリアへ幅広く参入できる道を開く。
柔軟な進度、厳格な基準、グローバルコミュニティ、高品質な無料資料の組み合わせが、他の公開カリキュラムと比べた大きな強みである。

4件のコメント

 
crawler 2025-05-28

> 「コンピューターサイエンスを学ぶな」という類いのニュース記事は、本当の意味を見失っていると思う

翻訳がすごくこなれていて不思議だね(笑)

 
xguru 2025-05-26

OSSU オープンソース・ソサエティ・ユニバーシティ - Computer Science 独学する

GeekNewsの初期に紹介されていましたね。その間にかなり多くの内容が追加されました。

 
GN⁺ 2025-05-26
Hacker Newsの意見
  • 経験豊富なエンジニアとして、学習者を支援したいならOSSUは本当に良い場だと思う

    • 私の提案は次のとおり: 自分のサイドプロジェクトをOSSUの学習者たちと、定期的にペアプログラミングやチームプログラミングの形で進める
    • カリキュラム内の1つか2つ以上のコースに慣れ、質問のある学生に答える活動をする
    • 毎週のチェックインミーティングに参加して、自分が取り組んでいることを共有し、他の学習者が何をしているかも聞ける
    • 実践方法はDiscordサーバーを訪問し、私 @waciuma または @tutor ロールにメンションすること
    • 私はOSSUのリーダーの一人で、私たちはコミュニティ、ネットワーキング、プロジェクトが本当の教育の一部だと確信している
    • 無料コースを作る教授や大学だけでなく、ボランティアでOSSU学習者を助けてきた数多くのエンジニアや実務家も一緒に祝福する文化がある
    • あなたもこのグループに加わってほしい
  • 私は学生が自主的にコンピュータサイエンスを学べるよう支援する教育プログラムを運営している。しばしばOSSUのカリキュラムも参考資料として活用している

    • セルフラーニングには多くの利点があるが、注意点もあることを学生には必ず知ってほしい

    • 「シグナリング」とネットワーキングをより積極的に自分で進める必要があり、大学に所属しているときに得られる社会的な利点はセルフラーニングでは不足しがち

    • 学位がないというのは「marked」な状態だと言えるが、これについてはこちらを参照

    • 失敗したり困難が生じたりすると、その原因を学位がないことに結び付けられやすい

    • 採用担当者の中には、学位のない人を雇うのは政治的リスクだと考える人もいるので、入社自体が難しくなることがある

    • 乗り越えられないものではないが、だからこそ私たちは最初からそれを一緒に準備し、克服する形を取っている

    • セルフラーニングの利点は、学習スピードが速く、無駄な過程の反復なしにすべてを文脈の中で学べる点

    • もし基礎が足りないと気づいたら、その時点で戻って学べばよい

    • この方式は技術職では必然的な学習方法だと思うが、すべての学生に向いているわけではない

    • 現実的には、経済状況のために大学へ行けず、セルフラーニングを「強いられる」ことが多いのが残念

    • トレードオフをよく知らないと、さらに大変になりうる

    • 参考: Divepod

    • 私は複数の人のセルフラーニングの過程をメンタリングした経験がある

      • セルフラーニングにはさまざまな落とし穴があり、注意しないと間違った道に進みやすい
      • 予想外だったが後になると少し当然に感じられた落とし穴の一つは、RedditやTwitchで業界の不満を聞いていると、実際の実力はあまり意味がなく、面接スキルだけが重要だと信じやすくなること
      • その結果、実際にはコーディング力やプロジェクトをおろそかにしてLeetCodeに全振りしたり、READMEだけ立派な未完成プロジェクトをGitHubに上げたりすることが起こる
      • S.T.A.R.面接フォーマットのように、回答を暗記することだけに集中する
      • しばらくはこの戦略が通用したが、今では企業が「プロ面接屋」をよりうまく見抜くようになっている
      • こうしたマインドはセルフラーナー特有の問題ではなく、大学でも卒業証書という「紙切れ」だけを狙ってカンニングし、実際の学習を軽視する現象が起きる
      • いざ卒業後になると、期待に反して面接で不意を突かれる
  • 私は高校卒業直後、若さゆえにCS学位をきちんと終えられず、良い機会を逃してしまった

    • 結婚して子どもができてからIT学位をすばやく取り終えたが、本来いちばん好きだったのはCSだった
    • 数年前、CS教育をきちんと修了することがキャリア的に大きな助けになると判断した
    • 2つ目の学士、ポストバカロレア、ブートキャンプなどさまざまな選択肢を検討した末、最終的にOSSUを選んだ
    • 予想より時間はかかったが(人生はいつも変数だらけ)、カリキュラムについては良いことしかない。キャリアだけでなく人生の満足度も上がった
    • こうしてOSSUを選んだ理由や感想などをブログにまとめた ブログ最初の記事
  • 個人的には Teach Yourself CS のほうがより良い代替案だと思う

    • 私もコンピュータサイエンス学習を補うためにTeach Yourself CSを検討したことがある
      • ただ、コミュニティがないことがOSSUを選んだ主な理由だった
      • 気になる点: コミュニティの重要性を踏まえて、なぜTeach Yourself CSがOSSUより良いと思うのか知りたい
      • ちなみに私はOSSUコホートの「ソーシャルオーガナイザー」として活動し、ときどきOSSUの感想もブログに書いている
  • 私はセルフラーニングだけでも十分にキャリアを築けることを証明する事例だ

    • すでに20年以上この業界で働いている

    • ただし、この道を選ぶと「絶対に」行けない会社や役割が確かに存在する

    • こうした会社はたいてい最高の企業、最も高給な場所、条件の良い職場を意味する

    • 学位そのものよりもっと重要なのは同窓ネットワークだ。学位があると、その学校の出身者が無条件で採用してくれる「大きなクラブ」が存在する

    • セルフラーニングではそのネットワークを決して持てない

    • 現実はどうか。みんなが断るような職場ばかりが残る。とんでもない場所、詐欺、資金不足のスタートアップ、すでに危機にある会社だらけ

    • ごくまれに良いポジションを得ても、長くとどまるのは難しい

    • 年収は低く、簡単に搾取されるリスクも大きい

    • 複数オファーを得るのも難しいので、市場での立場が狭まる

    • このため、キャリア全体が経済的にまったく別のトラックのように感じられることがある

    • 就職活動ははるかに大変で、2倍は努力しなければならない

    • 自分自身からも同僚からも、「自分は資格不足ではないか」というような疑いをしばしば向けられる

    • 1回のミスの波及が非常に大きい

    • それでも何もしないよりはましだが、機会があるなら学校へ行くほうが良いと思う

    • あなたの経験を軽んじたいわけではないが、私は100%セルフラーニングでさまざまな企業(大企業、ユニコーン、スタートアップなど)で働いてきた経験がある

      • GoogleやCitadelで面接を受け、Metaのオファーもあり、機会が閉ざされたり疑われたりしたことは一度もなかった
      • 年間現金報酬20万ドル以上で、アーリーステージのスタートアップで株式と福利厚生も受けている
      • 2回のエグジットも経験し、大富豪ではないが一般的な基準では十分に裕福だ
      • 学歴のせいで経済的に損をしたことはない
      • 19歳からプログラミングとスタートアップ経験を始めたことが、早期参入の利点だったのかもしれない
      • あるいは運が良かっただけかもしれないが、セルフラーニングを最初からやめろと助言するのは若い人たちにとってむしろ害だと思う
    • 私は数年間ソフトウェア開発者として働いた後、CS学位のために学校へ戻った

      • すでに歴史学専攻で90単位を持っている状態から、3年間しっかり準備されたカリキュラムで学んだ
      • この方法が自分の開発力をはるかに高めてくれたと思う
      • 一人でもできるが、ほとんどの人はこの境地には決して到達しない
      • 私より実力のあるセルフラーニングの開発者も確かにいたが、彼らも4年制のCSプログラムを経験していたらもっと良くなっていただろうと感じる
    • この話にはある程度真実があるが、たいていは初期段階か、自分の実力が同僚グループの下位にいるときに限られる

      • その後はネットワーク力と運(思っているよりずっと重要な要素)に大きく左右される
      • 大学は初期のキャリア形成において、何かに追いつけるという信頼と「卒業証書」という証明を与える
      • その過程でネットワークも作るが、結局最初の2つの職を過ぎると学位の効用は急速に薄れる
      • 私の経験では(あくまで個人的事例だが)、学位なしで始めて10年以上たってから、面白半分で学位を取った
      • 職業的には何の価値もなく、その後のあらゆる機会はすべて現場の同僚からの紹介やリファレンスだった
      • 学位は、予想していなかったテーマにも触れられる良い機会ではあった
    • 私はADHD気味で、自閉スペクトラムも多少ある

      • 大学には3回通ったが、費用、退屈さ、父のがんによる死など個人的な問題ですべて中退した
      • Cコンパイラ会社のテクニカルサポートから開発者としてのキャリアを始めた
      • NY証券取引所、大手ブローカレッジ、有名フィンテック、そして銀行や決済会社向けコンサルティングまで、さまざまな経歴がある
      • もともと独学に慣れていたので、学校環境と合わなかった
      • 開発分野で学位が問題になったのはごくまれで、実際には誰も気にしたことがない
      • ソフトウェア開発職に限れば、学位はほとんど、あるいはまったく意味がない
    • この話でよく忘れられるが、コンピュータサイエンスを学ぶ最大の理由は、必ずしも就職や職務スキル向上のためだけではない

      • 「面白さ」こそが本当の動機だ
      • 生涯にわたって学問そのものを楽しめるし、実践的プログラミングと理論、計算の数学的背景、コンピューティングの歴史のどの面でも大きなやりがいがある
      • 「CSを学ぶな」といった類いのニュース記事は、本当の意味を取り逃していると思う
  • カリキュラムが「無料かつオープンソース」の講義だけで構成されていることで、むしろ限界があるのではないかと気になる

    • きちんと学ぶなら、質の高い資料にお金を投資することもためらうべきではないと思う

    • この意見には同感

      • たとえば離散数学の科目では、Discordサーバー内でもMITの講義は良い教科書1冊にも及ばないという意見が多い
      • ただし、無料/オープンソースの質の高い教材はほとんどない
      • 私もOSSUで勉強しているが、『Discrete Mathematics with Applications』(著者 Susanna Epps、中古で50ドル)で学んでいる
      • 公式カリキュラムからは外れるが、それでもなおOSSUをやっているつもりだ
  • 学位はたいていの社会的な弱点を相殺する効果があると思う

    • 紙の卒業証書は「私は3〜4年間この分野に投資し、最低限の知性と献身を備えている」というシグナルだ
    • ソーシャルスキルが不足していても、とりあえず持っていること自体が利点になる
    • セルフラーナーにはこのシグナルがないので、ネットワーキング/コミュニケーションスキルが非常に高いか、とても運が良くなければならない
    • 実際、ソーシャルスキルが非常に高ければほぼ無敵で、実力が不足していても話術で大半を解決できてしまうこともある
  • 多くのコメントでは、学校がネットワークを作ってくれるとか、特定の学校出身者だけを採用するという話が混ざっている

    • 大学や経歴内の人脈を通じて求職機会が増えるのは事実だ

    • しかしキャリアが積み上がるほど、大学以後に築かれた人脈の力のほうが強くなる

    • 特定大学の学位や博士号が必要なポジションでは、ネットワークよりも「シグナル」としての意味が大きい

    • つまり、採用側がそれ以上尋ねなくてもよい、信頼できるシグナルだ

    • セルフラーナーはこれを迂回するか、追加の努力が必要になる

    • 自分のつながりや成果物で注目を集めたり、推薦を受けて通常の採用プロセスを回避したりする方向を目指すべきだ

    • 「そもそもチャンス自体が消える」という話を聞くと、「運は戦略ではないが、試行回数を増やせば幸運の確率は上がる」という話を思い出す

      • ネットワークとは、すなわち機会そのものを増やすこと
      • 実際、友人が職場のソフトボールリーグに参加し、そこでのネットワークのおかげで新しい仕事を得た例がある
  • 目標がいったい何なのか気になる

    • 本当に就職が目標なら、コミュニティカレッジ程度の教育のほうが実用的だと思う
    • 純粋にお金を稼ぐのが目的なら、むしろ neal.fun や levels.io のやり方のほうが早いと思う
    • 学位証書もないのなら、いっそYOLO戦略のほうが良いのではないかという気もする
    • 結局残るのは、純粋な知的好奇心、ただ楽しみのために学ぶことだけではないか
  • こういう議論では、両側ともやや過剰に防御的になっているのが少し残念だ

 
soonil 2025-05-29

本当に素晴らしいですね