- Pickcode adalah IDE online untuk kelas ilmu komputer di sekolah menengah pertama dan atas, yang bertujuan menjadi platform sederhana dan stabil untuk mengurangi waktu yang dihabiskan guru dalam mengelola kelas
- Dukungan Chromebook, pemantauan pekerjaan siswa, kolaborasi real-time, dan pemeriksaan riwayat kode adalah fitur utama untuk manajemen kelas
- Guru dapat menyesuaikan dan mengatur materi pelajaran serta tugas, dan Pickcode secara eksplisit menyatakan tidak memiliki fitur bantuan kode AI
- Ada penilaian dari guru bahwa alat ini membantu siswa menjadi lebih mudah mengakses dan bekerja secara mandiri dalam kelas Java, Web Development, Python, dan AP Computer Science Principles
- Karena lebih berfokus pada pembuatan kelas dan manajemen siswa daripada IDE profesional yang kompleks, alat ini dapat dilihat sebagai opsi untuk mengurangi distraksi di lingkungan kelas
IDE online yang disesuaikan untuk ruang kelas
- Pickcode adalah IDE online untuk kelas CS di sekolah menengah pertama dan atas
- Menekankan platform yang sederhana dan stabil agar guru dapat menghemat waktu pengelolaan kelas
- Menyediakan jalur masuk dasar menuju halaman mulai, login, dan paket harga
Fitur operasional kelas dan respons guru
- Fitur utama Pickcode disesuaikan untuk menjalankan pelajaran dan memeriksa pekerjaan siswa
- Berjalan di Chromebook
- Dapat memantau pekerjaan siswa
- Mendukung kolaborasi real-time
- Dapat memeriksa riwayat kode
- Dapat menyesuaikan materi pelajaran
- Dapat mengatur tugas
- Tidak memiliki fitur bantuan kode AI
- Para guru menilai antarmukanya sederhana tetapi dapat diperluas, dan disukai siswa dari berbagai kelompok usia
- Ada contoh penggunaan dalam kelas Java, Web Development, Python, dan AP Computer Science Principles
- Tanggapan yang disertakan menyebutkan bahwa alat ini membantu siswa menggunakan alat dengan lebih mudah, melacak pekerjaan, dan maju secara mandiri
- Ada juga penilaian bahwa tim dukungannya cepat merespons dan membantu, serta banyak saran telah diimplementasikan
1 komentar
Komentar Hacker News
Saya penasaran apakah ada alasan bagus untuk benar-benar mewajibkan kata kunci
var,set, dancall. BASIC tidak punya hal semacam itu, dan dari ingatan samar saya saat pertama kali belajar pemrograman waktu kecil, kata kunci seperti ini rasanya akan menjadi kompleksitas yang tidak perluMisalnya di LOGO, cukup menulis
forward 10,left 90, tetapicall paint.forward(10),call paint.left(90)terasa berlebihan dan berisikset x = 7, kata kunci membuat jelas apakah maksudnya mengubah variabel atau menyatakan kesetaraanSecara teknis, dalam konteks program menggambar,
forward()bisa saja dibuat sebagai metode tingkat atas, tetapi kami memutuskan membuatnya lebih berorientasi objek untuk mempersiapkan saat nanti siswa beralih ke engine game 2D dan mengendalikan beberapa spriteforwarddanleftterlihat seperti arah gerak, terutama membingungkan ketika ingin “memindahkan” pelukis ke kiriSebenarnya
forwardadalah menggambar/bergerak danleftadalah rotasi berlawanan arah jarum jam yang juga menerima argumen negatif, jadicall paint.draw(10),call paint.rotate(90), ataurotate("up")terasa lebih masuk akalgosubuntuk memanggil subrutinSebagai catatan, karena katanya BASIC awal memang begitu, saya juga membuat nomor tautan dimulai dari 1 :)
[1] https://picaxe.com/basic-commands/program-flow-control/gosub...
[2] https://alandix.com/blog/2021/07/27/a-brief-history-of-array...
LET X=10Saya sedang memperkenalkan Godot kepada anak 10 tahun. Selama 6 bulan terakhir ia membuat game dengan Scratch dan menyukai Scratch, tetapi juga frustrasi dengan keterbatasannya
Saya kira ia akan lebih suka memakai bahasa skrip sungguhan, tetapi begitu mulai memakai GDScript, ia cepat frustrasi karena banyaknya hal yang harus diketik. Tangannya kecil sehingga sulit belajar touch typing, dan mengetik nama variabel serta pemanggilan metode memakan waktu terlalu lama
Ini tampaknya keseimbangan yang pas, jadi saya akan mencobanya
Saya sedang menjalankan pelajaran Python yang sangat ringan dengan anak 3 tahun, dan sempat bertanya-tanya mengapa progresnya lambat dibanding pemahamannya. Sekarang saya sadar, mengetik hal-hal seperti tanda kurung dan tanda kutip saja sudah memakan waktu lama
Saya suka proyek ini dan tidak sabar mencobanya. Pandangan saya mulai bergeser ke arah bahwa untuk pemrograman anak-anak, semakin banyak semakin baik. Sepertinya bagus juga mengekspos mereka pada dinamika memilih di antara berbagai bahasa dan alur kerja
Namun ketika saya menunjukkan bahasa pemrograman “sungguhan”, ia bilang semua itu juga bisa dilakukan di Scratch dan tidak perlu mengetik sebanyak itu
Kami juga mencoba GameMaker bersama dan menghasilkan sesuatu yang keren, tetapi begitu saya lengah sebentar, ia kembali lagi ke proyek Scratch-nya sendiri. Kadang saya bertanya-tanya apakah akan lebih baik kalau ia, seperti saya dulu, memulai langsung dari kode sejak awal ;-)
Namun hanya dengan menunjukkan masalahnya dan menanyakan apa yang bisa dilakukan, anak jadi memikirkan masalah itu dan menemukan berbagai cara yang mungkin dilakukan di dalam Scratch. Misalnya membagi program menjadi beberapa objek atau agen
Scratch jauh lebih kuat daripada yang tersirat dari kesan pertama atau program pertama
vardanconstSelamat atas peluncuran Pickcode. Detail penyelesaiannya bagus, dan terlihat jelas dibuat dengan perhatian
Menurut saya, setidaknya ada dua aliran dalam pemrograman visual yang mencoba membuat pemrograman lebih mudah diakses oleh non-developer
Sebagian upaya mengurangi beban belajar sintaks lewat antarmuka visual, tetapi tidak menyembunyikan sifat imperatif atau kebutuhan berpikir algoritmis. Pada dasarnya ini bisa dilihat sebagai IDE dengan tingkat aksesibilitas berbeda, dan saya pikir Pickcode serta Scratch masuk kategori ini
Sisi lainnya mengeksplorasi paradigma pemrograman lain yang sampai batas tertentu bisa lebih cocok dengan metafora visual. Ini juga mendorong cara berpikir yang berbeda dari pemrograman imperatif bagi pengguna. Node-RED adalah contoh bagus untuk mengeksplorasi pemrograman berbasis alur, yang merupakan kerabat dekat pemrograman reaktif fungsional. LabVIEW juga kerabat dekat berbasis aliran data, tetapi punya lebih banyak unsur yang terasa seperti sihir. Dalam praktiknya, itu adalah default yang cukup cerdas dan penamaan variabel internal. Apple Automator juga terlintas di pikiran
Saya tidak melihat salah satunya pasti lebih baik atau lebih buruk, tetapi saat melihat bahasa visual, berguna untuk memikirkan perbedaan antara imperatif dan reaktif karena itu sangat memengaruhi pengalaman pengguna akhir
Poin bahwa “pengalaman mengedit kode sepenuhnya terstruktur, dan alih-alih mengetik kita memilih dari menu” itu sangat keren
Saya berharap ada hal semacam ini untuk programmer dewasa, yaitu editor terstruktur serbaguna yang bisa dipakai untuk berbagai bahasa pemrograman. Saat memrogram, niat yang pertama muncul biasanya bersifat semantik. Mendefinisikan fungsi di sini, memeriksa kondisi di sana, dan seterusnya
Kalau begitu, saya tidak tahu kenapa niat semantik itu tidak langsung disampaikan ke editor. Saya bertanya-tanya kenapa niat itu harus lebih dulu diserialisasi menjadi string, lalu editor harus mem-parsing-nya lagi dengan cara yang rentan error. Ruang untuk kesalahan sintaks konyol seperti salah ketik, tanda kurung tidak cocok, atau kesalahan prioritas operator jadi ikut terbuka; bukankah lebih baik kalau yang tersisa hanya error semantik?
Editor seperti ini juga tidak harus tidak ramah keyboard. Mirip seperti Excel yang bukannya tidak ramah keyboard. Sepertinya ini juga bisa bekerja seperti input method untuk bahasa Asia Timur: mengetik di “jendela komposisi” lalu memilih dari “jendela kandidat” untuk menyisipkannya
Sejauh pemahaman saya, masalah besarnya dalam kasus ini adalah kita jadi ingin memberi batasan bahwa semua status perantara yang dilalui kode harus valid secara semantik. Di permukaan itu menarik, tetapi dalam praktiknya menjadi batasan yang fatal. Bahkan orang-orang hebat pun berpikir agak longgar lalu memperbaiki kode belakangan, bahkan pada level satu baris. Memaksa semuanya selalu 100% valid sangat bertentangan dengan cara berpikir nyata
Saya cenderung melihat ketidaksesuaian ini sebagai sesuatu yang mendasar. Saya tidak tahu apakah ada sebagian kecil manusia yang berpikir dengan cara seperti ini. Bahkan matematikawan profesional pun konon dalam pekerjaan nyata sering berpikir melompat ke depan lalu mengisi ketelitian belakangan. Kalau mereka saja tidak bergerak maju secara ketat langkah demi langkah, siapa yang akan melakukannya?
Pemrograman akhirnya menetap pada autocomplete yang memahami makna dan saran, dan besar kemungkinan itu bukan sekadar hasil dari kemalasan, melainkan titik optimal yang nyata
Kalau ada orang yang mendorongnya sampai tuntas, mungkin masalahnya bisa terpecahkan, tetapi saya ingin mengatakan bahwa kalaupun ada buah di sini, itu bukan buah yang tergantung rendah
Seperti yang dikatakan saurik, dunia Lisp yang menggunakan Emacs paling mendekati hal ini, tetapi tetap saja kita bisa melakukan apa pun yang kita mau. Hanya saja ada banyak alat yang membantu bekerja dengan cara yang lebih semantik, bukan sesuatu yang dipaksakan secara absolut
Saya mendapat pekerjaan karena menjadi satu-satunya pelamar yang pernah mendengar tentang perangkat lunak itu. Itu berkat pernah membaca satu tulisan pendek di majalah
https://en.wikipedia.org/wiki/Omnis_Studio
Cara memrogram dengan mengklik daftar dropdown dan popup tidak bisa dibilang dirancang dengan baik. Programnya tampak seperti daftar, dan saat ingin mengedit satu baris, sebuah dialog modal muncul sehingga hanya baris itu saja yang bisa diperbaiki. Tentu saja tidak ada IntelliSense atau code completion
Membayangkannya saja rasanya PTSD muncul lagi, sampai-sampai saya butuh alkohol atau rokok
Salah satu fitur favorit saya di Scratch adalah tidak bisa membuat kesalahan sintaks. Blok hanya punya dua kemungkinan: saling cocok, atau tidak cocok. Karena itu, menurut saya anak-anak bisa lebih mudah mulai bermain-main tanpa penjelasan tambahan atau les privat
Setelah mengikuti beberapa langkah awal tutorial persegi, saya mencoba-coba sendiri dengan mengklik ini-itu, lalu terbentuk
call math paint.forward()dan terjadi kesalahan sintaks. Tentu saja baris itu sampah, tetapi saya tidak berhasil memahami bagaimana perintahmathseharusnya bekerja. Mungkin akan dijelaskan kalau saya mengikuti tutorial lebih lanjut, tetapi menurut saya kemudahan ditemukan juga pentingKalau bloknya bertambah banyak, blok-blok itu juga bisa saling menumpuk, sehingga cukup sulit ditemukan. Ada juga masalah argumen blok yang terlewat. Program tetap berjalan, tetapi tidak berfungsi
Pemrograman visual jelas lebih baik untuk anak-anak, tetapi menurut saya dibutuhkan pendekatan yang lebih ketat daripada Scratch dan kemampuan debugging yang lebih baik
Kelihatannya sangat bagus. Ini mengingatkan saya pada masa ketika Khan Academy membuat versi berbasis blok dari editor ProcessingJS
UI-nya agak kasar dan sulit dipelihara, jadi akhirnya dihentikan, tetapi yang ini tampak cukup mulus. Saya suka karena ini menyediakan lebih banyak jalan bagi programmer baru untuk masuk ke pemrograman bertipe. Menurut saya sebagian besar block coding juga terlalu jauh dari kode sungguhan
Kadang pengeditan berbasis blok seperti ini juga digabungkan dengan type checking sehingga “lubang” dapat diisi secara cerdas berbasis kueri. Mungkin ini paling jelas terlihat pada editor untuk bahasa fungsional murni seperti Agda
Teringat BASIC di ZX81. Tidak mengetik keyword; keyboard khusus punya tombol untuk tiap keyword
Editornya context-sensitive, atau dengan kata lain penggunanya sendiri adalah lexer yang dipandu parser. Saat itu, rasanya agak seperti sulap untuk mengetahui apakah kita sedang memasukkan kata/angka atau keyword, dan keyword jenis apa. Sebenarnya bagian yang penting secara edukatif adalah bahwa saya memahami hal itu
Yang penting di ZX81 adalah menyimpan token untuk menghemat memori, bukan representasi teks. RAM-nya 1KB, dan itu sudah termasuk memori display. Tidak ada GPU terpisah. Karena parsing dilakukan saat input, eksekusinya kemungkinan juga menjadi lebih cepat
Situsnya sangat rapi, tetapi saya tidak sepenuhnya setuju dengan tujuannya. IDE-nya memang mengesankan, tetapi saya mungkin akan berfokus pada subset Python ketimbang bahasa baru
Kalau tidak, ia bisa diabaikan karena Scratch lebih mudah diajarkan, sementara Python lebih berguna untuk dipelajari. Yang pertama berlaku di sekolah dengan guru yang juga developer, yang kedua untuk orang tua programmer yang mengajari anaknya
Sebagai developer perangkat lunak, saya pernah membantu kelas pemrograman SD/TK istri saya, jadi saya cukup memahami masalah di area ini
Artikel terkait:
Show HN: Pickcode – A new way to introduce programming to kids - https://news.ycombinator.com/item?id=33562193 - November 2022, 14 komentar
Show HN: PickCode – An educational coding environment for students after Scratch - https://news.ycombinator.com/item?id=32230329 - Juli 2022, 32 komentar
Show HN: Pickcode – A graphical code editor for education - https://news.ycombinator.com/item?id=31426331 - Mei 2022, 4 komentar
Repost setelah kira-kira 1 tahun tidak masalah, dan tautan ke thread sebelumnya ditujukan untuk pembaca yang ingin tahu lebih jauh
Saya sedang mengerjakan konsep serupa untuk pemrograman musik:
https://glicol.org
Akan bagus kalau ada beberapa contoh langsung di landing page
Saat mencoba pelajarannya, saya jadi mentok; memang ada petunjuk di sebelah kanan, tetapi tidak terlalu terlihat. Mungkin bisa ditata ulang seperti Svelte Tutorial(https://learn.svelte.dev/tutorial/welcome-to-svelte)
Saya belum yakin dengan sintaksnya. Saya penasaran apakah pernah mempertimbangkan memakai LOGO