Algoritma untuk pengembangan Pembelajaran [ditutup]


16

Ini pertanyaan yang cukup umum. Saya tahu sedikit Perl dan Python dan saya ingin belajar pemrograman secara lebih mendalam sehingga begitu saya bisa menguasainya, saya bisa mulai mengembangkan aplikasi dan kemudian situs web.

Saya ingin mengetahui suatu algoritma (urutan langkah :)) yang dapat menggambarkan pendekatan saya terhadap pembelajaran pemrograman secara umum. Saya telah memposting pertanyaan kecil di Perl / Python dan saya telah menerima banyak bantuan dari semua orang.

Catatan: - Saya tidak terburu-buru untuk belajar. Saya tahu ini membutuhkan waktu dan itu tidak masalah.

Tolong beri saran yang menurut Anda valid. Juga, tolong jangan memaksaku untuk belajar Lisp, Haskell dll - Saya seorang pemula.


Apakah ada bahasa tertentu yang ingin Anda pelajari? Saya tahu Anda menyebutkan perl dan python, apakah itu yang Anda cari?
Jason

Jadi yang Anda minta adalah ... apa sebenarnya? Proses dimana Anda belajar bahasa tertentu? Pemrograman itu sendiri? Menggunakan apa?
glenatron

Saya pikir ini adalah pertanyaan yang bagus. Saya telah mengeditnya agar lebih jelas.
Gary Rowe

Jawaban:


28

Algoritma 11 langkah untuk mempelajari bahasa pemrograman baru

Saat ini saya sedang dalam proses belajar Lisp , dan saya akan merekomendasikan algoritma berikut:

  1. Tanyakan sekitar apakah bahasa itu layak dipelajari dan di mana sumber daya yang baik dapat ditemukan. Jika tanggapan positif terhadap bahasa diberikan oleh para ahli maka lanjutkan ke langkah 2.
  2. Buat lingkungan pemrograman awal. Tetap sederhana: editor teks dan kompiler / juru bahasa Minimal. Pertimbangkan akun pengguna tertentu pada mesin Anda dengan skema warna khusus untuk memberi isyarat perubahan pola pikir.
  3. Buat "Halo, Dunia!" aplikasi.
  4. Pelajari sintaksis umum dan pernyataan kontrol (jika-maka-lain, ulangi-sampai dll). Buat kotak pasir untuk memverifikasi kasus kontrol sederhana (evaluasi benar / salah dll). Cobalah setiap jenis primitif (int, dobel, string, dll). Lakukan perhitungan mata uang. Permainan tebak angka (seperti yang disarankan oleh @Jeremy ) bagus untuk ini.
  5. Buat kelas (jika ada) dengan beberapa metode / fungsi. Lakukan panggilan antar fungsi. Terapkan pernyataan kontrol.
  6. Pelajari array dan koleksi. Buat contoh kompleks yang sesuai yang membuat array dan koleksi masing-masing kelas / fungsi / primitif yang tersedia untuk Anda
  7. Pelajari file IO. Buat contoh membaca, memanipulasi dan menulis file berbasis biner dan karakter.
  8. Ajukan lebih banyak pertanyaan tentang pemrograman idiomatik dalam bahasa (pointer, makro, monad, penutup, kerangka kerja dukungan, lingkungan bangun dll).
  9. Pilih (atau sesuaikan IDE yang ada) untuk bekerja dalam idiom yang disarankan.
  10. Tulis berbagai aplikasi yang menyenangkan Anda (atau bos Anda).
  11. Setelah 1 tahun kembali ke langkah 1 untuk bahasa lain sambil tetap mempertahankan minat Anda pada bahasa yang baru saja Anda pelajari.

1
Saya telah menemukan permainan "menebak angka" sebagai program kedua yang bagus untuk ditulis. (Pada langkah 4.) Anda dapat mempelajari bilangan bulat, boolean, input / output teks, perulangan, dan kondisi.
Jeremy Heiler

@ Jeremy Saran bagus, saya taruh di sana.
Gary Rowe

Hai Gary- terima kasih untuk petunjuk terperinci saya akan mencoba memetakannya dengan python - penjelasan langkah demi langkah yang sangat bagus itulah sebabnya saya menyukai rantai forum ini ... @Jeremy ya saya ada di dalamnya :)
user9057

skema warna khusus untuk memberi petunjuk perubahan pola pikir , dapatkah Anda menjelaskan ini?
Santosh Kumar

Saya cenderung memilih skema warna yang lebih gelap ketika bekerja dengan Lisp tetapi menggunakan yang terang untuk Java. Warnanya mengingatkan saya untuk mengubah pola pikir saya.
Gary Rowe


2

Untuk setiap bahasa yang ingin Anda pelajari L

  • Langkah 1: Pelajari sintaks L.
  • Langkah 2: Tulis kompiler untuk Ldalam bahasa favorit Anda.
  • Langkah 3: Tulis kompiler untuk bahasa favorit Anda di L
  • Langkah 4: Menulis proyek besar secara idiomatis di L
  • Bonus: Pastikan hasil Langkah 2 kompatibel dengan hasil Langkah 4.

Itu harus cukup banyak untuk menutupinya, kembalilah kepada kami dengan laporan kemajuan dalam 10 tahun .

Jika semua yang Anda cari adalah belajar melakukan pengembangan web, dan Anda sudah tahu Perl dan Python, Anda sudah cukup banyak untuk memulai. Saya akan mengatakan mulai belajar seluk beluk Apache (dan khususnya mod_perldan mod_python), kemudian berlatih. Mungkin mengambil satu atau dua buku tentang pemrograman CGI, komunikasi jaringan dan semacamnya, daripada manual bahasa tertentu.

Sebagai catatan terakhir, menjadi pemula bukan alasan untuk tidak belajar Lisp. Periksa SICP dan ceramah videonya . Baik mengasumsikan tingkat keahlian dengan pengembangan, atau komputer. Bahkan mengutip pengantar video ceramah

Saya ingin menyambut Anda untuk kursus ini di Ilmu Komputer. [Menulisnya di papan tulis] Sebenarnya itu cara yang buruk untuk memulai. Ilmu komputer adalah nama yang mengerikan untuk bisnis ini. Pertama-tama, ini bukan sains [mencoret "sains"]. Mungkin rekayasa atau seni. [...] Ini juga tidak terlalu banyak tentang komputer [mencoret "komputer"]. Dan ini bukan tentang komputer dalam arti yang sama bahwa fisika tidak benar-benar tentang akselerator partikel. Dan biologi sebenarnya bukan tentang mikroskop dan cawan petri. -Hal Abelson


Terdengar menyenangkan. Sampai jumpa dalam 10 tahun!
Jeremy Heiler

+1 untuk langkah 2 tulis kompiler untuk L! Otak ... sakit .. sangat ... banyak ... sekarang.
Gary Rowe

-2

Saya tidak ingin banyak bicara kecuali dua langkah.

  1. Pelajari Struktur Data
  2. Pelajari Pengantar Algoritma

Pemrograman PS adalah tugas harian Anda.


Pada Programmer Anda didorong untuk "banyak bicara", jangan malu-malu :) Berikan beberapa detail pada saran Anda, seperti sumber daya, referensi atau contoh dari pengalaman Anda sendiri.
Matthieu

-2

Cara terbaik adalah mempelajari dasar-dasar / dasar-dasar bahasa pemrograman dan kemudian bergabung dengan perusahaan sebagai pengembang junior (kontraktor). Ini akan menjadi cara tercepat untuk belajar dan menghasilkan uang juga untuk waktu Anda;)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.