Pendidikan diri-dalam-komputer-sains
Program yang sepenuhnya gratis untuk mempelajari kursus ilmu komputer menurut kursus
Pengantar Ilmu Komputer (1-2 minggu)
- Tinjauan Ilmu Komputer
- Pengantar Pemrograman
- Tinjauan Algoritma dan Struktur Data
- Organisasi dan Arsitektur Komputer Dasar
Sumber daya:
- Pengantar Ilmu Komputer oleh Universitas Harvard di EDX
- Codecademy's Learn How To Code Course
Fundamental Pemrograman (4-6 minggu)
- Pengantar bahasa pemrograman Python
- Pernyataan aliran kontrol
- Jenis dan Struktur Data
- Fungsi dan modul
- Operasi Input dan Output
- Debugging dan penanganan kesalahan
- Konsep Pemrograman Berorientasi Objek
Sumber daya:
- Python untuk semua orang oleh University of Michigan di Coursera
- Pelajari Python dengan cara yang sulit oleh Zed Shaw
Struktur dan Algoritma Data (12-16 minggu)
- Struktur Data Dasar (Array, Daftar Tertaut, Tumpukan, Antrian)
- Struktur Data Lanjutan (pohon, grafik, tabel hash)
- Analisis dan Desain Algoritma
- Algoritma pencarian dan penyortiran
- Rekursi
- Pemrograman Dinamis
- Algoritma serakah
- Bagilah dan menaklukkan algoritma
Sumber daya:
- Struktur Data dan Spesialisasi Algoritma oleh University of California, San Diego di Coursera
- Pengantar Algoritma oleh MIT Press
Arsitektur dan Sistem Komputer (8-12 minggu)
- Gambaran Umum Perangkat Keras Komputer dan Perangkat Lunak
- Sistem Operasi
- Manajemen memori
- Sistem Input/Output
- Jaringan Komputer
- Sistem Terdistribusi
Sumber daya:
- Arsitektur Komputer oleh Princeton University di Coursera
- Sistem Operasi: Tiga Potongan Mudah oleh Remzi H. Arpaci-Dusseau dan Andrea C. Arpaci-Dusseau
Sistem Database (8-12 minggu)
- Pengantar database
- Sistem Database Relasional (SQL)
- Desain dan Normalisasi Basis Data
- Menanyakan dan memanipulasi data
- Administrasi basis data
Sumber daya:
- Pengantar Database oleh Stanford University di Coursera
- SQLBOLT (tutorial SQL interaktif online)
Pengembangan Web (8-12 minggu)
- Pengembangan Front-End (HTML, CSS, JavaScript)
- Pengembangan back-end (kerangka kerja web, pemrograman sisi server)
- Integrasi Database (SQL, ORM)
- Keamanan dan otentikasi
Sumber daya:
- Proyek ODIN (Kurikulum Pengembangan Web Full-Stack Gratis)
- FreeCodecamp (Kurikulum Pengembangan Web Gratis)
Rekayasa Perangkat Lunak (8-12 minggu)
- Siklus hidup pengembangan perangkat lunak
- Manajemen Proyek Perangkat Lunak
- Persyaratan Rekayasa
- Pengujian dan jaminan kualitas
- Pemeliharaan dan Evolusi Perangkat Lunak
Sumber daya:
- Esensial Rekayasa Perangkat Lunak oleh University of Colorado Boulder di Coursera
- The Mythical Man-Month oleh Frederick P. Brooks Jr.
Kecerdasan Buatan dan Pembelajaran Mesin
- Tinjauan Kecerdasan Buatan dan Pembelajaran Mesin
- Algoritma pembelajaran yang diawasi (regresi linier, regresi logistik, pohon keputusan, mesin vektor dukungan, tetangga k-nearest, naif Bayes) (4-6 minggu)
- Algoritma pembelajaran tanpa pengawasan (pengelompokan, pengurangan dimensi) (4-6 minggu)
- Pembelajaran Penguatan
- Jaringan saraf dan pembelajaran mendalam (4-6 minggu)
- Pemrosesan bahasa alami
- Visi komputer
Sumber daya:
- Pembelajaran Mesin oleh Andrew NG di Coursera
- Pembelajaran mendalam oleh Yoshua Bengio, Ian Goodfellow, dan Aaron Courville
Grafik dan Visualisasi Komputer (8-12 minggu)
- Pipa grafis
- Transformasi geometris
- Primitif Grafis 2D dan 3D
- Teknik Rendering (penelusuran ray, rasterisasi)
- Animasi dan simulasi
- Teknik visualisasi
Sumber daya:
- Grafik komputer oleh University of Tokyo di EDX
- Rendering real-time oleh Tomas Akenine-Möller, Eric Haines, dan Naty Hoffman
Interaksi manusia-komputer (8-12 minggu)
- Prinsip Desain Antarmuka Pengguna
- Proses desain yang berpusat pada pengguna
- Pengujian dan evaluasi kegunaan
- Desain Interaksi
- Visualisasi Informasi
- Aksesibilitas
Sumber daya:
- Interaksi manusia-komputer oleh University of California San Diego di Coursera
- Jangan membuatku berpikir oleh Steve Krug
Cybersecurity (8-12 minggu)
- Keamanan Jaringan
- Kriptografi
- Otentikasi dan kontrol akses
- Analisis dan deteksi malware
- Penilaian dan Manajemen Risiko Keamanan
Sumber daya:
- Pengantar Cybersecurity oleh New York University Tandon School of Engineering di EDX
- Rekayasa Keamanan oleh Ross J. Anderson
Alat Pengembangan Perangkat Lunak (4-6 minggu)
- Sistem Kontrol Versi (GIT)
- Lingkungan Pengembangan Terpadu (IDE)
- Alat debugging dan profil
- Bangun Otomatisasi dan Integrasi Berkelanjutan (Jenkins)
Sumber daya:
- Buku Pegangan Git oleh GitHub
- Eclipse IDE Tutorial oleh Vogella
Matematika untuk Ilmu Komputer (8-12 minggu)
- Matematika diskrit
- Aljabar linier
- Probabilitas dan statistik
- Kalkulus
- Teori Angka
Sumber daya:
- Matematika untuk Ilmu Komputer oleh Institut Teknologi Massachusetts di MIT OpencourSeware
- Aljabar linier oleh Gilbert Strang di MIT Opencourseware
Etika dan Masyarakat dalam Komputasi (8-12 minggu)
- Masalah etika dalam komputasi
- Implikasi sosial dan politik dari komputasi
- Masalah privasi dan keamanan
- Kekayaan intelektual dan hak cipta
- Dampak Global Komputasi
Sumber daya:
- Komputasi dan Masyarakat oleh Harvard University di EDX
- Kode: Silicon Valley dan The Remaking of America oleh Margaret O'Mara
Semoga ini akan bermanfaat bagi semua pembaca sebanyak yang bermanfaat bagi saya juga. Harap diingat semua waktu yang diperkirakan untuk menyelesaikan kursus ini didasarkan pada memiliki pekerjaan penuh waktu saat belajar.