Open Source Society University – Roadmap Gratis untuk Belajar Mandiri Ilmu Komputer
(github.com/ossu)- Kurikulum OSSU menyediakan kurikulum pendidikan ilmu komputer yang lengkap secara gratis melalui materi online dari universitas-universitas terbaik dunia
- Tersusun seperti kurikulum sarjana ilmu komputer, dari pengantar, inti, lanjutan, hingga proyek akhir
- Semua kuliah dan tugas gratis atau sebagian besar gratis, meski beberapa tugas penilaian dapat menimbulkan biaya
- Jaringan dukungan pembelajar global yang aktif seperti komunitas Discord serta pembaruan materi terus dikelola
- Pembelajar dapat menyesuaikan progres dan pilihan belajar secara fleksibel, baik mandiri maupun dalam kelompok, sesuai kondisi masing-masing
Apa itu OSSU dan mengapa penting
OSSU(Open Source Society University) adalah kurikulum open source yang dirancang agar siapa pun dapat menempuh pendidikan setingkat gelar resmi ilmu komputer secara mandiri tanpa biaya. Kurikulum ini memanfaatkan kuliah dan materi terbuka dari universitas terbaik dunia seperti Harvard, MIT, dan Princeton, dengan tujuan memberikan pengalaman belajar yang seimbang berbasis teori, praktik, dan penerapan, bukan sekadar penyampaian pengetahuan sesaat.
- Semua materi belajar dipilih dari sumber gratis berkualitas tinggi yang tersedia secara online
- Mengacu ketat pada standar program sarjana dasar ilmu komputer internasional seperti CS2013
- Ditujukan terutama bagi orang yang mampu menjaga motivasi diri dan kebiasaan belajar berkelanjutan, serta mau memanfaatkan bantuan dari komunitas pembelajar global
Struktur kurikulum dan karakteristiknya
- Pengantar (Introduction to CS) : memungkinkan pembelajar merasakan konsep dasar dan keseruan ilmu komputer serta pemrograman. Mencakup pemrograman Python, teori komputasi, struktur data dasar, algoritme, dan lain-lain
- Inti (Core CS) : bagian yang setara dengan kurikulum tahun ketiga universitas, mencakup pemrograman (fungsional, berorientasi objek, desain perangkat lunak), matematika (matematika diskrit, statistika, probabilitas, kalkulus), sistem (arsitektur komputer, OS, jaringan), teori (algoritme, masalah NP, dll.), keamanan, penerapan, dan etika sebagai komponen wajib
- Lanjutan (Advanced CS) : setara dengan tahun terakhir. Pembelajar dapat memilih bidang minat seperti pemrograman lanjutan, sistem, teori, keamanan informasi, atau matematika tingkat lanjut
- Proyek akhir: menerapkan pengetahuan yang telah dipelajari melalui proyek nyata, lalu membagikan dan memverifikasi hasilnya bersama sesama pembelajar global. Dapat dimanfaatkan sebagai bukti kemampuan kerja dan portofolio untuk melamar kerja
Cara belajar dan biaya
- Kurikulum dapat dipelajari secara mandiri atau dalam kelompok
- Setiap mata kuliah direkomendasikan untuk diambil berurutan, tetapi bagian yang sudah dikuasai dapat dilewati
- Semua kuliah tersedia gratis secara online. Di beberapa platform seperti Coursera dan edX, biaya mungkin dikenakan untuk penilaian tugas/ujian/proyek, tetapi dalam sebagian besar kasus proses belajarnya sendiri tetap gratis. Untuk meringankan beban biaya, informasi bantuan keuangan (beasiswa/Financial Aid) juga disediakan
- Tersedia template Google Spreadsheet untuk membantu mengelola progres belajar dan perkiraan tanggal selesai
Komunitas dan dukungan
- Tersedia server Discord untuk peserta — diskusi kuliah, tanya jawab, dan koneksi antar rekan belajar berlangsung aktif
- Ada saluran umpan balik aktif seperti GitHub Issue dan usulan perbaikan kurikulum
- Riwayat penyelesaian OSSU dapat ditambahkan ke profil LinkedIn
Disarankan memeriksa kurikulum terbaru melalui situs resmi dan repositori GitHub
Daftar rinci kurikulum
Prasyarat
- Core CS mensyaratkan matematika tingkat sekolah menengah atas (aljabar, geometri, tahap pra-kalkulus)
- Advanced CS hanya dapat dipilih setelah seluruh proses inti selesai
- Mata kuliah Advanced systems memerlukan pengetahuan dasar fisika tingkat sekolah menengah atas
Pengantar CS(Introduction to CS)
- Langkah pertama dalam ilmu komputer. Memperkenalkan operasi dasar, pemrograman imperatif, struktur data, algoritme, dan sebagainya
- Kuliah wajib: 'Introduction to Computer Science and Programming using Python' (14 minggu)
Inti CS(Core CS)
Pemrograman
- Praktik luas mencakup fungsional/berorientasi objek/pengujian/pola/typing/keragaman bahasa
- Systematic Program Design, Programming Languages (A–C), Object-Oriented Design, Software Architecture, dan lain-lain
Matematika
- Mencakup matematika diskrit, pembuktian matematis, statistika dasar, notasi O, probabilitas, dan kalkulus
Alat dan lingkungan pengembangan
- Alat penting untuk praktik kerja seperti terminal, shell scripting, vim, command line, dan version control(git)
Sistem
- Pemahaman menyeluruh tentang cara kerja komputer dari perangkat keras hingga sistem operasi dan jaringan
- Contoh: proyek Nand to Tetris, OS Three Easy Pieces, Networking, dan lain-lain
Teori
- Mencakup analisis algoritme, divide and conquer, graf, dynamic programming, masalah NP, dan lain-lain
Keamanan
- Dasar-dasar keamanan informasi, secure coding, analisis kerentanan, serta mata kuliah pilihan tentang jaringan/kriptografi
Penerapan
- Menjangkau area penggunaan praktis secara luas seperti database, machine learning, computer graphics, dan software engineering
Etika
- Menekankan etika penting bagi teknolog, seperti konteks sosial teknologi, profesionalisme, hak kekayaan intelektual, dan privasi data
Lanjutan CS(Advanced CS)
- Pilihan berdasarkan karier/bidang minat. Termasuk parallel programming, compiler, bahasa seperti Haskell/Prolog, debugging/testing perangkat lunak
- Tersedia banyak opsi seperti arsitektur komputer, numerical analysis/logic/probability, teori komputasi, keamanan informasi, dan pembangunan sistem
Proyek Akhir(Final Project)
- Memilih proyek praktis lalu merancang, mengimplementasikan, dan membagikannya
- Contoh opsi: layanan full-stack, robotika, data mining, big data, IoT, cloud computing, data science, game development, dan lain-lain
- Dapat dikerjakan secara mandiri atau menggunakan course yang direkomendasikan
Setelah menyelesaikan pembelajaran
- Menjadi bukti penguasaan pengetahuan yang setara dengan gelar sarjana di bidang CS
- Direkomendasikan untuk melanjutkan ke persiapan kerja, bacaan lanjutan (daftar disediakan), dan pertemuan developer offline
- Didorong untuk mengeksplorasi teknologi baru seperti bahasa Elixir/Rust/Idris
Aturan operasional dan tim
- Patuhi Kode Etik OSSU
- Panduan tersedia untuk menandai dan mengelola progres pribadi di GitHub (menggunakan kanban)
Tim inti OSSU
- Eric Douglas(pendiri OSSU), Josh Hanson(technical maintainer), Waciuma Wanjohi(academic maintainer), serta kontributor lain dari seluruh dunia
Penutup
OSSU membuka jalan bagi siapa pun di seluruh dunia untuk membangun kemampuan setingkat gelar resmi ilmu komputer secara gratis dan memasuki praktik kerja serta jalur karier industri IT modern secara luas.
Kombinasi progres yang fleksibel, standar yang ketat, komunitas global, dan materi gratis berkualitas tinggi menjadi keunggulan besar dibanding kurikulum terbuka lainnya.
4 komentar
> Saya rasa artikel berita bergaya "jangan belajar ilmu komputer" itu melewatkan makna yang sebenarnya.
Terjemahannya jadi enak banget, lucu juga wkwkwk
OSSU Open Source Society University - Belajar Computer Science secara otodidak
Sepertinya ini pernah diperkenalkan pada masa awal GeekNews. Selama itu, sudah cukup banyak hal yang ditambahkan.
Opini Hacker News
Sebagai seorang engineer berpengalaman, saya pikir OSSU adalah tempat yang sangat bagus jika Anda ingin membantu para pelajar
Saya menjalankan program pendidikan yang membantu siswa belajar computer science secara mandiri. Saya juga sering menggunakan kurikulum OSSU sebagai referensi
Self-learning punya banyak kelebihan, tetapi para siswa juga harus benar-benar paham bahwa ada hal-hal yang perlu diwaspadai
Mereka harus lebih aktif sendiri dalam urusan ‘signaling’ dan networking, dan keuntungan sosial yang biasanya didapat saat menjadi bagian dari universitas cenderung kurang dalam self-learning
Tidak punya gelar bisa dibilang sebagai kondisi ‘marked’; penjelasannya bisa dilihat di sini
Ketika melakukan kesalahan atau mengalami kesulitan, penyebabnya jadi mudah disalahkan pada fakta bahwa Anda tidak punya gelar
Beberapa perekrut juga menganggap mempekerjakan orang tanpa gelar sebagai risiko politik, jadi bisa saja sulit bahkan untuk masuk kerja
Ini bukan hal yang mustahil diatasi, tetapi karena itulah kami menyiapkannya sejak awal dan menghadapinya bersama
Kelebihan self-learning adalah kecepatan belajar yang lebih tinggi, tidak perlu mengulang hal-hal yang tidak berguna, dan bisa mempelajari semuanya dalam konteks yang lebih utuh
Kalau nanti sadar fondasinya kurang, Anda bisa kembali dan mempelajarinya saat itu juga
Saya pikir ini adalah cara belajar yang pada akhirnya tak terhindarkan di pekerjaan teknis, tetapi memang tidak cocok untuk semua siswa
Secara realistis, sering kali orang ‘terpaksa’ self-learning karena kondisi finansial membuat mereka tidak bisa kuliah, dan itu cukup disayangkan
Kalau tidak paham trade-off-nya, ini bisa jadi jauh lebih berat
Referensi: Divepod
Saya punya pengalaman membimbing proses self-learning banyak orang
Saat baru lulus SMA, saya yang masih muda tidak berhasil menyelesaikan gelar CS dengan baik dan kehilangan peluang bagus
Secara pribadi saya merasa Teach Yourself CS adalah alternatif yang lebih baik
Saya adalah contoh bahwa Anda tetap bisa membangun karier hanya dengan self-learning
Saya sudah bekerja di industri ini lebih dari 20 tahun
Namun, kalau memilih jalur ini, jelas ada perusahaan dan peran yang ‘tidak akan pernah’ bisa Anda masuki
Perusahaan-perusahaan ini umumnya adalah yang terbaik, dengan gaji tertinggi, dan kondisi kerja terbaik
Bukan gelarnya saja, yang lebih penting adalah jaringan alumninya. Jika punya gelar, ada ‘klub besar’ tempat sesama alumni akan mempekerjakan Anda begitu saja
Kalau self-learning, Anda tidak akan pernah punya jaringan itu
Realitanya? Yang tersisa sering kali hanya pekerjaan yang ditolak semua orang. Tempat yang aneh, scam, startup kekurangan dana, atau perusahaan yang sudah dalam krisis
Kalaupun sangat jarang dapat posisi bagus, sulit untuk bertahan lama di sana
Gajinya rendah, dan risikonya dimanfaatkan juga besar
Karena sulit mendapat banyak offer, posisi tawar Anda di pasar mengecil
Akibatnya, seluruh karier Anda bisa terasa berjalan di jalur finansial yang benar-benar berbeda
Mencari kerja jadi jauh lebih sulit, Anda harus berusaha dua kali lebih keras
Anda juga akan sering menghadapi semacam keraguan soal ‘kelayakan’ dari diri sendiri maupun rekan kerja
Satu kesalahan saja dampaknya bisa sangat besar
Tetap saja, ini lebih baik daripada tidak melakukan apa-apa, tetapi kalau ada kesempatan, saya rasa lebih baik tetap kuliah
Saya tidak bermaksud meremehkan pengalaman Anda, tetapi saya 100% self-taught dan sudah bekerja di berbagai perusahaan—korporasi besar, unicorn, startup, dan lain-lain
Saya bekerja beberapa tahun sebagai software developer, lalu kembali ke sekolah untuk mengambil gelar CS
Cerita ini ada benarnya sampai batas tertentu, tetapi kebanyakan hanya berlaku di awal karier dan saat kemampuan Anda berada di kelompok bawah dibanding rekan-rekan Anda
Saya cenderung ADHD, dan sampai tingkat tertentu juga ada di spektrum autisme
Hal yang sering dilupakan dalam pembahasan ini adalah bahwa alasan terbesar mempelajari computer science tidak harus demi pekerjaan atau meningkatkan skill kerja
Saya penasaran apakah kurikulum ini justru terbatas karena hanya terdiri dari kuliah yang ‘gratis dan open source’
Menurut saya, kalau ingin belajar dengan benar, kita juga tidak boleh ragu mengeluarkan uang untuk materi yang benar-benar berkualitas
Saya setuju dengan pendapat ini
Saya pikir gelar punya efek menutupi sebagian besar kelemahan sosial
Banyak komentar di sini mencampuradukkan soal sekolah yang membangun jaringan atau hanya mempekerjakan lulusan sekolah tertentu
Memang benar bahwa peluang kerja lewat koneksi kampus/karier jadi lebih banyak
Tetapi seiring karier berkembang, kekuatan koneksi yang dibangun setelah masa kuliah menjadi lebih besar
Posisi yang benar-benar membutuhkan gelar dari universitas tertentu atau gelar doktor lebih bermakna sebagai ‘sinyal’ daripada sebagai jaringan
Artinya, itu adalah sinyal yang bisa dipercaya oleh perekrut tanpa perlu banyak bertanya lagi
Self-learner harus mem-bypass ini atau mengeluarkan usaha tambahan
Arahnya biasanya dengan menarik perhatian lewat koneksi pribadi atau hasil kerja, atau mendapatkan rekomendasi agar bisa melewati proses rekrutmen umum dan memperoleh kesempatan
Ketika mendengar ungkapan “kesempatannya benar-benar hilang”, saya jadi teringat pada gagasan bahwa ‘keberuntungan bukan strategi, tetapi makin banyak percobaan akan memperbesar peluang datangnya keberuntungan’
Saya penasaran sebenarnya apa tujuannya
Agak disayangkan bahwa dalam diskusi seperti ini, kedua belah pihak tampak terlalu defensif
Benar-benar keren.