Ini sekedar catatan kehidupan, sebulan terakhir ini Joshua (sudah hampir 7 tahun) sedang senang sekali memprogram dengan Scratch (seperti dibahas Risna di posting ini). Semangatnya ini sekarang ditularkan juga ke Jonathan.
Tadinya Joshua tidak pernah mau menyimpan program buatannya di komputer lokal, tapi sekitar awal bulan ini (tanggal 6 Mei) saya membuatkan account Scratch online. Kami pergi ke Bangkok Seminggu (selama libur tidak memprogram Scratch), dan dua hari yang lalu saya cek ternyata dia sudah menshare 45 Project. Ketika saya menuliskan ini, dia sudah menshare 71 project.
Gaya belajar Joshua adalah belajar mandiri, tidak mau diajari. Dia membaca sendiri buku Scratch dan melihat video di Youtube. Dia akan merewind video berkali-kali jika masih belum paham bagian tertentu.
Sebagian besar Projectnya sangat sederhana, sebagian hanya menyusun scene, menyusun musik, dan sebagian tidak jelas apa tujuannya. Sebagian lagi cukup menarik dan cukup panjang programnya. Semangatnya memprogram mengingatkan saya dulu waktu otodidak memprogram Basic di Apple II/e.
Sebagian orang gaya belajarnya memprogramnya seperti ini: membuat banyak karya kecil untuk memahami sesuatu. Dulu saya membuat banyak program kecil waktu SMU (pernah dituliskan di posting ini). Beberapa minggu lalu saya juga membaca seseorang yang membuat 50 program kecil untuk TIC-80 di akhir pekan.
Ketika saya melihat program-program Joshua, cara berpikirnya mirip dengan saya. Misalnya ketika menemukan bahwa ada fungsi memainkan tone dengan frekuensi tertentu selama durasi tertentu, dan mengetahui ada fungsi random, maka terpikir untuk memainkan frekuensi random dengan durasi yang random juga. Ketika saya melihat 50 program kecil yang saya link di atas, ternyata ada juga karya serupa (no 19).
Setelah tahu bagaimana menerima input, dan juga menggambar sesuatu di layar, satu hal yang saya lakukan dulu adalah: membuat program menggambar (walau dulu saya cuma hitam putih di komputer Apple II/e). Joshua membuat juga program menggambar. Ide serupa juga merupakan salah satu dari 50 program TIC-80 (no 33).
Menurut saya cara belajar dengan membuat program kecil sangat cocok untuk saya (dan banyak orang): tidak perlu terlalu terpaku membuat sesuatu yang sangat bagus. Dengan memprogram satu bagian kecil, kita bisa mengeksplorasi satu konsep saja. Cara ini juga menurut saya sangat menyenangkan.
Semangat Berdua
Saya juga dulu mengajari Jonathan untuk menggunakan Scratch, tapi Jonathan tidak pernah benar-benar tertarik. Bukan tidak bisa, tapi lebih tertarik bermain game daripada membuat sesuatu dengan Scratch. Saya sendiri tidak ingin membebani coding sebagai kewajiban, jadi saya bebaskan saja jika memang Jonathan tidak ingin membuat sesuatu.
Akhir-akhir ini, melihat semangat Joshua, Jonathan jadi ikut lagi memprogram Scratch. Mereka saling memberi nasihat seperti Pair Programming. Joshua jadi lebih semangat setelah Jonathan me-remix projectnya. Istilah re-mix di Scratch ini adalah mengambil karya orang dan mengubahnya, seperti mem-fork project di github.
Lucu juga melihat mereka pagi-pagi melihat Video Youtube tutorial scratch dengan aksen India. Sudah jadi stereotype dan meme bahwa banyak tutorial Ilmu pengetahuan dan IT bagus yang dijelaskan oleh orang India. Yang belum tahu bisa melihat halaman Know Your Meme ini.
Indian Guy on YouTube refers to a series of memes that praise a generalized version of a YouTube educational channel run by a person from India. This trend, spawned by a large amount of various educational guides uploaded to YouTube by Indian users, resulted in numerous memes and first gained popularity in late 2019.
https://knowyourmeme.com/memes/indian-guy-on-youtube/photos
Mungkin hanya sementara
Joshua memiliki hobi yang berubah-ubah, jadi tidak tahu apakah di masa depan masih akan terus memprogram atau tidak. Dulu dia pernah iseng menghapalkan berbagai alfabet: Inggris, Thai, Rusia, Spanyol, Ibrani, dan Arab. Selain menghapal bunyinya, dia bisa menuliskan alfabetnya (tidak semua bahasa, seingat saya cuma alfabet Inggris, Rusia, Spanyol dan Thai). Sekarang sepertinya dia sudah lupa semuanya selain alfabet Inggris.
Meskipun Jonathan tidak memiliki semangat memprogram sebesar Joshua, tapi sebenarnya kemampuannya tidak kalah. Kadang-kadang Jonathan tertarik memprogram, dan biasanya ketika tertarik, program yang dia buat cukup kompleks. Dia pernah membaca buku matematika dan ada pembahasan Fibonacci, jadi dia berusaha membuat implementasi Fibonacci non rekursif. Dia pernah melihat video menghitung Pi secara prosedural, dan dia implementasikan sendiri. Bahkan pernah terpikir sendiri untuk memakai teknik Memoization pada salah satu soal Advent of Code.
Setiap Anak berbeda
Melihat kelakukan Jonathan dan Joshua, beberapa kesimpulan yang bisa diambil adalah:
- Setiap anak memiliki cara belajarnya sendiri
- Meskipun bisa melakukan sesuatu, belum tentu anak itu mau melakukannya
- Meskipun belum/kurang bisa melakukan sesuatu, kadang-kadang seorang anak tertarik sesuatu dan mau belajar terus
- Apa yang dilakukan sekarang mungkin tidak akan diteruskan di masa depan
Dulu orang tua saya tidak memaksa saya ke bidang tertentu, jadi saya juga ingin memberi kebebasan pada Jonathan dan Joshua.
Project-project Joshua bisa dilihat di: https://scratch.mit.edu/users/abc123josh/
Project-project Jonathan di:
https://scratch.mit.edu/users/pikadora264/
Kalau anaknya ada yang memprogram Scracth, tolong difollow ya. Joshua akan senang sekali memiliki follower di Scratch.