de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Optimus
Optimus
Question

Bagaimana saya benar-mandiri-belajar Ilmu Komputer?

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

https://softwareengineering.stackexchange.com/questions/49167/studying-computer-science-what-am-i-getting-myself-into

https://softwareengineering.stackexchange.com/questions/19912/overview-of-computer-science-programming

46 2012-06-10T11:50:44+00:00 4
 Community
Community
Pertanyaan edit 12 April 2017 в 7:31
Rekayasa Perangkat Lunak
computer-science
self-improvement
Solution / Answer
 DeadMG
DeadMG
10 Juni 2012 в 12:23
2012-06-10T12:23:13+00:00
Lebih
Sumber
Sunting
#40608069

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:

  1. OOP - super dasar-dasar
  2. Sistem komputer - hal seperti, binary integer representasi.
  3. Dasar teori database relasional
  4. Matematika untuk CS - sederhana 2D dan 3D geometri.
  5. Sedikit HTML/JS - lengkap pemula's stuff
  6. Sama-sama kecil sedikit dari PHP.
  7. Anak laki-laki dari pemrograman fungsional

Tahun kedua:

  1. Masalah hukum dalam komputasi - hal seperti, hukum-hukum seputar perlindungan data pengguna
  2. Bahasa pemrograman - hirarki Chomsky dan lexing ditutupi
  3. Sistem operasi, Jaringan, dan Internet - sebagian besar hal-hal seperti memori virtual dan paging, IP stack
  4. 2D grafis komputer - kebanyakan hanya membuktikan theorems yang mendasari matematika
  5. AI - deskripsi dasar dari jaringan saraf, Bayesian sistem kepercayaan, dll.
  6. Analisis kebutuhan - gambaran singkat tentang UML, fungsional/persyaratan nonfungsional.
  7. Tim proyek

Tahun ketiga:

  1. Analisis algoritma - teori kompleksitas, sebagian besar
  2. Implementasi dari bahasa pemrograman - LL/LR parsing teknik, CFGs, dan hal-hal seperti itu.
  3. Manajemen Proyek perangkat lunak - lihat air Terjun/Agile model
  4. Internasional Komputasi - Unicode dan lokalisasi lain menyenangkan
  5. Lanjutan AI - don't tahu, jujur, dan I've mendapat ujian pada itu segera
  6. Komputer grafis 3D - sebagian besar, sekali lagi, hanya membuktikan theorems untuk rotasi matrik dan seperti
  7. Agen berbasis Sistem - sebagian besar tentang asynchronous agen berkomunikasi, mencapai keputusan kelompok, dll.
  8. Mikroprosesor Aplikasi - proses pengolahan sinyal digital
  9. Robotika - mencakup hal-hal seperti visi komputer dan robot keputusan keputusan di tingkat tinggi

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:

  1. OOP - dan kemudian beberapa lagi, dan kemudian beberapa lagi
  2. Pemrograman fungsional - juga lebih banyak. Cobalah untuk memilih bahasa seperti C++ atau C# di mana anda don't harus kembali belajar sintaks dan alat-alat, dll, untuk menutupi kedua gaya.
  3. OS bagian - virtual memori adalah baik untuk mengetahui tentang, seperti kernel mode vs user mode. Skip segmentasi dan IP stack.
  4. Analisis kebutuhan - Harus berguna untuk setiap proyek
  5. Analisis algoritma - mengetahui apa yang algoritmik kompleksitas adalah, bagaimana untuk mengurangi itu, dan apa kompleksitas umum operasi adalah penting.
  6. Manajemen proyek perangkat lunak model - banyak toko-toko yang tidak Lincah dan banyak orang tua masih melakukan Terjun-gaya model.
  7. Internasional komputasi - Unicode adalah penting

Hal-hal yang layak dilakukan, opsional:

  1. Bahasa pemrograman - hirarki Chomsky, alat-alat lexing dan parsing. Skip teori di balik LL atau LR parsers - an LR parser dapat menerima hampir semua realistis jelas CFG, dan ketika itu dapat't, anda parser generator's dokumentasi akan memberitahu anda tentang hal itu.
  2. Grafis 3D. Saya don't berarti "Membuktikan ini adalah rotasi matriks formula" limbah dari waktu, maksudku yang sebenarnya "Ini adalah vertex shader" barang-barang, atau GPGPU. Yang's menyenangkan, menarik, dan berbeda.
  3. Beberapa dari AI hal-hal menyenangkan seperti potensi bidang dan pathfinding.

Hal-hal yang's penting tapi aku tidak't menutupi hal pula:

  1. Concurrency - harus-tahu, setidaknya dasar-dasar, bagi siapa saja di tahun 2012.

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.

 DeadMG
DeadMG
Jawaban edit 10 Juni 2012 в 12:42
24
0
 stonemetal
stonemetal
10 Juni 2012 в 12:16
2012-06-10T12:16:50+00:00
Lebih
Sumber
Sunting
#40608068

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.

 stonemetal
stonemetal
Jawaban edit 10 Juni 2012 в 2:35
5
0
Ruan Caiman
Ruan Caiman
11 Juni 2012 в 4:41
2012-06-11T16:41:49+00:00
Lebih
Sumber
Sunting
#40608071

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.

5
0
 Kzqai
Kzqai
10 Juni 2012 в 9:57
2012-06-10T21:57:50+00:00
Lebih
Sumber
Sunting
#40608070

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.

-4
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
UbiBot UK
Terdaftar 14 jam yang lalu
2
Галина Утяшова
Terdaftar 1 hari yang lalu
3
Asilbek Qadamboyev
Terdaftar 4 hari yang lalu
4
Akshit Mehta
Terdaftar 1 minggu yang lalu
5
me you
Terdaftar 1 minggu yang lalu
ID
JA
KO
RU
© de-vraag 2022
Sumber
softwareengineering.stackexchange.com
di bawah lisensi cc by-sa 3.0 dengan atribusi