Cara Belajar Coding (dan Dari CS50x).
Apa cara terbaik untuk belajar coding? Bagaimana saya melakukannya sehingga saya dapat memanfaatkan kursus yang saya ambil? Artikel ini memiliki penjelasan mendetail yang akan menjawab pertanyaan-pertanyaan ini dan banyak lagi!
Saat belajar coding, jika Anda baru memulai, kemungkinan besar Anda akan memiliki beberapa kesalahpahaman. Saya harap poin-poin dalam artikel ini membantu menjernihkan kesalahpahaman ini dan mencegah Anda melakukan kesalahan yang sama seperti yang saya lakukan.
I. Cara mendekati pembelajaran kode (dan belajar dari kursus CS50x):
1. Jangan terburu-buru:
Ini mungkin nasihat yang paling sederhana namun penting yang dapat saya berikan kepada pelajar.
Ketika saya belajar C, seperti kebanyakan siswa, saya kompetitif. Saya ingin menjadi yang pertama di antara teman sebaya dan sesama siswa yang “menyelesaikan” C. Saya mencoba mempercepat kuliah dan menyelesaikan kumpulan soal secepat mungkin.
Pada akhir minggu ke-3 kuliah (di CS50x), saya menjadi frustrasi dengan ketidakmampuan saya untuk menyelesaikan masalah dengan lancar dalam waktu satu jam (tujuan yang tidak realistis). Saya harus istirahat sejenak untuk menjernihkan pikiran dan tidak diburu oleh tujuan untuk "menyelesaikan" C secepat mungkin.
Belakangan, ketika saya kembali ke sana dan mengerjakan Set Masalah 4 (dalam CS50x) dengan sabar, saya menyadari bahwa saya melakukannya dengan cara yang salah.
Anda tidak "menyelesaikan" C atau bahasa pemrograman lain seperti topik dalam mata pelajaran sekolah. Pengetahuan yang Anda peroleh dari belajar C akan membantu Anda untuk waktu yang cukup lama, dan Anda harus mendekatinya dengan mengingat hal ini.
Selain itu, jangan mendalami latihan pengkodean atau kumpulan masalah apa pun, menyamakannya dengan masalah. Kecepatan Anda menyelesaikan kumpulan masalah juga tidak menunjukkan pemahaman yang lebih baik tentang topik tersebut.
Set masalah di CS50x bukanlah masalah. Setiap rangkaian masalah mengajarkan Anda sesuatu, mulai dari membangun logika hingga memahami representasi gambar bitmap (dan cara memanipulasinya).
Set masalah seharusnya program atau proyek yang diberikan kepada peserta didik untuk mereka pelajari dari — kuliah itu sendiri. Cobalah untuk mempelajari sesuatu yang baru dari setiap latihan coding yang Anda lakukan. Anda akan terkejut betapa banyak masalah yang tampaknya kecil ini dapat mengajari Anda.
Pengkodean bukanlah sesuatu yang Anda pelajari lebih cepat dengan berlatih lebih keras dan lebih cepat. Itu membutuhkan latihan yang konsisten, kesabaran, dan fokus. Anda tidak dapat berharap untuk menyusun kode solusi untuk kumpulan masalah dengan sangat cepat hanya karena Anda memahami konsep dengan cukup baik.
Jadi, pelajari dan kode dengan sabar. Telusuri konten yang telah Anda berikan di CS50x (atau materi lain yang Anda rujuk) beberapa kali jika perlu agar Anda memahami sesuatu.
Saat melakukan latihan pengkodean apa pun, jangan pernah mencari solusi hanya karena Anda tidak dapat memikirkan jawaban atau program Anda gagal beberapa kali. Coba program beberapa kali. Jika Anda masih tidak mendapatkannya setelah beberapa kali mencoba (dan mulai membuat frustrasi), saya sarankan Anda berhenti sejenak dari masalah itu. Lanjut ke topik atau latihan berikutnya.
Nanti, kembali ke masalah yang sama lagi. Jika Anda masih tidak dapat memberikan jawaban, maka Anda dapat mencari solusinya. Namun, Anda harus membaca dan memahami kode solusinya, dan setelah Anda memahaminya, kembali dan coba kode program Anda sendiri, tanpa melihat solusinya.
Anda mungkin menyelesaikan topik lebih cepat jika Anda terburu-buru. Namun, Anda akan selalu memiliki keraguan dan mungkin tidak memiliki kepercayaan penuh pada topik yang telah Anda pelajari. Bagi saya, ini tampak seperti bencana, dan saya tidak menyarankan siapa pun untuk belajar dari CS50x atau kursus lain dengan cara seperti itu.
2. Iklan tak terbatas:
Sejumlah kumpulan masalah memerlukan beberapa bacaan latar belakang untuk membantu Anda lebih memahaminya. Anda harus melakukan banyak penelitian untuk ini.
Tugas rumit yang dapat dilakukan komputer tampaknya sulit untuk kita bayangkan. Bagaimana manusia bisa menciptakan komputer—mesin dengan kekuatan pemrosesan yang begitu besar? Upaya dan pengetahuan yang dilakukan untuk membangun hal-hal ini tampak sangat rumit dan rumit. Kita tidak berani berpikir bahwa kita akan mampu memahaminya dalam waktu singkat yang kita miliki.
Namun, semua fungsi kompleks yang dapat dilakukan komputer saat ini adalah hasil dari logika yang dikembangkan dan diterapkan oleh manusia. Logika ini dan pengetahuan di baliknya berada dalam jangkauan kita, dan kita mampu mempelajari dan akhirnya memahami pengetahuan ini. Saat Anda mencapai perubahan mental ini, keinginan untuk belajar dan memahami lebih berkembang.
Langkah ini akan menjelaskan bagaimana saya berhasil mendapatkan perubahan ini dan bagaimana saya melihat pengkodean seperti yang saya lakukan.
Pengetahuan mulai terasa dalam jangkauan saat Anda melakukan penelitian dan pendidikan yang lebih mandiri. Kami menyadari bahwa kami sebenarnya mampu belajar dan akhirnya memahami hal-hal yang sebelumnya tidak pernah dapat kami pahami. Ini karena Anda mendapatkan perspektif yang lebih luas tentang pengkodean, bagaimana itu dikembangkan (dengan kesalahannya sendiri selama pembuatannya seperti yang dibuat oleh manusia), dan dampak dunia nyata dari setiap konsep yang Anda pelajari.
Cari "masalah Y2K" di browser Anda, baca tentang itu, dan mungkin ini akan menjadi langkah pertama untuk memulai penelitian independen. Setelah Anda membacanya, bagaimana menurut Anda? Komputer pada akhirnya dikembangkan oleh manusia seperti kita—mereka yang mampu membuat kesalahan (seperti yang diilustrasikan oleh masalah Y2K), mereka yang belajar dan tumbuh. Apakah Anda sekarang merasakan hubungan yang lebih kuat dengan kode yang Anda pelajari? Apakah Anda merasakan potensi dampak langsung yang mungkin terjadi pada kehidupan Anda dan kehidupan orang lain?
Saya mempelajari pelajaran ini ketika saya mengerjakan soal set 4. Ini memungkinkan Anda membuat kode program yang mampu membedakan objek dalam gambar. Saya selalu percaya bahwa tugas yang menantang seperti itu pasti di luar kemampuan saya sebelum saya memulai program ini. Saya berasumsi bahwa itu memerlukan beberapa "barang" kecerdasan buatan canggih yang kemungkinan akan menggoreng otak saya bahkan jika saya mencoba memahaminya. Namun, saya melakukan programnya, memahami logika di baliknya, dan kemudian merasa lebih dekat dengan pengkodean.
Begitu Anda menyadari betapa Anda mampu belajar dan memahami, Anda akan merasakan semangat untuk belajar dan memperoleh pengetahuan baru.
3. Lakukan pekerjaan yang membosankan, dan kembangkan kotak peralatan Anda:
Setelah Anda selesai dengan satu set masalah, selalu coba mencari solusi yang lebih efisien untuk itu di internet. Meskipun ini mungkin tampak membosankan, ini akan mengajarkan Anda perspektif dan logika baru untuk program yang sama. Ini menumbuhkan "kotak alat" yang Anda miliki saat membuat kode program.
Saat "kotak alat" Anda membesar, Anda akan dapat memvisualisasikan beberapa jalur ke hasil atau kode solusi Anda. Mirip dengan matematika, Anda dapat memecahkan masalah lebih cepat dan efektif jika Anda berlatih lebih banyak.
Mengetahui beberapa solusi dapat berguna saat menghadapi masalah yang sangat menantang yang hanya dapat diselesaikan dengan menggunakan pendekatan tertentu.
Oleh karena itu, "lakukan pekerjaan yang membosankan", dan Anda pasti akan menghargainya nanti!
4. Buat catatan:
Meskipun membuat catatan sambil mendengarkan kuliah sepenuhnya opsional dan masalah preferensi pribadi, itu akan membuat pembelajaran Anda tampak lebih produktif dan seperti mengalami kemajuan. Ini akan membuat Anda menonton kuliah dengan fokus yang lebih besar.
Anda dapat membuat catatan ringkas. Buatlah daftar pertanyaan yang Anda miliki atau informasi yang menurut Anda sangat baru dan menarik. Kemudian, lakukan riset dan coba menjernihkan pertanyaan atau keraguan yang telah Anda tulis.
Saat saya belajar, membuat catatan membuat saya merasa lebih produktif, dan saya senang melakukannya.
Selesaikan semua set masalah dengan rajin, berikan masing-masing jumlah waktu yang signifikan
II. Langkah-langkah yang harus diikuti saat belajar dari CS50x:
- Belajarlah dari setiap ceramah dengan sabar, jangan terburu-buru. Opsional, buat catatan saat mendengarkan ceramah.
- Jangan pernah melewatkan video pendek sebelum melihat topiknya. Telusuri celana pendeknya, dan jika menurut Anda itu sepadan dengan waktu Anda, tontonlah. Celana pendek sering berisi penjelasan yang lebih mendalam. Terkadang, short juga mencakup topik yang tidak tercakup dalam kuliah utama.
- Selesaikan semua set masalah dengan rajin, berikan masing-masing banyak waktu - dan cobalah untuk menyelesaikannya sendiri. Jika Anda tidak mengerti, ikuti petunjuk yang mereka berikan. Jika ini tidak cukup, tonton langkah-langkahnya (ini membuat pemahaman masalahnya menjadi lebih mudah). Tidak apa-apa untuk tidak memahami masalahnya, Anda tidak perlu merasa buruk. Saya juga tidak memahami semua masalah pada percobaan pertama saya. Setelah semuanya tidak berfungsi, cari solusinya, lalu beri kode jawabannya tanpa melihat solusinya setelah Anda memahaminya.
- Jika Anda menemukan kesalahan dalam program Anda dan tidak dapat mengidentifikasinya, gunakan 'check50' atau 'kirim'. Kedua perintah ini memberikan tautan setelah program dijalankan, dan informasi di situs tempat tautan dibuka sangat membantu dalam menyelesaikan kesalahan.
- Jika Anda masih belum dapat menyelesaikan kumpulan masalah, istirahatlah. Pindah ke kuliah atau kumpulan masalah berikutnya, dan kembali ke kumpulan masalah yang sama nanti.

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































