Menjadi benar-benar otodidak programmer, saya akan suka jika aku bisa lebih baik sendiri oleh diri-belajar ilmu komputer saja diajarkan khas CS grad.
Menemukan sumber daya yang berbeda di internet sudah mudah, ada saja MIT open course ware, dan ada Coursera mata kuliah dari Stanford dan universitas-universitas lain. Ada banyak sumber terbuka lainnya tersebar di Internet dan beberapa buku-buku bagus yang berulang kali dianjurkan.
Saya telah belajar banyak, tapi saya belajar sangat terfragmentasi, yang benar-benar mengganggu saya. Saya akan senang Jika di suatu tempat, aku bisa menemukan jalan saya harus mengikuti dan setumpuk saya harus membatasi diri, sehingga saya dapat yakin tentang apa yang penting bagian ilmu komputer saya telah mempelajari, dan kemudian secara sistematis pendekatan yang saya belum't.
Masalah dengan Wikipedia itu doesn't memberitahu anda apa yang's penting, tapi bersikeras menjadi referensi yang lengkap.
MIT open course ware ilmu Komputer dan Listrik Engg. memiliki daftar besar dari kursus juga tidak memberitahu anda apa program yang penting dan apa yang opsional seperti per orang's minat/kebutuhan. Saya menemukan tidak menyebutkan urutan di mana seseorang harus mempelajari mata pelajaran yang berbeda.
Aku akan senang untuk membuat daftar yang dapat saya ikuti, seperti boneka ini satu
SUBJECTS DONE
Introduction to Computer Science *
Introduction to Algorithms *
Discrete Mathematics
Adv. Discrete Mathematics
Data structures *
Adv. Algorithms
...
Seperti yang anda dapat melihat dengan jelas, saya memiliki sedikit gagasan tentang apa yang spesifik mata pelajaran ilmu komputer terdiri dari.
Itu akan sangat membantu, bahkan jika seseorang menunjukkan penting program dari MIT Course ware ( + esensial mata pelajaran tidak hadir di MIT OCW) dalam pesanan yang direkomendasikan dari penelitian ini.
I'll daftar Posting saya sudah pergi melalui (dan saya didn't mendapatkan apa yang saya cari ada)
https://softwareengineering.stackexchange.com/questions/49557/computer-science-curriculum-for-non-cs-major - jawaban atas mengatakan itu bukan't layak belajar cse
https://softwareengineering.stackexchange.com/questions/110345/how-can-a-self-taught-programmer-learn-more-about-computer-science - poin untuk MIT OCW
I've melihat beberapa materi kuliah dari MIT, dan itu teramat buruk. Mereka memiliki bahan ajar yang diperlukan VC5, tandan implisit variabel global, lewat warna sebagai "Blue" bukan 32bit ARGB, apalagi 4x [0,1] mengapung, hal-hal semacam itu. Saya tidak't trust kurikulum atau kode hanya karena berasal dari nama besar universitas.
Saya CS derajat (dari universitas yang adalah top 10 di INGGRIS untuk CS) terdiri dari:
Tahun pertama:
Tahun kedua:
Tahun ketiga:
Seperti yang anda'll perhatikan, cukup banyak segala sesuatu yang "dasar-dasar" sesuatu dan hampir tidak ada yang ditutupi untuk berguna mendalam.
Hal-hal yang benar-benar layak dilakukan, penting:
Hal-hal yang layak dilakukan, opsional:
Hal-hal yang's penting tapi aku tidak't menutupi hal pula:
Sisanya adalah buang-buang waktu. Sayangnya, sebagian besar dari sembilan poin saya juga sudah tahu, atau mengambil bagian yang berguna di tempat lain. Jika anda membaca tentang hal-hal seperti FizzBuzz masalah itu dengan cepat menjadi jelas bahwa anda don't benar-benar perlu untuk tahu semua itu jauh berada di atas dari paket - yang beruntung, karena gelar saya dan banyak dari bahan-bahan I've melihat secara online untuk derajat lainnya benar-benar tidak mengajar sama sekali.
Open Course ware adalah daftar program studi yang mereka telah tersedia. Jika anda ingin tahu apa yang mahasiswa akan diambil, ayunan oleh MIT's(non OCW) situs web dan melihat program yang sebenarnya. Mereka memiliki daftar apa yang diperlukan dan apa yang dianggap prereq untuk apa. Berikut ini adalah halaman mereka.
Coba 2001 Ilmu Komputer kurikulum rekomendasi dari ACM/IEEE, terkait berikut ini: http://www.acm.org/education/curricula-recommendations
bersama dengan 2008 CS update.
Halaman 17 dari tahun 2001 laporan grafik berguna yang menggarisbawahi semua "core" pengetahuan dan masih ada daftar pilihan.
Program sarjana tidak't memiliki waktu untuk menutupi bahkan kursus yang dianggap inti dengan rekomendasi ini, sehingga mereka akan lump beberapa kategori bersama-sama dan biarkan siswa memilih di antara mereka (misalnya, Sistem Operasi, Bahasa Pemrograman, dan Rekayasa perangkat Lunak mendapatkan dikelompokkan ke dalam perangkat Lunak, dan siswa memilih track).
Anda dapat menemukan perkuliahan di departemen CS website untuk hampir semua sekolah, dan mereka harus beberapa versi ini.
Jika saya bisa, saya'd sarankan bergabung dengan github.com bagian dari proses belajar anda.
Kemudian anda dapat mencari di sekitar untuk kode yang memiliki beberapa aplikasi dunia nyata yang anda're tertarik, clone itu untuk diri anda sendiri, bekerja dengan itu, kode, dan mendapatkan untuk tahu itu, dan akhirnya mulai mengirimkan patch kembali ke sumber proyek, dan down line akan bekerja pada sebuah proyek open source yang anda memiliki kepentingan dalam.
Dan, tentu saja, anda'll mendapatkan akrab dengan git, yang semua baik.