Menafsirkan kode komputer dan cara kerja otak
Bahasa dan kognisi
- Mempelajari pemrograman komputer mirip dengan mempelajari bahasa baru.
- Ahli saraf MIT menemukan bahwa membaca kode komputer tidak mengaktifkan area otak yang terkait dengan pemrosesan bahasa.
- Sebaliknya, hal itu mengaktifkan jaringan multiple demand yang aktif saat melakukan tugas kognitif kompleks.
Metode penelitian
- Para peneliti melakukan eksperimen menggunakan dua bahasa pemrograman, Python dan ScratchJr.
- Peserta eksperimen berbaring di dalam pemindai fMRI, melihat potongan kode, lalu memprediksi tindakan yang akan dilakukan kode tersebut.
- Hasil penelitian menunjukkan bahwa area otak terkait bahasa hampir tidak bereaksi, sementara jaringan multiple demand yang terutama aktif.
Efek pengalaman
- Para peneliti menyebutkan bahwa orang yang menekuni pemrograman dan mengumpulkan lebih banyak pengalaman kemungkinan dapat mengalami spesialisasi pada area otak tertentu.
- Namun, dalam penelitian saat ini, spesialisasi seperti itu tidak muncul pada orang-orang dengan pengalaman pemrograman yang relatif sedikit.
Kesimpulan
- Tidak ada jawaban yang jelas apakah coding seharusnya diajarkan sebagai keterampilan berbasis matematika atau keterampilan berbasis bahasa.
- Para pendidik ilmu komputer perlu mengembangkan pendekatan mereka sendiri untuk mengajarkan coding seefektif mungkin.
Opini GN⁺
- Hubungan antara coding dan otak: Penelitian ini menarik karena menunjukkan bahwa coding mengaktifkan area otak yang berbeda dari pemrosesan bahasa. Ini dapat menawarkan perspektif baru terhadap metodologi pendidikan coding.
- Pendekatan pendidikan: Saat mengajarkan coding, ada kebutuhan untuk mempertimbangkan baik pendekatan matematis maupun pendekatan kebahasaan. Ini membuka peluang untuk menyediakan pendidikan yang disesuaikan bagi beragam pembelajar.
- Pentingnya pengalaman: Kemungkinan bahwa area tertentu di otak menjadi terspesialisasi seiring bertambahnya pengalaman pemrograman menekankan pentingnya pembelajaran jangka panjang dan akumulasi pengalaman.
- Jaringan multiple demand: Karena jaringan ini terlibat dalam berbagai tugas kognitif, coding dapat membantu mengembangkan kemampuan pemecahan masalah yang kompleks, melampaui sekadar penguasaan keterampilan teknis.
- Arah penelitian masa depan: Diperlukan penelitian lanjutan terhadap programmer yang lebih berpengalaman, dan ini dapat menyediakan data penting untuk mengoptimalkan pendidikan coding.
1 komentar
Komentar Hacker News
Tautan ke makalah tidak disediakan, tetapi kemungkinan besar ini adalah makalah ini. Para peneliti menunjukkan potongan kode kepada para programmer dan meminta mereka memprediksi perilaku kode tersebut.
Menurut artikel yang ditautkan, area tertentu di otak menjadi aktif saat membaca kode, dan ini adalah area yang digunakan untuk menyelesaikan masalah yang tidak familier dengan hati-hati. Namun, hal ini mungkin tidak dapat digeneralisasi kepada orang-orang dengan pengalaman pemrograman lebih dari 30 tahun.
Lex Fridman baru-baru ini mewawancarai ahli linguistik Edward Gibson, dan di dalamnya dibahas bahwa membaca kode mengaktifkan bagian otak yang berbeda dari bahasa.
Upaya untuk membuat bahasa pemrograman seperti bahasa manusia adalah kesalahan yang mendasar. Bahasa pemrograman pada dasarnya lebih mirip membangun suatu struktur, dan itu berbeda dari komunikasi.
Perbedaan antara bahasa pemrograman dan bahasa manusia adalah bahwa pemrograman lebih dekat dengan membangun suatu struktur. Bahasa manusia dapat digunakan untuk komunikasi dengan berbagai tujuan.
Perbandingan aktivitas otak antara membaca kode dan membaca bahasa manusia yang diformalkan, atau antara membaca bahasa yang diformalkan dan bahasa yang tidak diformalkan, akan lebih menarik.
Hal yang paling membantu saya menulis kode yang bersih adalah mengikuti kelas penulisan akademik. Memprediksi kode lebih mirip tugas perencanaan daripada pusat bahasa.
Saya membaca kode dari proyek open source di saluran YouTube. Ini mirip dengan membaca visual musik. Para peneliti hampir tidak melihat respons di area bahasa.
Saya kebanyakan bekerja dari rumah, mendengarkan musik dan bernyanyi saat menulis kode. Tetapi saya tidak bisa bernyanyi saat sedang membaca. Saat menulis kode, saya bisa.
Membaca kode berbeda dari membaca prosa atau mengerjakan matematika. Ini seperti memecahkan teka-teki. Kita harus menghubungkan dan menerjemahkan banyak hal secara real time.
Membaca kode seperti melihat foto roda gigi dan ditanya, "apakah roda gigi A berputar searah jarum jam atau berlawanan arah jarum jam?" Rasanya seperti mempelajari sebuah mekanisme.
Saat membaca kode, saya tidak mendengar suara narator di dalam kepala saya.