
Banyak orang yang akrab dengan Scratch, lingkungan pemrograman anak-anak di mana pembelajaran biasanya mengarah pada pembuatan proyek kreatif berdasarkan prinsip “dari yang sederhana ke yang kompleks”. Pada saat yang sama, “pendekatan klasik” untuk mempelajari pemrograman (variabel → cabang → loop → fungsi → struktur → objek → …) di Scratch sulit dilakukan.
Namun, mengubah urutan pembelajaran konsep (sebut saja konsep) pemrograman terstruktur, berorientasi objek dan peristiwa, menyembunyikannya di balik sprite warna-warni dan animasi interaktif, tidak berarti bahwa konsep tersebut tidak boleh ditekankan. Apalagi jika tujuannya bukan untuk mengembangkan kemampuan kreatif melainkan untuk mempelajari pemrograman. Saya mencoba mencerminkan ide ini dalam diri saya .
Hal pertama yang ditemui oleh penggaruk pemula adalah sprite. Meskipun tidak ada pemrograman berorientasi objek di Scratch, sprite dapat dianggap sebagai objek. Pada tahap ini, siswa melihat bahwa suatu program dapat memiliki banyak objek yang perilakunya dikendalikan oleh skrip di luar objek tersebut. Sprite menerima perintah atau mengirimkan informasi tentang statusnya sesuai permintaan, yaitu pemrograman yang dilakukan untuk mengelola objek.
Hal kedua yang langsung menarik perhatian programmer muda di Scratch adalah konsep multithreading. Setiap sprite dapat menjalankan beberapa skrip secara bersamaan. Beberapa sprite juga dapat menjalankan programnya secara bersamaan satu sama lain. Selain itu, ternyata lebih sulit mengatur eksekusi berurutan.


Sudah di pelajaran pertama kita tidak bisa menghindari pengenalan siklus. Kalau tidak, kucing itu tidak akan lari. Pada tahap ini, perkenalan harus dibiarkan intuitif dan dangkal. Kami membatasinya pada perulangan "selalu berulang" dan "ulangi... kali", yang lebih mudah dipahami. Perulangan bersyarat dipelajari dalam pelajaran yang khusus membahas perulangan. Pelajaran ini mengasumsikan pengetahuan tentang ekspresi dan variabel Boolean.
Karena Scratch adalah lingkungan yang digerakkan oleh peristiwa, blok pernyataan bersyarat lebih mudah dipelajari sebelum variabel. Kondisi tersebut dapat berupa kejadian tertentu.

Menurut saya, urutan ini lebih baik, karena untuk setiap pelajaran kami memperkenalkan konsep minimal. Dan bukan yang abstrak, tapi kita langsung melihat manfaat praktisnya.
Jika Anda pertama kali mempelajari variabel, maka tujuan dan manfaatnya sulit untuk dibuktikan, karena operator kondisional, entri data, dan pembuatan bilangan acak belum pernah dipelajari sebelumnya.
Di Scratch, tidak termasuk daftar, pemrogram menemukan tiga jenis data: angka, string, dan Boolean. Dalam hal ini, tipe terikat pada nilai, bukan variabel. Tidak perlu mengubah string menjadi angka dan sebaliknya. String tidak dikutip.
Sebuah blok yang mengembalikan nilai boolean dan memiliki karakteristik bentuk sudut dapat dimasukkan ke dalam bidang bulat. Kebalikannya tidak benar: jika ekspresi Boolean diasumsikan, variabel reguler tidak dapat disisipkan.

Scratch diimplementasikan agar tidak terjadi kesalahan kritis pada saat eksekusi. Rupanya inilah sebabnya, jika Anda mencoba menggunakan string dalam operasi aritmatika, string tersebut diganti dengan nol (lihat tangkapan layar pertama).
Pemrogram harus mengetahui bahwa kemampuan bahasa pemrograman diperluas oleh perpustakaan. Bekerja di Scratch, siswa dapat menghubungkan penambahan yang mengarah pada munculnya perintah baru di lingkungan.

Fungsi di Scratch diimplementasikan di bagian "Blok Lainnya", di mana di satu sisi Anda membuat blok sendiri yang dapat dimasukkan ke dalam skrip lain. Di sisi lain, kita harus mengumpulkan fungsionalitas blok ini, yaitu apa yang akan dilakukannya.

Tidak ada nilai kembalian dari fungsi awal.
Oleh karena itu, mempelajari konsep pemrograman dalam lingkungan yang digerakkan oleh peristiwa akan sangat bermanfaat. Intinya, pertama-tama kita mempelajari konsep yang lebih kompleks dan abstrak dan hanya setelah kita mempelajari prosesnya lebih dalam barulah kita beralih ke elemen pemrograman terstruktur. Apakah ini plus atau minus untuk kenalan pertama masih diperdebatkan.
Sumber: www.habr.com
