Kata Pengantar Cepat
Belajar dengan Melakukan: Pengetahuan vs Tahu-Bagaimana
Ada perbedaan pengetahuan dan pengetahuan yang sangat besar. Adalah kesalahan umum bagi pelajar baru untuk berpikir bahwa karena mereka dapat "memahami" suatu program ketika mereka membacanya, mereka benar-benar memahami alasan program tersebut ditulis sebagaimana adanya.
Dan satu-satunya cara untuk mencapai bagian kedua adalah berlatih. Duduk, buka editor teks, baris perintah, dan mulai.
Kemungkinan (dan diharapkan) bahwa pada tahap ini kemampuan Anda untuk memahami bagaimana beberapa komponen perangkat lunak yang kompleks saling berinteraksi terbatas. Dan itu sebenarnya hal yang baik, karena memaksa Anda untuk memulai dari dasar. Jangan lompat pistol dan bergerak dengan kecepatan yang tepat: mulailah dengan latihan kecil untuk tugas kecil.
Sejujurnya saya tidak pernah yakin bahwa mulai belajar pemrograman dengan Jawa adalah cara yang harus ditempuh (saya dulu mengajar pemrograman untuk mencari nafkah di universitas, dan kadang-kadang masih melakukan kuliah pribadi). Itu sendiri terlalu rumit untuk Anda mulai, dan sebagian besar buku Java akan tampak cukup menakutkan. Namun demikian, itu pasti dapat dilakukan (setidaknya untuk beberapa area dari pengetahuan global yang kami harapkan dari programmer), selama Anda membatasi diri Anda untuk belajar langkah demi langkah.
Buku
Saat Anda siap menggunakan Java, dan jika Anda membutuhkan buku Java yang layak, saya akan merekomendasikan:
- Berpikir di Jawa . Tidak apa-apa, meskipun sekarang sedikit ketinggalan jaman.
- Tutorial Java . Ini bukan pendamping pembelajar terbaik, tetapi referensi yang bagus untuk tetap di tangan, karena mencakup semua dasar-dasar dan memberikan contoh. The Belajar Java Bahasa Trail mungkin harus pada daftar bacaan Anda, meskipun saya akan berpikir itu dapat menjadi sesuatu yang membingungkan untuk pemula lengkap seperti memperkenalkan konsep-konsep yang mungkin sulit untuk dipahami pada awalnya.
- Jawa yang efektif . Ini bukan buku yang bagus untuk belajar, tetapi juga referensi yang luar biasa yang harus Anda miliki untuk nanti. Bukan untuk membaca sekaligus, tetapi dalam potongan seukuran gigitan.
Saya hanya menyebutkan ini karena saya tidak tahu apa yang Anda gunakan di kelas. Ada banyak buku lain. Beberapa bagus. Beberapa akan melumpuhkan siswa selama bertahun-tahun.
Proses Belajar Anda
Alur Kerja Dasar
Mulai sekarang, saya menyarankan Anda untuk mengikuti proses 2 langkah ini untuk semua latihan dan contoh kode yang Anda lihat di kelas:
- baca dan pelajari
- baca latihannya
- pastikan Anda memahaminya
- kode
- Tutup buku
- duduk di depan komputer dengan editor kode dan baris perintah itu
- mencoba menulis ulang program sendiri
Dalam hal Kegagalan
Jika Anda gagal dan merasa perlu mengintip buku itu, kegagalan Anda kemungkinan adalah:
- (kemungkinan besar) bahwa Anda tidak benar-benar memahami solusinya,
- (kecil kemungkinan) bahwa Anda telah lupa bagaimana sedikit solusi tertentu terlihat seperti: sintaks, penggunaan API, ...
Penyebab pertama kemungkinan adalah apa yang paling sering Anda hadapi. Yang kedua adalah anekdotal. Keduanya ditangani oleh praktik berulang.
Setiap kali Anda gagal menerapkan salah satu contoh awal ini, lihat kembali buku itu, lalu tutup kembali. Jangan kode sambil melihat buku. Saya bahkan menyarankan agar Anda menghapus seluruh solusi dan memulai kembali. Pengulangan adalah bagian yang mengganggu tetapi penting dari proses pembelajaran.
Jangan anggap enteng ini. Setiap kali Anda merasakan dorongan untuk mengatakan pada diri sendiri "ya, oke, saya tahu ini" atau "Saya 90% di sana, hampir sama baiknya dengan yang sudah selesai" dan ingin melompat ke bagian lain, melawan keinginan itu kembali dan mulai lagi. Sangat sulit untuk memiliki kejujuran untuk mengakui kepada diri sendiri bahwa Anda tidak sepenuhnya memahami konsep.
Catatan tambahan: Saya menganggap ini suatu kerugian besar karena sebagian besar program sekolah sekarang mencoba untuk "memulai" program pemrograman dengan terlalu banyak meredam masalah dan menyediakan perkakas yang terlalu canggih bagi siswa: tujuannya bukanlah untuk membuat hidup Anda sengsara atau untuk Anda juga belajar dengan hati hal-hal yang nantinya dalam karir Anda akan diotomatisasi oleh alat Anda dan bahwa Anda kadang-kadang bahkan hampir tidak ingat. Ini untuk mengajarkan Anda semua bagian yang mengambang.
Jika Berhasil: Melampaui!
Jika Anda berhasil menerapkan latihan Anda, jangan langsung melompat ke yang berikutnya. Coba lihat apa yang dapat Anda lakukan untuk meningkatkannya. Bisakah Anda mengubah output yang diminta? Tambahkan fitur kecil? Sebuah pilihan? Cobalah, karena Anda sekarang berada di zona menyenangkan tempat Anda melewati kesulitan utama, dan persyaratan kecil yang dipaksakan sendiri ini cenderung membuat Anda sedikit semangat.
Jangan melangkah terlalu jauh: Anda tidak perlu mulai dari mencetak alfabet dan membalikkannya hingga tiba-tiba muncul di diagonal pada layar dengan gradasi warna. Ambil langkah kecil. Belajar adalah proses yang panjang dan berulang, dan Anda perlu mendekati masalah dengan meningkatnya tingkat kesulitan (misalnya, lihat bagaimana saya biasanya berpikir tentang menjelaskan rekursi ).
Ini Baru Belajar - Perbandingan
Masalah Anda sebenarnya tidak terkait dengan pemrograman sama sekali. Ini masalah yang sama yang dihadapi ribuan orang ketika mereka mencoba belajar matematika.
Jika Anda memberi mereka masalah, mereka tidak melihat cara mengerjakan solusi mereka. Namun, jika Anda menuliskan solusi untuk mereka, sebagian besar akan memahaminya dan berpikir "sial, itu sangat sederhana!". Namun Anda akan memberi mereka masalah yang sama dengan ukuran dan hipotesis yang berbeda dan mereka akan gagal menyelesaikannya: mereka tidak memahami logika di baliknya, dan mereka membutuhkan latihan untuk dapat melakukannya sendiri.
Perhatikan bahwa ini adalah masalah umum dengan matematika, tetapi menurut pendapat saya, Anda melihatnya di banyak bidang lain di mana ada beberapa logika yang diperlukan: belajar solfege, tata bahasa, fisika, dll ... Dan itu bukan karena kemampuan "alami" untuk memahami hal-hal ini: itu hanya turun ke praktik (baik itu di daerah itu, atau di orang lain yang membuat individu untuk memahami konsep-konsep di bidang ini lebih mudah).
Tidak ada alasan Anda tidak bisa belajar menulis kode. Anda hanya harus terus berusaha sampai Anda mencapai "ah AH!" / Momen Eureka. Kemudian beralih ke masalah berikutnya yang lebih sulit.
Ini dapat membantu juga (nanti):