“Halo, Amigo, temanku (maafkan aku karena berulang-ulang!). Kau mungkin pernah mendengar pepatah ini sebelumnya: ‘Semakin banyak keringatmu bercucuran saat latihan, semakin sedikit darahmu berceceran dalam perang’, benar kan?”

“Memang benar, latihan tidaklah mudah! Kau berusaha menguasai profesi baru sebagai seorang programmer, dan mungkin juga, kau mengubah bidang pekerjaanmu secara drastis.”

“CodeGym mencakup latihan dalam jumlah yang besar. Latihan mengambil porsi lebih dari 80% dari seluruh proses pembelajaran.”

“Kami membaginya menjadi quest besar yang menarik (sebenarnya serangkaian quest), tetapi setiap orang berbeda: beberapa orang belajar dengan cepat, sementara yang lain lebih lambat. Beberapa orang dapat menguasai materi baru dengan mudah, sementara itu lebih sulit bagi orang lain. Akan tetapi, tugas kami adalah membantu semua siswa kami mencapai garis finish.”

“Tetapi, Profesor, bagaimana jika tak peduli sebanyak apa aku mencoba, aku tak dapat menyelesaikan suatu tugas, atau bagaimana jika aku tak dapat memahami penjelasan suatu topik jika hidupku bergantung padanya?”

"Solusinya sangat sederhana: komunitas. Komunitas terdiri dari siswa sepertimu, para lulusan, pengajar, dan developer profesional...

“Programmer bukan sekadar jutaan orang yang masing-masing menulis kode dalam berbagai bahasa dan membuat startup di waktu senggang. Mereka membentuk jaringan manusia global yang terus-menerus saling berbagi ilmu pengetahuan. Mereka siap menjawab pertanyaan dan membantu orang lain memahami topik yang kompleks.”

"Komunitas developer terbesar di dunia, situs StackOverflow, dibuat karena programmer perlu saling belajar dari satu sama lain. Konsepnya sangat sederhana: kau mengajukan pertanyaan dan semua programmer di dunia dapat menjawabnya. Mudah, bukan? :)”

“Di CodeGym, kami berpikir bahwa aktivitas saling berbagi pengetahuan oleh siswa memiliki nilai yang tinggi. Dengan membantu orang lain, programmer juga tumbuh secara personal (lagi pula, tak ada cara yang lebih baik untuk memahami sesuatu daripada mencoba menjelaskannya pada orang lain)."

“Karena itu kami membuat bagian yang dirancang khusus untuk memberi siswa kesempatan membagikan pengetahuannya dan membantu satu sama lain dalam proses pembelajaran.”

“Jadi, apa yang harus kau lakukan jika kau terhenti pada suatu tugas? Mencari solusi penyelesaian lengkap di internet bukanlah ide yang bagus. Jika menemukannya, kau mungkin akan bisa menyelesaikan quest. Akan tetapi, ada yang hilang atau kurang dari pemahamanmu dan itu akan kembali menimbulkan dampak tersendiri di masa depan. Percayalah padaku.”

"Akan jauh lebih baik untuk mulai menggunakan bagian Bantuan secara aktif."

“Caranya sangat mudah. Cukup klik tombol ‘Bantuan’ di samping tugas:”

“Jika kau ingin menemukan tugas tertentu dari level tertentu, cukup ketik namanya di kotak penelusuran.”

“Atau, pilih quest dan level yang diperlukan dari daftar drop-down.”

“Jika memilih filter ‘Terselesaikan’, kau akan melihat pertanyaan yang telah dijawab oleh komunitas CodeGym.”

“Cukup klik tombol ‘Ajukan pertanyaan’, lampirkan link ke tugas, dan jelaskan masalahmu.”

“Catatan: Menjawab dengan kode lengkap di bagian Bantuan tidak diperbolehkan. Tujuan dari bagian ini adalah memungkinkan pengguna bisa saling memberi tips, yang akan membantu mereka menemukan solusi sendiri. Di satu sisi, tidak ada yang hilang atau kurang dari pemahamanmu; dan di sisi lain, kau mendapatkan kepuasan atas pencapaianmu sendiri: kau berhasil menyelesaikan tugas, bukannya melewatinya atau mencari jawaban lengkap di internet. Semuanya menguntungkan. :)”

“Dan saat kau mendapat pengalaman di CodeGym, jangan lupakan bagian Bantuan! Seperti yang kukatakan sebelumnya, tak ada cara yang lebih baik untuk memahami sesuatu daripada mencoba menjelaskannya pada orang lain. Siswa CodeGym akan senang jika kau membantu mereka, seperti saat orang lain membantumu. Cukup pilih filter ‘Baru’, dan coba menjawab pertanyaan yang diajukan rekanmu. Mereka akan sangat berterimakasih karenanya, dan kau akan memperdalam suatu topik sekali lagi dan melihat kode orang lain (memahami kode yang dibuat orang lain adalah keterampilan yang sangat penting bagi programmer!).

Tetapi CodeGym bukan sekadar platform pembelajaran. Kita juga berinteraksi dengan para rekan sesama programmer (baik pemula maupun ahli).”

“Biasanya, orang-orang membuat grup di jejaring sosial untuk berkumpul bersama orang dengan minat yang sama. Kami kira ini ide yang bagus, jadi situs kami juga memiliki grup".

“Seperti yang kau lihat, ada beberapa jenis grup. Grup-grup tersebut berfokus pada berbagai minat IT tertentu (misalnya, ada grup untuk developer front-end dan tester).”

“Dan pastikan untuk bergabung dengan tiga grup utama di situs kami!

Pada grup CodeGym, kami memublikasikan berita terbaru terkait situs, kontes, dan promosi. Semua perubahan baru untuk situs pertama-tama akan ditampilkan di sini."

"Di grup Lounge, kami memublikasikan artikel menarik tentang IT secara umum, yang sebagian besar ditulis oleh siswa atau lulusan kami! Di sini kau dapat memperluas cakrawala dengan mempelajari teknologi baru, menemukan ulasan tentang buku, mendapatkan tips tentang cara mendapatkan pekerjaan, melepas penat dengan lelucon IT, dan masih banyak lagi. :)"

"Terdapat juga bagian Papan ranking."

“Jika berhasil menyelesaikan semua tugas, mungkin suatu hari kau bisa menjadi siswa terbaik! :)"

"Pada grup Developer Java, kau akan menemukan artikel tentang Java, materi pelatihan tambahan, serta berita tentang bahasa pemrograman ini."

“Dan ada banyak grup lainnya. CodeGym adalah tempat terbaik untuk penulis baru! Menulis artikel adalah cara yang bagus untuk menata pengetahuanmu tentang suatu topik.”

"Oke, bagus. Latihan memang masuk akal. Tetapi apa peran dari teori?"

“Tentu saja teori juga sangat penting. Jika fisikawan tidak menerapkan teori yang mereka ketahui tetapi hanya melakukan eksperimen, meskipun terlihat menyenangkan, mungkin itu tidak terlalu bermanfaat. Pemrograman juga sama. Di CodeGym, kita berfokus terutama pada latihan, yang memungkinkan kau berkembang dengan sangat cepat. Namun, kau bisa (dan kami sangat menyarankannya) mendapatkan pengetahuan dari sumber informasi yang lain, terutama buku.”

“Setiap orang berbeda: beberapa orang membaca pelajaran singkat di CodeGym satu kali dan langsung dapat memahaminya; sementara yang lain mungkin membutuhkan informasi tambahan dari sumber lain, merangkum semuanya, dan baru bisa mengambil kesimpulan.”

“Berikut ini beberapa buku terbaik tentang pemrograman Java, yang bisa kau pelajari secara bersamaan sambil mengerjakan aktivitas di CodeGym. Masing-masing buku ini sudah lama teruji kualitasnya dan tidak akan menyia-nyiakan waktu dan uangmu.”

  1. "Kathy Sierra dan Bert Bates, Head First Java"

    "Tak diragukan lagi, buku terbaik bagi pemula Java! Seri Heard-First memiliki banyak buku tentang beragam bahasa pemrograman. Penulisnya memiliki cara tersendiri yang unik dalam menyampaikan materi, yang menjadikannya mudah dibaca. Selain itu, kau bisa menulis kode dan menyelesaikan tugas langsung di bukunya!”

    “Kau bisa mulai membacanya di mana pun levelmu di CodeGym, bahkan saat kau masih di level nol. :)"


  2. "Herbert Schildt: Java: The Complete Reference"

    “Buku ini juga bagus untuk pemula. Perbedaan utama buku ini dengan buku sebelumnya adalah cara menyampaikan materi: di sini materi disajikan dengan cara yang lebih tertata dan konsisten (banyak orang yang lebih menyukai metode penyajian seperti ini). Salah satu keuntungannya ialah buku ini membedah materi secara rinci hingga ke detail terkecil, terkadang, sampai berulang kali.”


  3. "Bruce Eckel, Thinking in Java"

    “Ini adalah kitab suci programmer Java. Dan itu bukan pernyataan yang berlebihan: setiap developer Java harus membacanya. Buku ini tebal, dan ada alasan tersendiri untuk itu. Ia tidak menyandang gelar ini secara cuma-cuma: buku ini tidak hanya membahas topik spesifik dalam bahasa Java, tetapi juga menjelaskan filosofi Java—ideologi yang mendasarinya; mengapa pencipta bahasa ini kadang melakukan sesuatu dengan cara yang berbeda dari bahasa lainnya."

    “Buku ini tidak ditujukan untuk orang yang benar-benar pemula, tetapi saat kau mencapai level 20 di CodeGym, kau bisa mulai membacanya.”

    “Ini adalah buku Java utama yang sebaiknya kau baca (ada banyak buku lainnya). Dengan membaca buku, selain belajar tentang bahasa pemrograman, kau juga akan memperluas pemahaman tentang pemrograman secara umum. Berikut ini adalah buku terbaik untuk melakukannya:”


  4. "Charles Petzold, Code: The Hidden Language of Computer Hardware and Software"

    “Buku ini mendapat rating bagus di Amazon (4.7/5) dan situs ulasan buku lainnya, yang menunjukkan kualitasnya.”

    “Ini buku yang bagus untuk orang yang sudah lupa pelajaran ilmu komputer di sekolah, atau orang yang tak pernah belajar sama sekali. Buku ini menjelaskan hal penting tentang cara komputer dan kode bekerja, menggunakan bahasa orang awam. Misalnya, bagaimana komputer mengeksekusi kode yang ditulis oleh programmer? Dan bagaimana komputer memahami teks kode, yakni hal yang diinginkan manusia agar dilakukan oleh komputer?”

    “Buku ini, yang telah menjadi koleksi klasik, berisi jawaban dari pertanyaan tersebut. Ia membantu mempercepat pemahaman bagi orang yang mempelajari pemrograman tanpa latar belakang pendidikan khusus mengenai bidang ini.”


  5. "Aditya Bhargava, Grokking Algorithms".

    “Algoritme dan struktur data sangatlah penting dan diperlukan oleh programmer. Kedua hal tersebut adalah bagian yang signifikan dalam pekerjaan pemrograman, dan programmer harus bisa menggunakannya secara efektif. Sebagai contoh, bagaimana caranya mengurutkan ribuan angka acak?”

    “Sebenarnya, kau bisa melakukannya dalam banyak cara. Akan tetapi, masing-masing cara tidak memiliki tingkat keefektifan yang sama. Ada banyak buku dan kursus yang membahas algoritme dan struktur data, tetapi buku dari Bhargava adalah yang terbaik bagi orang yang baru saja mulai belajar pemrograman. Buku ini menggunakan bahasa yang sederhana, dan mencantumkan penjelasan mendetail dengan gambar, serta ukurannya tidak terlalu tebal. Tepat seperti yang kau butuhkan.”

“Membaca buku, menyelesaikan tugas, dan berpartisipasi dalam komunitas: resep sempurna untuk menjadi programmer.”