Pertanyaan Asli
Saya diundang ke kelompok taman kanak-kanak putri sulung saya untuk berbicara dan menjawab pertanyaan anak-anak tentang profesi saya. Ada 26 anak usia 4-6 dalam kelompok, ditambah 3 guru yang cukup takut pada apa pun yang berkaitan dengan pemrograman dan IT sendiri, tetapi cukup berani untuk mempelajari trik baru. Saya akan memiliki sekitar 20-30 menit, tanpa proyektor atau apa pun. Mereka memiliki komputer lama, yang dari tampilannya mungkin 486, dan saya bahkan tidak yakin apakah itu berfungsi (Pembaruan: tidak).
Penelitian saya menghasilkan utas sebelumnya yang sangat bagus, dengan banyak tips bagus:
- Bagaimana Anda menjelaskan pekerjaan Anda kepada anak berusia 5 tahun?
- Career Day: bagaimana cara membuat "programmer komputer" terdengar keren untuk anak berusia 8 tahun?
- Hal-hal apa yang dapat saya ajarkan kepada sekelompok anak tentang pemrograman dalam satu hari?
Situasi saya berbeda dari masing-masing di atas meskipun: yang terakhir prihatin dengan anak-anak, sementara yang pertama adalah tentang berbicara dengan seorang anak tunggal (atau orang tua) - kelompok 20 adalah seluruh tantangan yang berbeda.
Bagaimana saya bisa mengajar anak-anak dan guru-guru mereka tentang pemrograman dengan cara yang menyenangkan?
Paket Berdasarkan Jawaban
Terima kasih untuk semua jawaban yang luar biasa, kawan :-) Saya pikir tidak masuk akal untuk menerima satu jawaban, tapi saya paling suka Jim, sama seperti mayoritas SOers tampaknya. Namun, banyak jawaban lain berisi petunjuk dan ide yang berguna (beberapa di antaranya pasti akan saya gunakan pada hari-hari Karier di sekolah nanti ...).
Saya menyusun rencana kasar:
- Jelaskan secara singkat apa itu pemrograman, seperti dalam jawaban ini .
- Katakan bahwa komputer ada di mana-mana, dan kumpulkan contoh dengan anak-anak (seperti yang disarankan dalam beberapa jawaban di bawah).
- Lakukan presentasi Jim dengan sandwich .
- Jika waktu memungkinkan, bangun lebih lanjut:
- jelaskan bahwa kekuatan komputer adalah mereka mengingat dengan tepat apa yang pernah diajarkan kepada mereka (dan mendemonstrasikannya dengan menyiapkan sandwich kedua, mengulangi semua kesalahan dari upaya pertama)
- ada putaran kedua yang mencoba untuk memperbaiki bug dalam proses
- jelaskan konsep loop: Anda dapat membuat komputer menyiapkan
n
sandwich dengan satu instruksi
Ini adalah rencana saya - saya cukup yakin itu akan berubah sangat berbeda, jadi saya akan berimprovisasi sesuai dengan situasi. Presentasi dijadwalkan dalam waktu sekitar 2 minggu - saya akan memperbarui posting setelahnya dan memberi tahu bagaimana sebenarnya ...
Hasil
Akhirnya hari presentasi tiba hari ini ... secara singkat, semua berjalan dengan baik dan sukses besar :-)
Kelompok ini ternyata cukup gelisah dan energik kali ini, sehingga percakapan kadang-kadang agak kacau. Saya harus memotongnya dan sampai ke Big Sandwich Maker Show. Seperti yang dijelaskan Jim, anak - anak menyukainya .
Namun ada satu efek samping yang tidak terduga: setelah roti pertama siap, semua orang ingin makan! Jadi untuk sementara - di mana saya mencoba melanjutkan percakapan dan menjelaskan lebih lanjut tentang pemrograman - kami harus memasang semacam saluran layanan darurat dengan guru-guru TK untuk menghasilkan roti marmalade dalam jumlah besar dan memberi makan kerumunan yang lapar (ini setengah satu jam setelah sarapan, sebagai catatan :-). Kemudian kami kehabisan roti, yang jelas berarti akhir dari presentasi. Semburan tawa terbesar meletus ketika setelah membereskan kekacauan, anak-anak memperhatikan bahwa komputer yang malang itu menginjak sepotong selai yang merusak kaus kakinya :-)
Para guru sendiri juga sangat terkesan positif - menilai dari umpan balik, ini adalah hari Karier terbaik dan terlucu dalam kelompok ini sejauh ini. Terima kasih sekali lagi untuk Anda semua atas ide-ide hebat!
Hal-hal yang dapat diperbaiki (waktu berikutnya):
- Ketika saya bertanya "apakah menurut Anda komputer itu pintar?", Yang mengejutkan saya kebanyakan dari mereka menjawab "tidak". Saya kemudian bertanya siapa yang berpikir komputer itu pintar, dan mengapa. Namun saya lalai untuk bertanya siapa yang berpikir komputer itu bodoh, dan mengapa - jadi saya pikir saya melewatkan beberapa jawaban yang berpotensi menarik.
- Mengundang anak-anak untuk datang ke meja membuat mereka terlibat aktif ... tapi mungkin agak terlalu aktif di kali. Irisan roti mulai menghilang dari meja dan beberapa penonton meniru komputer sedekat mencelupkan jari mereka sendiri ke dalam mentega dan selai jeruk :-) Jadi lebih baik untuk menjaga jarak.
- Untuk mengendalikan kerumunan yang lapar, anak-anak harus diberi tahu dengan jelas sebelumnya: "Anda bisa makan semua roti, tetapi hanya setelah demonstrasi!"
Tapi secara keseluruhan, saya cukup senang dengan hasilnya. Dan saya yakin anak-anak mendapat pesan inti: sebagai seorang programmer, jika Anda menghindari membuat kekacauan, Anda dapat membuat roti Anda (bahkan dengan selai jeruk :-)
Jawaban:
Saya pernah melakukan ini sebelumnya.
Saya meletakkan banyak handuk kertas di atas meja, dan mengeluarkan sepotong roti (murah), bak kecil mentega, toples kecil jeli, dan pisau mentega plastik.
Saya berkata kepada anak-anak, "Berapa banyak dari Anda yang berpikir bahwa komputer itu pintar?" Sebagian besar dari mereka mengangkat tangan. Saya berkata, "Komputer benar-benar bodoh. Orang-orang pintar. Anda harus memberi tahu semua komputer . Tidak tahu bagaimana melakukan apa pun . Saya akan menunjukkan kepada Anda apa yang saya maksud. Saya akan berpura-pura saya." Aku sama bodohnya dengan komputer, dan kalian memberitahuku cara membuat sandwich. "
Dan ketika anak pertama berkata "buka kantong roti!" Aku merobek kantong itu dan membiarkan roti jatuh secara acak ke seluruh meja. Itu membuat banyak tawa. Saya terus membawa anak-anak pada kata-kata mereka sampai mereka belajar untuk memberikan perintah pendek dan spesifik, dan akhirnya kami berakhir dengan roti lapis mentega dan jeli. Ada banyak tawa, tetapi mereka mengerti, setidaknya sedikit, apa yang dilakukan seorang programmer untuk mencari nafkah.
(Saya harus mencatat, saya juga telah melakukan demonstrasi ini dengan orang dewasa di kelas "intro to programming", dan itu berfungsi sama baiknya dengan mereka.)
sumber
Bagaimana dengan melakukan versi kinestetik dari Logo?
Katakanlah Anda memiliki dua anak berdampingan. Bisakah mereka mencari cara untuk berpindah tempat hanya dengan menggunakan perintah Langkah Maju, Langkah Kembali, Belok Kiri 90 Derajat, dan Belok Kanan 90 Derajat? Saya yakin ada game lain seperti melalui labirin, dll.
Saya pikir Anda akan menjaga perhatian mereka jika Anda bisa terus bergerak. Ini akan memicu minat. Mereka akan mengetahui kemudian bahwa pekerjaan itu tidak menetap. ;)
sumber
Jangan coba menunjukkan apa pun kepada mereka di komputer. Menonton tipe orang lain membosankan untuk orang dewasa. Untuk anak usia 5 tahun, itu adalah resep untuk anarki.
Sebagai gantinya, buatlah interaktif. Beberapa bentuk "Simon Says," tetapi mereka menjadi programmer .
sumber
Saya belum pernah mencoba ini, tetapi mungkin menyenangkan.
Secara fisik mendemonstrasikan suatu algoritma dengan menggunakan beberapa atribut dari setiap anak sebagai input data .
Misalnya, minta mereka untuk membentuk garis (dalam urutan apa pun mereka awalnya), berdampingan. Ini mungkin bekerja lebih baik dalam setengah lingkaran sehingga mereka dapat melihat satu sama lain melakukan latihan, tetapi harus ada jeda di suatu tempat. Kemudian, mulai dari satu ujung garis, suruh mereka bergiliran melakukan "jika teman sekelas di sebelah kiri Anda lebih tinggi daripada Anda, pindah tempat; jika tidak, tetaplah di tempat." Permainan berakhir ketika Anda melewati garis dan tidak ada yang berganti tempat. Buat mereka untuk mengamati hasilnya. (Petunjuk: semacam gelembung!)
sumber
Untuk mengubah anak-anak ke pemrograman, Anda pergi ke taman kanak-kanak di Rolls Royce Anda dan berjalan bersama orang penting lainnya yang cantik.
Jika Anda bukan Bill Gates, maka Anda hanya perlu menjelaskan bahwa Anda duduk dalam rapat yang membosankan selama 4 jam sehari, mencetak lembar sampul untuk laporan TPS selama 2 jam, dan menatap hal-hal bodoh yang ditulis oleh para programmer sebelumnya yang tidak mengerti untuk 6 jam lainnya. (Tidak perlu menyebutkan bahwa kemudian Anda menerima panggilan dari orang-orang yang menjaga program terakhir Anda dan yang menganggap ANDA adalah orang yang tidak mengerti sebelumnya).
Tidak, saya tidak pahit, mengapa Anda bertanya?
Serius, (saya yakin saya menjiplak dari salah satu dari 3 utas itu secara tidak sadar), minta mereka bermain "berikan instruksi kepada saya tentang bagaimana melakukan Y", dengan Anda melakukan hal-hal seperti Jin - semua salah kecuali instruksi sangat tepat dan bersih. Sebenarnya menyebut jin sebagai contoh yang baik dengan asumsi anak-anak melihat Aladdin.
; ^)
sumber
Buat mereka menulis program singkat agar Anda melakukan hal-hal sederhana (seperti memasuki ruangan dan duduk) dan kemudian jalankan secara harfiah untuk menunjukkan "bug" - di mana mereka tidak cukup spesifik atau tidak memperhitungkan sesuatu, jadi Anda akan melakukan kesalahan. Cobalah untuk tidak melukai diri sendiri dalam prosesnya. Itu harus lucu dan akan memberi mereka ide yang cukup bagus tentang apa itu algoritma.
sumber
Saya pikir Anda bisa melakukan demonstrasi berikut dalam 20 menit. Mungkin lebih cocok untuk anak yang lebih besar. Saya tidak benar-benar tahu apa yang bisa dilakukan oleh taman kanak-kanak. Saya pribadi akan menghindari mencoba menjelaskan pemrograman, dan bukannya menggambarkan masalah yang kita sebagai pemrogram menyelesaikan. Misalnya, jika ada cukup banyak anak, Anda dapat menunjukkan Internet kepada mereka secara interaktif.
Bagian I: Cara Kerja
Pertama, jelaskan kepada mereka, sebaiknya dengan alat peraga, bagaimana Internet bekerja. Membawa laptop yang terhubung dengan kabel (untuk efek visual) ke router rumah. Katakan bagaimana pemrogram komputer membuat semua jenis perangkat, termasuk program di laptop, program di router, dan aplikasi di perangkat lain yang terhubung ke Internet, seperti ponsel.
Jelaskan bagaimana komputer tidak terhubung secara langsung satu sama lain karena tidak mungkin menghubungkan kabel dari setiap komputer di dunia ke setiap komputer. Anda akan membutuhkan satu miliar kabel di rumah Anda. Jadi sebagai gantinya, komputer terhubung ke router. Dan router memberikan paket data (misalnya, email, gambar, atau video) ke router lain sampai akhirnya sampai ke komputer lain.
Jelaskan aturan untuk komputer untuk berbicara dengan yang lain:
Komputer hanya dapat memberikan paket ke router-nya.
Router dapat memberikan paket ke komputer yang terhubung dengannya, atau ke router terdekat.
Penjelasan ini harus sangat singkat, tetapi menekankan aturannya. Anda mungkin harus menyamakan paket dengan email atau gambar.
Bagian II: Waktu Interaktif
Kemudian mintalah 3 anak sukarelawan untuk menjadi router. Semua orang adalah komputer dan membaginya secara merata. Ini akan membantu untuk memiliki kartu berwarna yang dapat mereka pegang. Seperti orang yang memegang kartu biru tua adalah router yang dapat berbicara dengan semua orang yang memegang kartu biru muda. Katakanlah Anda membagikan kartu biru, merah, dan kuning.
Atur "router" dalam satu garis, biru, lalu merah, lalu kuning. Router biru kemudian harus memberikan paket ke router merah untuk memberikannya ke router kuning. Kelompokkan anak-anak lain di sekitar router mereka.
Bawa "paket" untuk setiap anak. Padukan dengan foto, surat, cetakan tic-tac-toe untuk melambangkan permainan, atau apa pun. Mulailah dengan mengirim satu komputer merah ke komputer berwarna kuning.
"Ashley, pilih komputer kuning yang kamu inginkan untuk mengirim fotomu. OK, untuk mengirim fotonya ke Brian, kamu harus memberikannya ke routermu, Kelly. Beri tahu Kelley siapa yang harus mendapatkan fotonya. Kelley, kamu biru, jadi kamu tidak bisa memberikan fotonya pada Brian. Kamu harus memberikannya kepada Timmy. Katakan pada Timmy siapa yang harus mendapatkan fotonya. Timmy merah, jadi dia tidak bisa memberikannya pada Brian. Dia harus memberikannya kepada Renee. Renee , Anda dapat memberikan gambar kepada Brian karena ia adalah komputer kuning dan Anda adalah router kuning. "
Kemudian mintalah setiap orang memikirkan satu orang untuk mengirim "paket" mereka, dan saksikan jaringan dadakan Anda beraksi.
Bagian III: Hubungkan kembali ke pemrograman komputer
Untuk menyimpulkan, tanyakan router apakah mudah untuk menjadi router, atau sulit karena ada banyak orang yang mencoba memberi Anda gambar pada satu waktu. Tunjukkan di mana kesalahan terjadi dan ikat ke dalam masalah nyata yang kami pecahkan.
"Saya bisa melihat bahwa Timmy dipenuhi dengan paket karena semua orang harus mengirim paket mereka melalui dia. Sebagai programmer komputer, kita harus menyelesaikan masalah seperti ini setiap hari. Salah satu cara kita dapat menyelesaikannya adalah dengan memberikan Timmy 4 lengan. Atau mungkin menambahkan router lain sehingga jika Timmy memiliki terlalu banyak paket untuk dikirim, Anda dapat memberikannya ke router lain. " Atau "Mungkin kita ingin gambar dikirim lebih cepat, jadi kita bisa meminta router untuk mengirimkan gambar terlebih dahulu sebelum mengirimkan paket lain."
sumber
Untuk meminjam dari ide-ide lain yang sudah diposting, permainan Simon Says mungkin cara untuk pergi. Namun, Anda dapat menekankan bagaimana komputer akan melakukan PERSIS apa yang Anda suruh mereka lakukan. Jadi, jika anak-anak itu adalah Simon, dan mereka berkata, "Kata Simon, duduklah." maka Anda hanya duduk di lantai (bukan di kursi terdekat atau apa pun). Ikuti instruksi untuk surat itu dan bukan ke roh. (Tentu saja, ini mungkin menyulitkan anak-anak untuk memberikan instruksi yang ambigu, tetapi saya yakin Anda dapat menemukan sesuatu.)
Selain itu, Anda juga dapat berbicara tentang permainan video atau "hal-hal" komputer lain yang mungkin telah digunakan anak-anak dan Anda dapat mengatakan bahwa para programmer, seperti Anda, menciptakan itu. Dan kemudian mungkin melompat ke Simon Says untuk menunjukkan cara kerjanya. Tentu saja, ini bisa mengakibatkan banyak anak-anak tumbuh dengan berpikir bahwa Anda menghabiskan seluruh hari Anda di kantor bermain Simon Says dengan komputer ...
sumber
Saya terkadang menganggap pekerjaan saya sebagai bermain dengan batu bata Lego. Anda mulai dengan satu set batu bata dari berbagai ukuran, bentuk dan warna, dan dari sana Anda membangun hal-hal yang lebih besar. Anda dapat membangun istana atau robot perang bintang menggunakan set batu bata yang sama.
Dan, ini tentang jumlah kesenangan yang sama!
sumber
Salah satu fasilitas utama pemrograman adalah kemampuan untuk menciptakan sesuatu . Untuk mewujudkan impian. Saya tidak berpikir ini akan sangat menarik bagi anak-anak kecil yang tidak memiliki masalah untuk membiarkan imajinasi mereka berkeliaran. Apa yang dibawa komputer ke meja?
Sebagai gantinya, Anda mungkin bisa menarik mereka dalam teka-teki pemecahan masalah. Jenis pemikiran yang dibutuhkan untuk pemrograman. Saya mungkin tidak akan menggunakan komputer sama sekali; sebagai gantinya, biarkan mereka memecahkan teka-teki matematika yang menarik. Tidak harus sulit tetapi harus melibatkan pemikiran kreatif.
sumber
Ketika saya mencoba menjelaskan pemrograman dalam waktu singkat kepada orang-orang yang tidak terbiasa dengan pemrograman, saya menjelaskannya menggunakan Lego. Dengan Lego Anda memiliki banyak potongan sederhana, ini seperti bahasa pemrograman. Kemudian Anda dapat menyatukannya sesuka Anda dan membuat apa pun yang dapat Anda bayangkan selama Anda memiliki bagian yang benar.
Bagi orang dewasa dan anak-anak, ini sepertinya analogi yang sangat menarik dan masih menunjukkan konsep pemrograman.
Selain itu, Anda bahkan dapat membuat mobil Lego dengan buruk, kemudian juga menampilkan mobil Lego dengan desain yang sangat bagus, dan menunjukkan kepada mereka bahwa pemrograman seperti ini. Anda dapat memprogram mobil atau robot atau apa pun yang dapat Anda bayangkan, tetapi tidak hanya ada satu cara untuk melakukannya, ada banyak cara untuk melakukannya. beberapa lebih baik dari yang lain.
Saya sudah mendapatkan banyak orang untuk memulai pemrograman dan bahkan mengganti jurusan mereka dengan analogi ini. :)
sumber
Saya pikir saya akan mulai dengan berbicara selama 2-3 menit tentang komputer, dan mereka mengikuti instruksi tentang apa yang harus dilakukan.
Lalu saya akan menunjukkan dengan robot LEGO Mindstorms prebuilt dan memprogramnya beberapa kali dan menjalankannya, hanya untuk menunjukkan kepada mereka bahwa ia mengikuti program. Pemrograman Mindstorms cukup visual dan mudah dipahami.
Akhirnya saya mencoba menjelaskan bahwa ada komputer yang menjalankan program hampir di mana-mana, bahkan di lampu lalu lintas, oven microwave dan mainan favorit mereka.
sumber
Bicara tentang seberapa luasnya pemrograman komputer - ini memandu maskapai penerbangan, ponsel, mobil, cara Anda membeli tiket secara online, dll.
Kemudian ajari mereka untuk menulis program sederhana secara simbolis - 1.Gambar kotak di papan tulis.
2.Gambar keju di satu ujung, dan mouse di ujung lainnya. 3.Memiliki mereka "program" moues untuk mendapatkan keju!
Berjalanlah mereka melalui upaya gagal mereka sebagai kelas, mungkin memiliki tikus jatuh perangkap atau sesuatu di grid. Mereka akan mendapatkan sensasi dari itu.
sumber
Bagaimana cara mengajar anak-anak tentang pemrograman?
Nah, langkah pertama kemungkinan akan melibatkan beberapa sapi!
Unduh gim pemrograman sederhana (seperti IQ Marathon ) ke laptop dan kaitkan itu ke proyektor. Ketika Anda melakukan ini, Anda dapat berbicara tentang bagaimana menjadi programmer sering kali berarti bekerja dengan teknologi terkini (dan dengan demikian memberikan demonstrasi Anda melakukannya).
Setelah Anda mengaturnya (berlatih sehingga Anda dapat membuatnya bekerja dalam 5 menit atau kurang), Anda dapat menggunakan permainan untuk menunjukkan dengan sangat visual (dan dengan sapi!) Bagaimana komputer hanya melakukan persis apa yang Anda suruh, dan bagaimana Anda (programmer) harus mencari tahu instruksi apa yang diperlukan untuk membuatnya melakukan apa yang Anda inginkan. Ketika Anda melakukannya dengan benar, semua orang sangat senang dengan kesuksesan Anda sehingga ada sapi penari!
Dari sana Anda dapat menjawab pertanyaan apa pun, atau mungkin membiarkan anak-anak mencoba dan mencari cara memprogram sapi sendiri. Ke mana pun mereka ingin pergi, sungguh.
Sapi!
sumber
Beri setiap anak bentuk potongan; lingkaran, bujur sangkar, segitiga, warna berbeda dll. Jelaskan bagaimana pemrograman memberi instruksi dalam urutan tertentu. Angkatlah sebuah gambar wajah tersenyum dan tunjukkan kepada anak-anak cara membangunnya. Lingkaran kuning, titik hitam, titik hitam, busur. Kemudian tunjukkan gambar yang lebih rumit, dan mintalah anak-anak datang berurutan berdasarkan instruksi Anda. Anda bahkan dapat membuat kesalahan (seperti menempatkan lingkaran kuning di atas titik-titik hitam) untuk menunjukkan bagaimana 'Bug' merayap ke dalam program.
sumber
Peragakan robot lego mindstorm sederhana dan diagram alir yang sesuai. Anda tidak perlu menunjukkan kode apa pun dan mereka dapat melihat hasil akhir dari logika Anda dengan menonton lego menjalankan program Anda.
sumber
Anak-anak suka hal-hal yang "melakukan sesuatu" dan lampu berkedip.
Untuk ulang tahun putra saya, saya membuat brankas (kotak dengan kunci listrik dan banyak led) yang terhubung dengan PC.
Mereka memiliki beberapa pertanyaan untuk dijawab, dan setiap respons menghasilkan led flash (hijau untuk jawaban baik dan merah untuk jawaban salah). Jika mereka menjawab cukup pertanyaan dengan benar, led mulai animasi sederhana yang berakhir dengan "clonk" yang keras. Brankas sekarang terbuka dan mereka bisa mengumpulkan hadiah mereka.
Itu menyenangkan untuk dibangun dan anak-anak menyukainya.
sumber
Jual mereka pada nilai otomatisasi tanpa pengawasan. Mintalah seorang anak berjalan ke depan ruangan dan menunjukkan kepada kelas apa yang dia lakukan setiap malam ketika dia menyikat giginya. Kemudian mintalah anak yang sama itu menunjukkan kepada Anda apa yang akan dia lakukan selama waktu itu jika dia tidak harus menyikat giginya.
Lalu katakan pada anak itu bahwa Anda tahu cara menggerakkan sikat itu di giginya saat dia melakukan hal lain yang lebih baik dia lakukan, dan katakan padanya dia bahkan tidak akan pernah merasakannya. Gigi-giginya akan secara ajaib bersih lain kali ibunya pergi memeriksanya.
Kemudian mungkin tuliskan beberapa pseudocode pada papan tulis yang menunjukkan Brush API mengakses sumber daya Tooth di utas latar belakang di belakang aktivitas Favorit.
sumber