Konsep dalam CS teoritis yang akan didekati usia 8-14


34

Mengira itu tidak mungkin pertanyaan umum, tetapi bertanya-tanya apakah ada yang melihat materi yang jelas dibuat untuk mengatasi audiensi ini dengan cara yang bermakna.




Saya sering memberi tahu anak-anak usia ini teka-teki klasik von Neumann: mengingat koin bias yang muncul sebanyak 70% dari waktu, apa cara menemukan bit yang tidak bias?
arnab

Jawaban:



21

kalkulus lambda

Cara yang menyenangkan untuk belajar -calculus:λ

... Game ini mewakili kalkulus lambda yang tidak diketik. Buaya yang lapar adalah abstraksi lambda, buaya tua adalah tanda kurung, dan telur adalah variabel. Aturan makan berhubungan dengan pengurangan beta. Aturan warna sesuai dengan konversi alfa (terlalu berhati-hati). Aturan usia tua mengatakan bahwa jika sepasang tanda kurung berisi satu istilah, tanda kurung dapat dihapus ....

tautan video


7
+1 @Pratik Deoghare: Jawaban yang menarik, namun apakah mungkin setidaknya dalam komentar untuk menjelaskan mengapa jawaban Anda relevan tanpa harus mengklik tautan dan menggali konten di halaman itu untuk menemukan jawabannya.
kesalahan

6
Seberapa sulitkah untuk mengklik dan membaca sedikit? Apakah kita benar-benar membutuhkan semuanya dalam ukuran seukuran gigitan?
Andrej Bauer

7
Ini sepertinya berbelit-belit ..
Izkata

15
@Andrej Bauer: Ya, sebenarnya SE meminta jawaban yang meringkas relevansinya, dan jangan hanya menautkan ke materi berdasarkan sebagai respons terhadap pertanyaan.
kesalahan

11
Saya menjadi sangat bingung setengah jalan dan harus membaca kembali aturan beberapa kali. Tidak mungkin anak berusia 8 tahun akan memiliki rentang perhatian untuk ini.
BlueRaja - Danny Pflughoeft

8

Dalam pengalaman saya, tidak sulit untuk mengajarkan topik dasar dalam kombinatorik, teori grafik, pemrograman, algoritma dan topik serupa.

Anda mungkin ingin mencari topik yang dibahas dalam kompetisi IOI dan kompetisi nasional. Ada sekolah musim panas dan lokakarya yang terkait dengan kompetisi IOI dimulai pada usia yang cukup dini.

Topik favorit pribadi saya untuk lokakarya semacam itu adalah teori permainan kombinatorial karena mudah dimotivasi dengan bermain game dengan penonton.

Juga memeriksa ACM K-12 CS Sumber Daya Kurikulum , khususnya halaman 11 dan 12 dari A Model Kurikulum untuk K-12 .


6

beberapa ide. menurut saya telah terjadi ledakan pilihan berkualitas tinggi namun biaya rendah untuk anak-anak dengan minat dalam ilmu komputer. catat hubungan kuat dengan STEM, yang disebut pendidikan Ilmu Teknik Teknologi Matematika. (Saya sudah berpikir bahwa mungkin pihak CS dapat ditekankan / didukung dengan kata kunci STEAM baru di mana A adalah singkatan dari Algorithmics.)

  • coba konsep logika boolean untuk mewakili operasi matematika. hal-hal seperti mengkonversi biner ke desimal, desimal ke biner, dan multistage adders dengan carry dari EE. membangun fungsi sewenang-wenang dari CNF atau DNF. bahkan seorang anak kecil dapat memahami konsep kelengkapan fungsional dengan DAN, ATAU, TIDAK. beberapa kit radioshack untuk hal-hal seperti ini termasuk mikrokontroler yang murah. lihat misalnya kit prangko dasar. ada beberapa simulator rangkaian sumber bebas / terbuka untuk keperluan ini. sayangnya saya tidak dapat menemukan didistribusikan dengan perpustakaan komponen sejauh ini. logisim adalah salah satu yang populer.

  • ada permainan keren ini yang berjalan pada sistem yang berbeda termasuk PC / ps3 / etc disebut Mesin Gila. ini dapat digunakan untuk memahami simulasi fisika dalam perangkat lunak dan membuat anak berpikir tentang sistem komponen yang berinteraksi dan reaksi berantai. versi ps3 baru memiliki banyak komponen listrik dan logika termasuk sakelar dan gerbang.

  • robotika. cobalah lego mindstorms robotika pada khususnya. perangkat lunak canggih yang memungkinkan hal-hal seperti loop, conditional, subrutin. subrutin yang terkandung dalam blok grafis yaitu sistem pemrograman visual yang tahun lalu sangat canggih (sekarang ini mainan). untuk inspirasi, ada banyak video pemecah robot rubiks cube di youtube seperti ini seni satu cubestormer II . desain untuk setidaknya satu dalam buku yang tersedia secara luas misalnya lego mindstorms nxt robot berpikir oleh Daniele Benedettelli. juga, baru-baru ini saya melihat tangan robot pneumatik derajat kebebasan ini . lihat juga liga kompetisi robotika Pertama .

  • menulis kode dasar untuk beberapa hal sederhana. misalnya menyortir. melakukan studi empiris dari berbagai algoritma pengurutan dan menonton / grafik hasilnya (misalnya grafik kinerja semacam gelembung vs qsort untuk meningkatkan ukuran input - lihat misalnya animasi pada halaman wikipedia ini untuk jenis penyisipan). semacam animasi. analog grafis rapi adalah untuk mengurutkan setumpuk kartu, bukan bilangan bulat atau string. juga banyak grafik atau operasi geometris seperti menggambar angka dalam kode adalah latihan yang sangat baik.

  • pemrograman game. ini dapat dilakukan di beberapa permainan yang luar biasa. misalnya Little Big Planet memiliki beberapa subsistem canggih di mana anak-anak dapat benar-benar membuat game mereka sendiri dengan sistem dan komponen konstruksi bawaan yang kompleks. bahkan dapat mempelajari interaksi / fenomena yang muncul dengan cara ini. mereka dapat diunggah ke internet dan dibagikan. bahasa lain untuk tujuan ini disebut awal . yang klasik dari Papert dengan banyak studi akademis tentang kemanjurannya adalah Logo

  • menggunakan simulator mesin turing & program pembangunan di dalamnya. ada beberapa. mereka datang dengan beberapa program. semakin grafis semakin baik. beberapa ditulis oleh profesor untuk kelas. Inilah salah satu yang ditulis dalam javascript . sebenarnya ingin tahu yang terbaik di bidang ini [mungkin pertanyaan lain untuk itu]


6

Bergantung pada orang yang Anda ajar dan bidang jangkauan itu.

Seorang anak berusia 12-14 tahun yang ingin dapat menangani apa saja, tetapi ia harus melakukannya sendiri, Anda tidak dapat benar-benar mendorong konsep yang rumit kepada orang-orang muda (atau sebagian besar orang).

Saya mendengarkan iWoz pada saat ini (yang tampaknya ditargetkan pada kelompok usia itu dan akan sangat inspirasional), pada usia itu ia sedang menyusun beberapa sirkuit yang cukup canggih - tetapi ayahnya hanya pernah menjawab pertanyaan, tidak pernah menyerahkannya konsep baru yang belum siap untuknya)

Atau dia mungkin sama sekali tidak tertarik dan tidak ada yang bisa Anda lakukan untuk itu.

Anak-anak dapat benar-benar terkesan dengan sesuatu yang sederhana. Jika Anda menemukan beberapa permainan yang disukainya dan membantunya membuatnya kembali (bahkan pada tingkat yang sangat dangkal namun masih serupa secara grafis), Anda mungkin benar-benar membuatnya bersemangat.

Atau, bahkan lebih baik lagi, jika Anda menemukan gim open source yang ada yang mungkin ia sukai, biarkan dia memainkannya lalu tunjukkan padanya bagaimana membuat sedikit modifikasi yang mungkin bisa membuatnya bersemangat. (Modifikasi sepertinya selalu menjadi cara terbaik untuk memulai)


+1 @Bill K: Ketika Anda mengatakan "[Anda] sedang mendengarkan iWoz pada titik ini", maksud Anda versi audio bukunya, atau yang lain; sebuah tautan akan menyenangkan, bahkan jika itu untuk membayar konten, hanya untuk memberikan referensi pada maksud Anda.
kesalahan

1
Maaf, iWoz adalah otobiografinya - ada di Audible dan tampaknya sempurna untuk seorang remaja yang penasaran dengan teknologi - ia berjalan lambat tetapi masuk ke sedikit detail tentang berbagai hal yang ia ciptakan dan proses pembelajaran. Anehnya, meskipun saya selalu merasa jauh lebih dekat dengan Wozniak dalam cita-cita dan benar-benar tidak menyukai kepribadian Jobs, saya menemukan biografi Jobs luar biasa menarik dan berwawasan luas, saya mendengarkan iWoz sebagai tandingan.
Bill K

5

Saya benar-benar mengajar kemah musim panas yang kebanyakan berisi siswa kelas 4, 5, meskipun saya memiliki siswa kelas 2 dan 3 (kelompok target usia Anda). Kamp-kamp itu berminggu-minggu dan saya mengajar XNA menunjukkan kepada mereka dasar-dasar jika, jika tidak, dan pernyataan sederhana bersama dengan photoshop. Masalah dengan XNA adalah saya harus membantu mereka memprogram sedikit hingga akhir minggu, kamp-kamp lain yang telah kami laksanakan termasuk robot lego dan GameMaker, keduanya masih memiliki teori CS yang sangat mendasar dan anak-anak menyukainya.


+1 @ Suiko6272: Tebak hal utama saya adalah bahwa saya melihat ilmu komputer, teknik komputer, dan rekayasa perangkat lunak sebagai topik yang berbeda namun terkait. Kira saya tertarik pada konsep yang murni terkait dengan CS teoritis; sebagian untuk mengajarkan perbedaan antara ilmu komputer, teknik komputer, dan rekayasa perangkat lunak.
kesalahan


2

Saya pikir Planarity adalah permainan yang bagus. Ini memberikan beberapa ide tentang grafik planar, dan memperkenalkan konsep-konsep dasar teori graf (seperti grafik yang dibuat oleh node dan edge, dan derajat node, apa itu planar graph, ...)


1

Sungguh mengejutkan bahwa tidak ada yang disebutkan menggunakan perkalian untuk menjelaskan konsep kepraktisan komputasi. Kami menyatakan bahwa penggandaan mudah karena kami memiliki algoritma cepat buku teks standar untuk perkalian, sementara fungsi sebaliknya untuk menemukan faktor-faktor utama sulit karena tidak ada algoritma cepat yang diketahui dan algoritma yang paling terkenal tidak jauh lebih cepat daripada pencarian yang lengkap.


@Seed, Apakah saya menyebutkan pengujian primitif ?!
Mohammad Al-Turkistany

Maaf kesalahan saya, saya salah membaca (saya membaca: "menemukan bilangan prima ...", sebenarnya secara terbalik saya pikir Anda ingin berbicara tentang bilangan prima, dan dengan bias ini saya membaca kalimat Anda).
Saeed

0

Sumber masalah yang bagus untuk membuat anak-anak berpikir tentang teori dalam CS, dan memecahkan masalah itu sendiri, adalah seri "Ilmu Komputer Unplugged" http://csunplugged.org/ . Kami pergi ke sekolah dan melakukan kegiatan dengan anak-anak, atau mereka datang ke Uni untuk melakukannya bersama kami.

Sudah berlangsung bertahun-tahun, telah diterjemahkan ke banyak bahasa --- dan artikel memberikan info tentang cara menjalankan sesi, materi apa yang dibutuhkan dan tips dari orang-orang yang telah menjalankannya sebelumnya.

Sangat dianjurkan!


2
Ya. Lihat jawaban Serge Gaspers.
Jeff

-1

zz2+c


2
Fraktal memang keren, tetapi sebenarnya bukan "konsep dalam CS teoretis".
Jeffε

masih menunggu di sini untuk daftar resmi topik TCS, saya mendefinisikannya secara luas & ini didukung oleh banyak orang lain misalnya bahkan spolsky . bagi saya fraktal sangat cocok dengan penelitian empiris . banyak peneliti CS elit telah mempelajarinya di banyak makalah penting (maaf tidak punya daftar atau survei, mungkin yang terpenting adalah Wolfram). ini adalah debat lama yang kembali ke asal mereka, meskipun tebaklah debat yang sah.
vzn

2
Silakan lihat bagian pertama faq untuk definisi yang masuk akal dari "ilmu komputer teoretis". (Juga, Joel berargumen untuk memperluas cakupan situs di luar ilmu komputer teoretis; komunitas tidak sependapat.)
Jeffε

kira itu diskusi meta tapi saya menafsirkan posting spolskys berbeda. ia mendaftarkan banyak bidang ilmu komputer & imho setiap bidang tersebut memiliki sisi teoretis. berpikir untuk bertanya tentang fraktal & melihat apa yang terjadi
vzn

1
Saya setuju; ini lebih baik dibahas dalam meta.
Jeffε
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.