1. Belajar berdasarkan praktek

Pembelajaran Java berbasis praktek

Ada orang yang mencintai CodeGym dengan sepenuh hati, dan ada orang yang membencinya dengan sepenuh hati. Tetapi bahkan kritikus CodeGym yang paling kejam pun akan segera setuju bahwa CodeGym memiliki banyak tugas yang mengesankan. Dan alasan mengapa ada begitu banyak adalah karena semua pelatihan CodeGym memiliki praktik sebagai dasarnya .

Pemrograman adalah keterampilan. Tidak ada yang mengatakan, "Saya tahu bagaimana memprogram". Setiap programmer berkata, "Saya bisa memprogram". Ini adalah keterampilan langsung, seperti berenang atau bermain catur. Dan Anda hanya dapat mengembangkan keterampilan melalui latihan terus-menerus.

Itu sebabnya seluruh kursus CodeGym adalah rangkaian tugas yang semakin sulit. Anda mulai dengan tugas yang sangat mudah dan primitif, dan diakhiri dengan tugas yang paling sulit dan menarik. Kesulitan tumbuh sedikit dengan setiap level. Inilah jalan yang akan membawa Anda ke tujuan Anda menjadi seorang programmer.


2. Jenis tugas

Berbagai jenis tugas menanti Anda di CodeGym. Mari daftar yang utama:

Tugas tempat Anda menulis program

Ini adalah tugas terpenting dalam kursus. Tingkat kesulitannya sangat bervariasi: dari tugas yang paling sederhana hingga tugas yang harus banyak Anda pikirkan.

Tujuan dari tugas ini adalah untuk menulis sebuah program yang memenuhi kondisi dan persyaratan yang ditentukan. Sebagian besar tugas termasuk dalam kategori ini. Untuk kenyamanan siswa CodeGym, kami menandai tugas-tugas ini sesuai dengan tingkat kesulitannya: EASY , MEDIUM , HARD dan EPIC .

Tugas EPIC sering didasarkan pada materi pembelajaran masa depan dalam pelajaran yang belum Anda buka. Mereka populer di kalangan siswa CodeGym yang merasa kursusnya terlalu mudah bagi mereka. Orang lain dapat dengan mudah melewatkan tugas-tugas ini dan kembali lagi nanti, ketika mereka sudah terbiasa dengan teori yang relevan.

Proyek

Kelemahan dari tugas biasa adalah ukurannya kecil. Selesai dan dilupakan, seperti yang mereka katakan. Oleh karena itu, sangat jarang membuatnya sangat menarik. Tetapi program besar sulit untuk diuji: terlalu banyak cara untuk mengimplementasikannya.

Itu sebabnya CodeGym memperkenalkan tugas proyek — tugas besar dibagi menjadi 5-35 subtugas biasa. Anda melakukan semua subtugas secara berurutan, dan Anda berakhir dengan program besar.

Di akhir setiap level setelah Level 20, ada satu tugas proyek besar, yang dibagi menjadi dua puluh subtugas. Ada juga 6 tugas game lainnya, yang juga merupakan proyek. Dan ada satu tugas project untuk diterima magang online. Secara total, ada 27 tugas proyek di seluruh kursus.

Kuis

Untuk waktu yang lama, CodeGym tidak mengadakan tes atau kuis. Pencipta CodeGym berpendapat bahwa tes yang lulus menciptakan "ilusi pengetahuan" pada manusia. Orang tidak benar-benar tahu bagaimana memprogram, tetapi mereka sangat yakin sebaliknya, karena mereka lulus ujian. Orang-orang seperti itu berhenti belajar, karena "mereka sudah tahu segalanya".

Selanjutnya, kuis ditambahkan untuk memungkinkan siswa CodeGym dengan mudah mengidentifikasi kesenjangan dalam pembelajaran mereka. Berguna bagi pemrogram untuk mengetahui nuansa hal-hal yang mereka kerjakan sehari-hari dalam profesinya.


3. Status tugas

Setiap tugas di CodeGym memiliki status khusus. Status dapat berubah saat Anda menyelesaikan tugas.

Setiap tugas CodeGym dikaitkan dengan pelajaran. Awalnya, Anda tidak akan memiliki akses ke tugas apa pun, yang berarti Anda tidak akan dapat menyelesaikannya.

Saat Anda membuka pelajaran berikutnya, semua tugas dalam pelajaran tersedia untuk diselesaikan, yaitu statusnya berubah menjadi "Tersedia".

Jika Anda telah mengirimkan tugas untuk verifikasi setidaknya sekali, maka statusnya berubah dari "Tersedia" menjadi "Sedang berlangsung".

Terakhir, ketika Anda telah berhasil memenuhi semua persyaratan dan validator menerima kiriman Anda, maka status tugas berubah menjadi "Selesai".

Pengguna dengan langganan Mentor Premium memiliki waktu 3 hari lagi untuk mencoba menulis solusi lain untuk tugas tersebut. Setelah jendela waktu tambahan ini berakhir, tugas berpindah ke status "Tertutup", dan status ini tidak akan berubah lagi.


4. Persyaratan

Di tahun-tahun awal CodeGym, saat Anda memverifikasi setiap tugas, Anda mendapatkan hasil sederhana: ya atau tidak. Program lulus semua tes atau tidak. Sangat sederhana, tetapi tidak sangat membantu.

Saat orang belajar, sangat penting bagi mereka untuk memahami kesalahan apa yang mereka lakukan dan bagaimana mulai melakukannya dengan benar. Oleh karena itu, sangat masuk akal jika server tidak menerima solusi Anda, maka Anda akan bertanya, ada apa dengan itu?

Untuk mendapatkan jawaban atas pertanyaan ini, Anda memerlukan seseorang untuk menyelami solusi Anda, menganalisisnya, dan memberi tahu Anda apa yang salah dengannya. Ini akan memakan waktu lama dan mahal. Keindahan verifikasi tugas instan adalah Anda dapat duduk untuk belajar pada pukul 2 pagi dan semuanya akan berfungsi seperti waktu lainnya.

Itu sebabnya kami menulis ulang semua tugas di CodeGym. Sekarang setiap tugas tidak hanya memiliki kondisi tugas, tetapi juga daftar 5-10 persyaratan yang menyempurnakan kondisi tersebut. Yang terpenting, setiap persyaratan diverifikasi secara terpisah.

Artinya, saat Anda mengirimkan tugas untuk verifikasi hari ini, Anda akan mendapatkan tanggapan yang diperluas: di samping setiap persyaratan tugas, Anda akan melihat ikon khusus yang menunjukkan apakah program Anda memenuhi persyaratan ini atau tidak. Contoh:

Persyaratan

Pendekatan ini sangat menyederhanakan hidup saat Anda mengerjakan tugas yang mengharuskan Anda menulis beberapa kelas atau metode. Anda akan selalu dapat melihat metode atau kelas mana yang Anda tulis dengan benar dan mana yang tidak.


5. Rekomendasi

Apakah mungkin membuat tugas menjadi lebih baik? Bukankah bagus jika, setelah setiap pemeriksaan, Anda diberi tahu apa sebenarnya yang salah dalam program Anda dan mendapat petunjuk tentang cara memperbaikinya? Ya, itu akan keren! Nah, coba tebak? Kami melakukannya di CodeGym 🙂

Kami menangkap lusinan kesalahan umum dengan memeriksa setiap persyaratan tugas. Jika program Anda membuat kesalahan yang diketahui oleh validator, maka itu membuat rekomendasi — petunjuk tentang bagaimana Anda dapat memperbaiki solusi Anda sehingga memenuhi semua persyaratan.

Pikirkan tentang itu. Sekarang ada sekitar 1.200 tugas di CodeGym, dengan total sekitar 10.000 persyaratan. Dan ada beberapa rekomendasi yang terkait dengan setiap kebutuhan. Beberapa persyaratan memiliki lusinan. Validator CodeGym siap membuat lebih dari 50.000 rekomendasi untuk solusi pengguna.

Selain itu, semua ini terjadi saat solusi Anda divalidasi, yang biasanya membutuhkan waktu kurang dari satu detik. Tidak ada orang yang bisa melakukan itu. Ini adalah mentor virtual nyata.

Rekomendasi

6. Komunitas

CodeGym berfokus pada banyak latihan , yang menyumbang lebih dari 80% dari keseluruhan proses pembelajaran. Kami mengubah pembelajaran menjadi pencarian yang besar dan menarik (sebenarnya serangkaian pencarian).

Tetapi setiap orang berbeda: beberapa orang belajar dengan cepat, dan yang lainnya belajar lebih lambat. Beberapa orang menganggap materi baru itu mudah, sementara yang lain merasa lebih sulit. Tetapi tugas kami adalah agar setiap siswa kami tiba di garis finis. Setidaknya itulah yang kami perjuangkan.

Di dunia ini, programmer bukan hanya beberapa juta orang yang menulis kode dalam berbagai bahasa dan membuat startup di waktu luangnya. Mereka membentuk jaringan global, terus berbagi pengetahuan dengan orang lain, siap menjawab pertanyaan dan membantu Anda memahami topik yang kompleks.

Komunitas pengembang terbesar di dunia — situs web StackOverflow — lahir dari kebutuhan programmer untuk belajar dari satu sama lain. Konsepnya sederhana: Anda mengajukan pertanyaan dan pemrogram mana pun di dunia dapat menjawabnya. Nyaman, bukan? 🙂

Di CodeGym, kami percaya bahwa bertukar pengetahuan antar siswa sangatlah berharga. Saat pemrogram membantu orang lain, mereka sendiri tumbuh . Dan tidak ada cara yang lebih baik untuk memahami sesuatu sendiri selain menjelaskannya kepada orang lain. Itulah mengapa kami telah membuat bagian khusus di situs web kami yang dirancang untuk memberikan semua siswa kami kesempatan untuk berbagi pengetahuan dan saling membantu belajar.

Jadi apa yang Anda lakukan jika Anda terjebak pada tugas terbaru? Mencari solusi yang sudah jadi di Internet adalah ide yang buruk. Tentu, Anda akan mendapatkan kredit untuk tugas tersebut jika Anda hanya menyalin solusi orang lain atau menggunakan solusi kami yang benar. Tetapi Anda tidak akan menutup celah pengetahuan Anda dan itu pasti akan kembali menggigit Anda di masa depan.


7. Pertanyaan tentang tugas

Persyaratan , rekomendasi , dan mentor virtual sangat keren. Tetapi bagaimana jika validator masih tidak menerima solusi Anda dan Anda tidak yakin apa masalahnya?

Bahkan dalam hal ini, masih ada jalan keluar. Temui bagian Bantuan . Di bagian situs web ini, siswa CodeGym dapat mengajukan pertanyaan tentang tugas, mengeksplorasi solusi satu sama lain, dan juga memberikan saran dan tip. Memposting solusi lengkap tidak diperbolehkan!

Kedengarannya sangat sederhana dan mendasar, tetapi sebenarnya cukup canggih.

Pertama, setiap pertanyaan dapat memiliki tugas terkait . Ini berarti tidak ada gunanya mengarungi semua pertanyaan, jika Anda tertarik pada pertanyaan tentang tugas tertentu. Anda selalu dapat menggunakan filter untuk dengan mudah melihat hanya pertanyaan yang terkait dengan tugas yang Anda minati. Cukup masukkan nama tugas di bilah pencarian:

Pertanyaan tentang tugas

Kedua, jika Anda mengklik tombol "Bantuan komunitas" saat menyelesaikan tugas, Anda akan langsung dibawa ke bagian Bantuan, di mana Anda hanya akan melihat pertanyaan tentang tugas yang sedang Anda kerjakan. Jika solusi Anda gagal dalam verifikasi tugas, maka pertanyaan akan disortir dengan cara yang membantu: pertanyaan teratas adalah tentang persyaratan yang tidak terpenuhi yang menyebabkan solusi Anda gagal.

Tombol bantuan

Ketiga, plugin IntelliJ IDEA menawarkan fungsionalitas serupa. Anda dapat mengklik tombol "Bantuan" atau menekan kombinasi tombol Ctrl+Alt+W, yang akan segera membuka bagian Bantuan di browser Anda. Dan tentu saja, filter hanya akan menampilkan pertanyaan tentang tugas yang Anda selesaikan di IntelliJ IDEA .

Bantuan IntelliJ IDEA

8. Membuat pertanyaan

Jika Anda tidak menemukan analisis yang baik tentang kesalahan Anda di bagian Bantuan, Anda selalu dapat membuat pertanyaan Anda sendiri. Ini cukup mudah dilakukan — Anda hanya perlu mengklik tombol "Ajukan pertanyaan" dan isi kolom yang wajib diisi:

Membuat pertanyaan

Tidak seperti banyak layanan lain, seperti StackOverflow, Code Ranch, dll., CodeGym tidak mengharuskan Anda menjejalkan semua informasi penting ke dalam judul pertanyaan. Tulis pertanyaan Anda sesuka Anda.

Dan omong-omong, Anda tidak perlu menyalin kode dari WebIDE atau IntelliJ IDEA dan menambahkannya ke pertanyaan Anda. Saat Anda membuat pertanyaan tentang suatu tugas, kode solusi Anda beserta status berbagai persyaratan tugas ditambahkan secara otomatis ke dalamnya , yaitu persyaratan mana yang saat ini dipenuhi oleh solusi Anda dan mana yang tidak.

Membuat pertanyaan 2

Ini berarti bahwa siswa CodeGym lainnya segera melihat semua informasi yang relevan tentang solusi penanya, yang membuatnya lebih mudah untuk memberikan saran yang baik.


9. Kode solusi

Di banyak situs, saat membuat pertanyaan tentang kode, Anda perlu melampirkan arsip dengan file program ke pertanyaan, atau menambahkan semua file ini ke teks pertanyaan itu sendiri. Hasilnya adalah kekacauan besar yang orang tidak mau atau tidak bisa gali.

Mengajukan pertanyaan dengan cepat dan efisien adalah suatu bentuk seni yang utuh. Di situs web biasa, Anda harus menghabiskan setengah jam untuk merumuskan pertanyaan Anda, atau menerima kenyataan bahwa tidak ada yang akan menjawab Anda. Pertanyaan yang bagus tentang suatu tugas mutlak harus berisi informasi berikut:

  • Tautan ke tugas yang sedang diselesaikan penanya
  • Kondisi tugas sehingga orang lain tidak perlu memburu mereka ke mana pun
  • Kode solusi — ini bisa mencakup banyak file
  • Status dari setiap persyaratan tugas, yaitu apa yang saat ini berfungsi dan apa yang tidak.
  • Teks pertanyaan: ini biasanya cukup jelas — solusi saya tidak berhasil, dan saya tidak yakin mengapa.

CodeGym menampilkan informasi ini menggunakan widget khusus yang sangat mirip dengan widget WebIDE . Lagi pula, itu sudah dirancang untuk menampilkan semua informasi itu. Yah, mungkin dengan pengecualian dari pertanyaan itu sendiri.

Kode solusi

Faktanya, kami menulis widget khusus hanya untuk memudahkan Anda mempelajari solusi pengguna lain. Dan untuk memudahkan dan menyenangkan bagi pengguna lain untuk memeriksa solusi Anda dalam pertanyaan yang Anda ajukan.