30 menit untuk menjelaskan pemrograman ke anak berusia 15 tahun [ditutup]

100

Saya telah secara sukarela duduk dan berbicara tentang kehidupan dan pekerjaan Pengembang dengan seorang siswa pengalaman kerja berusia 15 tahun minggu depan.

Tangkapannya adalah itu

  • Saya hanya punya setengah jam, dan
  • Saya akan menjadi salah satu dari orang-orang yang berbicara dengannya - orang lain dalam peran berbeda dalam bisnis ini juga akan menjalankan elemen pekerjaan mereka dengannya sepanjang hari.

Apa yang harus saya liput, dan apa yang bisa saya harapkan untuk mengajarinya hanya dalam setengah jam?

Saya berasumsi bahwa dia mungkin tidak memiliki pengalaman dengan pengembangan atau pemrograman.

Dexter
sumber
158
Sangat menyedihkan bagaimana melindungi banyak jawaban ini terhadap anak-anak - mereka memiliki rentang perhatian yang pendek, mereka tidak memahami hal-hal jika mereka tidak visual, mereka tidak dapat menangani hal-hal yang rumit. Kita berbicara tentang seorang anak berusia lima belas tahun di sini. Anak berusia lima belas tahun cukup mampu memahami dan melakukan hal-hal rumit, menghabiskan waktu berjam-jam untuk terlibat dalam sesuatu, dan memiliki pikiran abstrak. Saya akan mengambil yang cerdas lima belas tahun lebih dari kalian bodoh!
Tom Anderson
8
@ Tom Di sisi lain, saya secara pribadi mengalami bagaimana kebanyakan orang dewasa bahkan menemukan sesuatu selain visual pada komputer yang membosankan. Itu tergantung pada anak itu dan seberapa besar minat mereka terhadap komputer.
jhocking
6
@ jh: Heh! Saya kira pertanyaannya bukanlah apakah orang ini berusia lima belas tahun, tetapi apakah mereka cerdas dan ingin tahu. Kita semua (kecuali Maxpm) bisa menjadi pembuat baju tua sekarang, tetapi kita semua lima belas kali, dan saya agak ragu bahwa kita yang orang dewasa yang cerdas dan ingin tahu adalah remaja yang membosankan dan tidak tertarik.
Tom Anderson
33
"Pertama saya masuk kerja sedikit setelah jam 10 pagi, minum banyak kopi, mengejarnya dengan Mountain Dew dan minuman energi. Saya menghabiskan 2 jam berikutnya memeriksa surat-surat saya, bertukar resep dengan satu-satunya pengembang wanita di seluruh gedung, lalu tidur sebentar setelah makan siang. Bangun, periksa email lagi, jelajahi youtube untuk video kucing, tonton komik dilbert dan smbc terbaru. Sebelum Anda menyadarinya, pukul 4:30, waktunya pulang. Sendiri Saya tidak bisa berbuat banyak, tetapi 100 programmer mengumpulkan hal yang sama setiap hari 3 tahun, well, begitulah video game dilahirkan. "
Juliet
5
@ Tom: tepatnya. Banyak programmer memulai sebelum usia 15, jadi saya tidak mengerti sikap merendahkan.
Neil G

Jawaban:

130

Saya sering berinteraksi dengan siswa sekolah menengah, jadi saya cukup sering menjawab pertanyaan ini. Ingatlah bahwa anak berusia 15 tahun jauh lebih mudah untuk menjelaskan pemrograman dari pada usia 50 tahun - jadi Anda tidak perlu bodoh atau menggunakan analogi yang dibuat-buat.

Saya biasanya memulai dengan contoh program apa:

  • Aplikasi seperti iTunes, Photoshop, Chrome, dan game termasuk game konsol.
  • OS seperti Windows, Mac OS, iOS iPhone, Android. (Percayalah, mereka akan tahu apa yang Anda bicarakan.)
  • Program yang menghitung angka atau memecahkan masalah matematika yang sangat rumit - simulasi cuaca, simulasi biologis, menghitung pi, AI, pemrosesan bahasa dll.
  • Sebagian besar situs web canggih juga melibatkan pemrograman.
  • Mesin penjual tiket transit dan ATM, pengatur waktu microwave dan lemari es, navigasi mobil.

Setelah itu, saya biasanya menjelaskan bahwa kita membuat kode program dalam bahasa formal yang dapat dikenali oleh komputer, sering kali mengetiknya dalam sesuatu yang sederhana seperti Notepad. Bahasa terlihat seperti persilangan antara matematika dan bahasa Inggris, menggambarkan konsep dan memberikan formula dan instruksi untuk diikuti oleh komputer.

Kemudian mereka biasanya bertanya apakah saya di komputer sepanjang waktu, apakah ini sebabnya saya selalu di Facebook, dan mengapa mata saya belum memburuk. Cowok bertanya apakah saya tahu cara "meretas orang", dan cewek bertanya apakah itu uang baik atau berapa banyak cewek di kelas ilmu komputer.

Setelah itu, jika mereka masih tertarik, mereka biasanya mulai mengajukan pertanyaan spesifik yang jauh lebih mudah untuk dijawab (atau setidaknya untuk Wiki): hal-hal seperti bagaimana Anda membuat game, cara kerja Windows Messenger dll.

Jika Anda memiliki komputer, Anda dapat menunjukkan dan memberi tahu beberapa kode - sesuatu yang akan memiliki efek nyata, seperti handler klik tombol dari kotak dialog pengaturan di Firefox, loop utama atau kode fisika dalam mesin permainan, beberapa Sumber JavaScript dari situs web dll.

Rei Miyasaka
sumber
73
Terima kasih telah mengingatkan saya bahwa menjelaskan pemrograman kepada seorang anak mungkin lebih mudah daripada menjelaskannya kepada orang dewasa. Saya selalu lupa bahwa mereka tidak pernah dikelilingi oleh komputer.
jhocking
12
hahaha Saya mendapatkan itu sepanjang waktu, jika Anda tahu cara "meretas orang" hahahahaha
John Connelly
3
@jocking Saya juga berpikir banyak dari mereka lebih terang daripada kebanyakan generasi kotak idiot. Selain kualitas, banyaknya teks yang mereka baca pasti akan bermanfaat.
Rei Miyasaka
4
@rei: Ya, saya telah mengembangkan keterampilan sosial, dan saya merasa ngeri layaknya jumlah perhatian yang diterima oleh beberapa perempuan di kelas-kelas itu ... Itu dimaksudkan dengan baik, tapi ... mengkhawatirkan. Jika itu aku, aku akan berlari menjerit. Dikelilingi oleh segerombolan pernafasan berkeringat pasti akan mematikan bagi orang normal, jadi Anda harus menyukai perhatian itu, atau Anda harus benar- benar menyukai comp sci. Jadi tentu saja tidak mengejutkan saya bahwa ada sedikit perempuan. Saya membayangkan di sekolah-sekolah kecil itu tidak begitu mengerikan.
Satanicpuppy
4
Yah, saya biasanya datang paling lambat lima belas menit terlambat, ah, saya menggunakan pintu samping - dengan cara itu Lumbergh tidak bisa melihat saya, heh heh - dan, eh, setelah itu saya hanya menyortir ruang sekitar satu jam. Ya, saya hanya menatap meja saya; tapi sepertinya aku sedang bekerja. Saya melakukan itu mungkin satu jam setelah makan siang juga. Saya akan mengatakan dalam minggu tertentu saya mungkin hanya melakukan sekitar lima belas menit pekerjaan nyata, aktual,.
teambob
73

Saya menjelaskannya kepada anak saya yang berumur lima tahun dengan yang berikut:

Saya: "Anda tahu bagaimana, dalam cerita, orang mengatakan kata-kata ajaib, dan mengubah hal-hal di dunia?"
Her: "Yeaaa?"
Saya: "Itulah pemrograman komputer."
Dia (diam-diam): "Wow."

15-30 menit tidak cukup untuk menjelaskan sesuatu yang nyata, dan menjelaskan kompleksitas yang mendasarinya adalah cara yang pasti untuk membuat mereka berlari menjerit. Anda bekerja di dalamnya setiap hari, Anda lupa betapa kerennya itu. Tidak ada profesi lain di dunia yang menciptakan hal-hal fungsional hanya dengan kata-kata ... Pada titik tertentu, semua orang harus masuk ke dunia daging, dan mulai memukuli benda-benda dengan palu. Itulah satu-satunya cara mereka dapat membuat ide mereka menjadi sesuatu yang berhasil.

Bukan kita.

Satanicpuppy
sumber
77
lol @
ajari
23
"Tidak ada profesi lain di dunia yang menciptakan hal-hal fungsional hanya dengan kata-kata" - yang dilakukan oleh pengacara dan legislator kontrak.
Tom Anderson
48
@ Tom Mereka mungkin membatasi hal-hal fungsional lebih dari yang mereka buat.
Maks.
16
@ Tom: Tidak, mereka tidak. Brief hukum tidak lebih merupakan hal fungsional daripada cerita atau puisi. Hukum seperti cetak biru: ia menetapkan ide, tetapi kemudian seseorang harus keluar ke dunia daging dan menegakkannya. Tapi kode? Saya bisa menulis sebuah program untuk membeli atau menjual saham berdasarkan logika internalnya sendiri, dan itu akan berhasil tanpa masukan lebih lanjut dari saya. Saya bisa menulis satu untuk mengatur gerbang banjir, mengubah rute listrik, menyalakan atau mematikan lampu tergantung pada waktu hari. Ini unik di antara profesi.
Satanicpuppy
15
@ Setanpuppy: Tidak, Anda tidak bisa menulis program yang akan melakukan hal-hal itu. Seorang insinyur elektronik bisa membuat komputer yang bisa melakukannya. Jika Anda bertanya dengan baik, mungkin dia akan membawanya ke dunia daging dan menegakkan program Anda.
Tom Anderson
56

Seorang anak berusia 15 tahun dapat memahami konsep apa pun. Saya sendiri mulai pemrograman pada usia 14 tahun (di sekolah, bertahun-tahun yang lalu)

30 menit sudah cukup untuk demo. Tunjukkan padanya keajaiban pemrograman dengan sesuatu yang tersebar luas seperti browser.

  1. Temukan PC yang terhubung ke internet. (Lebih menyenangkan jika itu bukan milikmu, dan bahkan lebih lagi jika itu miliknya)
  2. Pergi ke http://api.jquery.com/jQuery.getJSON/
  3. Gulir ke bawah halaman dan temukan kode HTML untuk contoh kucing .
  4. Pilih kode HTML dan salin.
  5. Pergi ke http://jsdo.it dan klik Mulai coding .
  6. Buka akun menggunakan OpenID milik Anda. (satu langkah proses)
  7. Pilih tab HTML di panel kiri dan tempel di sana.
    • dalam sekejap sekelompok kucing akan muncul di panel kanan
  8. Potong javascript dan tempel ke tab JavaScript . (untuk penyorotan sintaksis)
    • dalam sedetik kucing secara otomatis menyegarkan di panel kanan
  9. Cari properti tag di javascript dan ubah menjadi "dog".
    • sekelompok anjing muncul
  10. Buat dia mengulangi prosesnya sendiri dengan tag lain pilihannya.
    • sarankan dia untuk mencoba dengan dua tag, dipisahkan oleh koma
  11. Ubah baris "if (i == 3)" menjadi "if (i == 5)"; biarkan dia menyadari itu
    • sekarang ada 6 gambar dan sebelum ada 4
    • akan lebih baik jika nomor dalam kode cocok dengan nomor di halaman
  12. Perbaiki bug bersama (tukar baris itu dan yang sebelumnya)
  13. ...
Ando
sumber
1
Atau Anda dapat menggunakan jsfiddle, tanpa perlu mendaftar: jsfiddle.net/WXVra
rjmunro
terbaik! codecademy.com
jhocking
26

Langkah

Sebagai anak berusia hampir 15 tahun, saya dapat dengan yakin mengatakan kepada Anda bahwa Anda harus memiliki awal yang spektakuler .

  1. Jelaskan apa yang dibuat oleh programmer. (Game, simulator.) Perlihatkan sesuatu yang keren yang Anda buat. (Di komputer. Harap tidak ada baris perintah - yang tampaknya membuat semua orang takut.)
  2. Jelaskan bagaimana Anda membuatnya.

    • Beri tahu mereka bahwa Anda tidak mengetik 10101010sepanjang hari. Katakan kepada mereka Anda bahkan tidak tahu bagaimana melakukan itu. ( Lie. Anda tidak tahu apa 10101010artinya, benar;?)) Katakan kepada mereka bahwa itu adalah tahun yang lalu.
    • Mulai IDE Anda. Pastikan terlihat keren - MSVS2010, QtCreator , dan NetBeans semuanya baik-baik saja. Pastikan untuk menghapus beberapa hal ekstra agar terlihat kurang mengintimidasi (kurang menu), tetapi simpan efek visualnya.
    • Tunjukkan pada mereka contoh beberapa pseudocode. Mudah dimengerti:

      Display Window
      Display "I like cheese!"
      Display OK button
      
      If user clicks OK button, close Window
      

      Lakukan langkah demi langkah itu. Katakan pada mereka ini bukan seperti apa bentuk kode itu. Seperti kode English + Math. Tetapi tidak sulit untuk mempelajari "bahasa" (baca: sintaksis) tempat Anda berbicara.

    • Tunjukkan pada mereka sebuah contoh dengan sedikit lebih "matematika", kali ini.

      User inputs A
      User inputs B
      
      C = A + B
      
      Display C
      

      Jelaskan bahwa kode itu menambahkan dua angka bersamaan, seperti kalkulator. Tunjukkan pada mereka kode "nyata" untuk ini. (Pastikan Anda meletakkan sebagian besar UI dan hal-hal lain dalam file terpisah, dan simpan file yang Anda tunjukkan singkat dan sederhana.) Ubah ke program pengurangan (dengan mengubah tanda dari +menjadi -) tepat di depan mata mereka.

  3. Jelaskan apa yang perlu mereka ketahui untuk melakukan pemrograman. (Di berbagai tingkatan.)

    • Keterampilan aljabar dasar, seperti jika x + 1 = 2, lalu x = 1.
    • Keterampilan pemecahan masalah.
    • ["Advanced"] Matematika tingkat lebih tinggi. Ini untuk programmer yang bekerja di tempat-tempat seperti NASA.

Ketentuan yang bisa Anda gunakan

Kami tahu lebih dari yang Anda pikirkan.

  • Facebook, Twitter, Jejaring Sosial
  • Windows, Mac, Linux
  • Desain, Lebih Cepat, Pengujian, Memulai / Menjalankan

Ketentuan yang harus Anda jelaskan

Ya, kami masih perlu menjelaskan beberapa hal.

  • Compiler: Mengkonversi kode (seperti contoh pada langkah 2) menjadi 10101010.
  • Bahasa pemrograman: Seperti contoh pada langkah 2.

Ketentuan yang tidak dapat Anda gunakan

Beberapa dari kita tahu hal ini, tapi tolong jangan katakan itu.

  • Segala jenis "sistem" selain Sistem Operasi
  • Optimasi, Analisis (oh oh)
  • Input / Output (jika Anda perlu menggunakan ini, cobalah membuatnya sesederhana mungkin)
muntoo
sumber
Mencari IDE 'keren'? Tidak terlihat lagi dari Xcode.
Alan Zeino
2
@Lan Zeino maksudmu Emacs.
rightfold
Saya suka jawaban ini. Saya pikir seseorang yang mengambil taktik ini akan mencapai lebih dari seseorang yang mengerjakan jawaban yang lain (juga berkualitas tinggi) untuk pertanyaan ini.
TehShrike
17

Jika Anda masuk untuk mulai membicarakan hal-hal seperti proses, pola, persyaratan, dan semacamnya, dia akan segera tutup. Anak-anak sekarang ini memiliki grafik dan motivasi visual, jadi saya akan membawa sesuatu untuk membantu mempromosikan jenis-jenis stimulus itu. Tunjukkan padanya sesuatu yang manis di web dan kemudian pada tingkat tinggi jelaskan kepadanya apa yang membuat ITU terjadi. Saya bahkan menyarankan membawa laptop pengembangan Anda dan membuat sesuatu yang "keren" terjadi di layar - ubah kode di depannya dan kemudian saksikan perubahan di layar. Pada usia itu, mereka SANGAT cerdas dan visual apa pun akan membantu memicu minat.

Catchops
sumber
oh ya visual adalah ide bagus. Dengan risiko ini menjadi terlalu seperti kelas, saya akan sangat mungkin menggambar diagram di papan tulis untuk menggambarkan semua yang saya katakan.
jhocking
1
Berbicara tentang visual, bagaimana dengan menunjukkan padanya sebuah video kecil atau program Alice?
Carlos Campderrós
9
@Carlos Saat berusia 15 tahun, saya pribadi bisa membuktikan bahwa saya membenci Alice dengan semangat ribuan matahari yang membara. Itu mungkin karena saya sudah tahu cara memprogram. Saya tidak yakin bagaimana total pemula melihatnya.
Maks.
1
+1 untuk "ubah kode di depannya dan kemudian saksikan perubahan di layar" - mulailah dengan menunjukkan koneksi langsung antara hal 'nyata' dan kode di belakangnya. Sesuatu yang cukup dalam, seperti pengurutan atau pencarian beberapa data, tidak hanya mengubah sedikit JSP atau pemformatan string. Buat koneksi itu, lalu bangun darinya.
Tom Anderson
1
Kemampuan untuk mengubah tampilan sebuah program dengan hanya beberapa baris kode adalah apa yang membuat saya tertarik dalam pemrograman bertahun-tahun yang lalu - terima kasih atas sarannya
Dexter
13

Ada dua analogi hebat yang saya andalkan ketika menjelaskan pekerjaan pemrogram. Salah satunya adalah resep; metafora itu berguna untuk menjelaskan dalam skala kecil apa yang dilakukan setiap baris kode. Pekerjaan seorang programmer adalah menulis resep, dan komputer adalah juru masak.

Analogi lainnya adalah bahwa program besar itu seperti perusahaan besar. Ada sejumlah departemen yang berbeda yang fokus pada bidang yang berbeda dan mengirim pesan bolak-balik, dan akhirnya mencapai tujuan perusahaan. Pekerjaan seorang programmer adalah merancang bagaimana pengaturan organisasi, dan komputer adalah semua orang di perusahaan.

jhocking
sumber
8

Saya akan mengatakan tetap umum. Pemrograman dan banyak profesi lain bermuara pada pemecahan masalah. Tunjukkan padanya bagaimana Anda memecahkan masalah setiap hari. Anda mungkin memberi tahu dia tentang proyek yang sedang Anda kerjakan dan bagaimana itu akan membantu klien Anda. Juga sertakan sedikit tentang mengapa Anda (mungkin) menyukai pekerjaan Anda.

Dalam kasus saya, saya telah mengembangkan situs web tutorial video pendidikan tempat anggota staf lainnya memposting tutorial. Saya akan menjelaskan tentang motivasi untuk proyek (mengajar orang lain dari jarak jauh tanpa harus mengikat orang), masalah yang saya hadapi (saya tidak harus melihat ini sebagai masalah sulit) dan bagaimana saya menyelesaikannya. Saya juga berbicara tentang mengapa saya suka pemrograman sejak awal: Saya suka menciptakan sesuatu dan kontribusi pemrograman ke dunia modern.

Peter Smith
sumber
8

Berikan dia contoh perangkat lunak yang telah Anda kerjakan. Apakah Anda memiliki klien yang menggunakan perangkat lunak Anda secara publik? Apakah Anda mengembangkan aplikasi in-house yang bisa Anda tunjukkan padanya? Tunjukkan padanya hasil akhir dari pekerjaan Anda, apa yang dilihat dan digunakan pengguna akhir.

Kemudian, jelaskan bahwa Anda membantu menulisnya. Bacalah bagian-bagian yang Anda tulis. Perlihatkan beberapa kode jika Anda bisa. Uraikan bagaimana garis-garis kode tersebut membuat beberapa bagian dari aplikasi berfungsi.

Bicara tentang seberapa banyak kenikmatan yang Anda dapatkan dari melihat kode Anda digunakan oleh orang-orang.

Begitulah cara saya menjelaskannya kepada sepupu saya yang berusia 14 tahun. Dia cukup terkesan dan memutuskan untuk mengambil kelas pemrograman untuk semester berikutnya.

Tyanna
sumber
5
Ini bekerja dengan baik jika Anda bekerja pada perangkat lunak yang terlihat keren untuk non-programmer. Banyak proyek baru-baru ini saya tinggal di database dan "terlihat" seperti baris perintah (dan bahkan yang tidak ada di aplikasi web yang tampak sangat membosankan - tetapi selama data diproses OK tidak ada yang peduli). Untuk non-programmer, ini adalah prompt yang berkedip yang mengeluarkan satu baris teks setiap beberapa menit, lalu berhenti. Sangat membosankan untuk melihat ... sigh :(
FrustratedWithFormsDesigner
1
Ambil pandangan yang lebih besar tentang "hasil akhir dari pekerjaan Anda". Itu tidak hanya berarti perangkat lunak yang Anda gunakan; itu juga bisa berarti berbagai aplikasi klien yang diaktifkan oleh perangkat lunak back-end yang Anda kerjakan.
jhocking
Setidaknya Anda bukan pengembang SharePoint seperti saya, @FrustratedWithFormsDesigner .. Saya yakin saya dapat menemukan sesuatu yang terlihat keren di antara semua kurung sudut saya!
Dexter
4
@FrustratedWithFormsDesigner Saya pergi pada hari "mari kita membujuk anak-anak sekolah itu layak diterapkan ke CS" ketika saya berusia 15, bersama dengan beberapa anak-anak cerdas dari sekolah saya. Hal-hal baris perintah TERLIHAT COOL. Itu tampak sangat kuat bagi kami, dan itu membuatnya COOOOOL. Jangan berasumsi bahwa gadis-gadis berusia 15 tahun tidak ingin menguasai alam semesta :)
testerab
Tentunya Anda telah memprogram sesuatu yang menyenangkan di waktu luang yang dapat Anda tunjukkan. Saya memprogram permainan Tetris, penampil fraktal, dan pemecah sudoku. Semua ini menyenangkan untuk ditampilkan.
Carra
7

Apakah Anda terbiasa dengan permainan papan Robo Rally?

Saya telah menemukan bahwa itu adalah analogi kesenangan prefek untuk pemrograman. Anda pada dasarnya memprogram robot Anda menggunakan perintah sederhana (kebanyakan panah) untuk mencapai tempat tertentu di papan permainan sebelum yang lain.

Man aku berharap aku masih punya BigTrak saya ...

Sistem Down
sumber
4
Kami memainkan ini secara semi-teratur di malam permainan kami (hingga 8 orang, sebagian besar adalah siswa matematika atau CS). Adalah baik untuk menunjukkan bagaimana multithreading bisa salah :-p
Paŭlo Ebermann
@ Paulo - LOL Tidak pernah berpikir seperti itu, tetapi Anda benar!
Sistem Down
6

Perlihatkan sesuatu yang sederhana, tetapi bermanfaat. Contoh yang baik menurut saya adalah sebagai berikut:

  1. Dapatkan folder penuh atau gambar (cukup agar tidak semua muat di satu layar di penjelajah folder Anda)
  2. Katakan kepada mereka tujuan Anda adalah mengubah ukuran gambar (mungkin agar Anda dapat mengirim email kepada teman-teman, atau memposting secara online di suatu tempat, apa pun)
  3. Tunjukkan pengubahan ukuran satu gambar di GIMP / Photoshop / apa pun
  4. Sekarang tunjukkan bahwa melakukan itu memakan waktu setidaknya 30 detik, dan Anda memiliki banyak gambar, Anda tidak ingin menghabiskan satu jam melakukan ini
  5. Tulis skrip shell untuk mengubah ukuran semuanya menggunakan ImageMagick
  6. Buat mereka kagum bahwa mengubah ukuran semua gambar dengan program 3-line sederhana Anda lebih cepat daripada mengubah ukuran gambar tunggal di Photoshop

Alasan saya menyukai pendekatan ini adalah:

  • Anda tidak perlu memberi tahu mereka mengapa pemrograman bermanfaat, mereka hanya melihat mengapa
  • Anda dapat menulis seluruh program dalam beberapa detik saat mereka sedang menonton (saya sarankan mencobanya sebelumnya, karena demonstrasi selalu salah)
  • Anda tidak berasumsi mereka idiot / butuh semacam "anak" contoh - Ini adalah contoh sederhana, tetapi memiliki penggunaan dunia nyata .

Anda mungkin dapat memikirkan contoh yang lebih baik, tetapi saya pikir gaya ini membantu untuk "intro pertama".

Brendan Long
sumber
5

Sebagian besar anak berusia 15 tahun "hari ini" memiliki banyak pengalaman dengan komputer. Saya akan pergi untuk pendekatan yang lebih dekat. Saya akan menunjukkan padanya sedikit kode (jangan mencoba menjelaskannya secara terperinci, tetapi mungkin membahas dasar-dasar ekstrim dari "aliran") dan menunjukkan kepadanya apa hasilnya. Bahkan HTML akan berfungsi untuk contoh semacam ini. Lalu katakan "Setiap hari, pada dasarnya saya melakukan itu .. kecuali dengan puluhan ribu baris kode dan program yang sangat besar dan kompleks".

Kemudian jelaskan masalah apa yang Anda selesaikan dengan pemrograman, dan mengapa Anda suka melakukannya. Sebagai contoh, saya katakan saya suka pemrograman karena "Saya suka melihat kode saya menjadi hidup di komputer sebagai aplikasi"

Earlz
sumber
4

Pertama, Anda memiliki persaingan yang perlu Anda sanggah.

Film, budaya populer, dan bahkan orang-orang di lapangan ( dan pertanyaan ini ) mencoba menggambarkan pemrograman (dan sebagian besar bidang ilmu komputer) sebagai semacam sihir. Itu bukan sihir.

Pemrograman hanya menggambarkan tugas-tugas dan kemudian menggabungkan tugas-tugas itu untuk menyelesaikan masalah. Jika Anda mencoba mencari paralel, gunakan matematika. Komputer seperti guru matematika yang mengharuskan Anda menunjukkan semua pekerjaan Anda .

Dari sudut pandang fisik, komputer tidak pintar - mereka hanya tahu sebanyak yang kami katakan. Jadi ketika seorang programmer komputer ingin membuat sebuah program yang, misalnya memainkan musik dari CD, mereka 'hanya' perlu memberi tahu komputer cara membaca data yang disimpan dalam CD, lalu bagaimana mengubah data itu menjadi gelombang suara dan terakhir , bagaimana cara mengeluarkan gelombang suara dari speaker Anda.

Mengambil ide ini ke tingkat berikutnya, Anda dapat melanjutkan tentang bagaimana pemrograman membangun tugas di atas satu sama lain. Sama seperti dia harus belajar aritmatika sebelum mereka bisa belajar aljabar dalam matematika, komputer juga perlu diberitahu bagaimana 'melakukan dasar-dasar' sebelum Anda dapat memberi tahu mereka cara melakukan tugas yang lebih rumit. Selama bertahun-tahun, para ilmuwan dan pemrogram komputer telah mampu 'mengajar' komputer cukup dasar sampai-sampai kita dapat mulai 'berbicara' dengan mereka lebih dekat dengan bagaimana kita berbicara satu sama lain.

Kembali ke kehidupan nyata, guru matematika Anda mungkin memberi tahu Anda untuk menyelesaikan "15 pangkat 3", tetapi Anda hanya tahu bagaimana melakukannya karena sebelumnya Anda diajarkan bahwa "X pangkat Y" terurai menjadi tugas "Kalikan X dengan X , dan lakukan itu Y kali" [secara teknis Y -1 kali, tapi eh.]

Sama seperti kelas matematika Anda, programmer telah membangun basis tugas yang 'diketahui' sehingga kita tidak perlu fokus pada detail hal-hal kecil dan dapat mencurahkan waktu kita untuk menyelesaikan masalah yang sebenarnya dan tidak begitu banyak bagaimana melakukan yang mendasarinya tugas - kita sekarang dapat menganggap komputer memahami bagaimana melakukan hal-hal dasar.

berkaki tiga
sumber
3

Saya akan melakukan apa yang membuat saya ketagihan ketika saya berusia sekitar 9. Ambil C64 keluar dari loteng, dan lakukan:

10 PRINT "YOU SMELL"

20 GOTO 10

(Terimakasih ayah).

Lalu ketika kesenangan itu berakhir. Saya akan menunjukkan padanya permainan menebak angka. Yap, semuanya dalam BASIC. Tidak perlu sekarat untuk bahasa modern untuk menunjukkan komputer mengambil instruksi.

Martin Blore
sumber
2
Baik. Anda memukul paku di kepala. Jadikan itu sangat sederhana, dan buatlah itu menyenangkan. Dan BASIC sangat cocok untuk itu.
Mike Dunlavey
1
Setuju, BASIC hebat dan GOTO adalah konstruksi bahasa terbaik untuk memulai. Program pertama saya sangat mirip.
Tomas Andrle
Saya tidak akan mengatakan saya benar-benar menentang hal ini, tetapi saya tidak belajar tentang goto sampai setelah beberapa tahun pemrograman C ++. Bahkan sejak itu, saya tidak pernah mengetik satu goto pun dalam hidup saya. Baik atau buruk, saya tidak akan menilai - Saya hanya ingin diketahui bahwa kebotakan belum tentu ... eh ... perlu.
31eee384
3

Mungkin bermanfaat untuk memulai dengan sesuatu yang dia lakukan secara rutin, seperti Facebook, dan menjelaskan kepadanya bagaimana satu aspek sederhana seperti masuk bisa sangat rumit.

Anda dapat bercabang dari sini ke dalam basis data, desain aplikasi, dan kemudian ke dalam beberapa aspek keamanan yang merupakan sesuatu yang bermanfaat yang dapat diambilnya.

Anda bahkan dapat bertanya padanya sesuatu seperti, "Jika ada satu hal tentang Facebook yang bisa Anda ubah, apakah itu?" Kemudian ajak dia jalani bagaimana Anda bisa membuat perubahan dan berapa banyak orang yang akan terlibat.

Saya pertama kali belajar memprogram Pascal dan saya semua bersemangat bahwa program saya menerima input saya, mengacaukannya, dan mencetak sesuatu yang berbeda. Saya ketagihan dari sana. Beberapa orang mudah mengunci.

klien09
sumber
Menggunakan Facebook adalah saran yang bagus, terima kasih @ client09
Dexter
2

Saya berharap telah pergi untuk penempatan kerja di suatu tempat yang mungkin mengembangkan perangkat lunak bahwa dia harus memiliki minat di bidang ini?

Tidak ada jawaban yang pasti, saya akan menanyai selama 5-10 menit tentang apa yang dia tahu kemudian hanya mencoba dan membangun yang terbaik yang Anda bisa.

Anonim, tanpa nama
sumber
Tidak yakin @ Chris - ada banyak peran berbeda di perusahaan teknologi, mulai dari akuntansi hingga SDM hingga pengembangan dan konsultasi. Kami memberinya rasa singkat tentang banyak peran yang berbeda, jadi saya tidak berpikir saya akan membuat asumsi ini
Dexter
Nah, untuk bersikap adil Anda tidak pernah menyatakan mengapa jenis perusahaan itu. : p Akan lebih aman untuk mengatakan jika seseorang pergi untuk penempatan di toko gitar mereka cenderung tertarik pada gitar daripada menjadi luthier kayu.
Anonim
2

Mulai level tinggi. Mungkin menjelaskan bahwa pemrograman komputer adalah tentang pemecahan masalah: mengambil masalah dan menyusun solusi yang ditulis sebagai banyak instruksi yang dapat digunakan dan dipahami mesin.

Bagian yang sulit mungkin muncul dengan contoh-contoh yang menurut seorang gadis berusia 15 tahun menarik dan relevan . Karena belum pernah dalam situasi itu dan tidak mengenalnya, saya tidak yakin apa yang harus direkomendasikan untuk itu ... Hindari sampel kode, sampai mendekati akhir, dan kecuali untuk kasus yang sangat sederhana atau menarik, seperti program "Hello world" atau sesuatu yang sederhana dan grafis (gambar beberapa bentuk di jendela, lacak tetikus, dll ...).

FrustratedWithFormsDesigner
sumber
Saya tidak berpikir saya bisa mengajar seseorang tentang pemrograman tanpa menunjukkan kepada mereka setidaknya beberapa contoh kode yang saya kerjakan ..
Dexter
@Dexter: Dalam 30 menit, saya tidak yakin saya ingin terlalu memikirkan kode seperti apa. Saya tidak bermaksud untuk tidak menunjukkan apa-apa, tetapi karena Anda tidak punya banyak waktu, saya tidak berpikir kode harus menjadi fokus. Itu bisa menjadi sangat kering dan membosankan. Bicara lebih banyak tentang ide dan konsep jika Anda bisa. Jika Anda dapat menemukan contoh sederhana (mungkin kurang dari 10 baris) yang mudah dimengerti, dan juga menarik, coba saja!
FrustratedWithFormsDesigner
setuju, tapi saya pikir daripada masuk untuk contoh bab 1 sederhana, saya lebih suka menunjukkan program yang saya kembangkan dan beralih beberapa baris kode untuk menunjukkan hasil .. akhirnya saya tidak berpikir saya akan bisa mengajari dia cara memprogram, tapi mungkin saya bisa menginspirasi dia untuk ingin tahu lebih banyak ..
Dexter
2

Inilah pendapat saya setelah beberapa upaya gagal dan beberapa yang cukup bagus:

Pemrograman adalah pemecahan masalah.

Mulailah dengan hal-hal konkret yang diprogram yang mereka gunakan setiap hari - browser internet (facebook), ponsel, mesin kasir, dll. Dapatkan mereka untuk memberi Anda banyak contoh. Tetapkan bahwa semua hal ini memiliki sejenis komputer di dalamnya. Jantung komputer adalah prosesor.

Prosesornya seperti pekerja yang sangat cepat, tetapi sangat bodoh. Jika Anda memberikan beberapa instruksi, itu akan melakukannya persis seperti yang Anda katakan. Itu tidak akan melakukan apa pun ekstra dan tidak akan memberi tahu Anda jika sesuatu yang Anda katakan itu salah. Prosesor ini melakukan segalanya - jika Anda tahu persis bagaimana melakukannya, ia dapat melakukan panggilan telepon atau memasukkan gambar ke dalam surel.

Tanyakan padanya bagaimana ia akan memberi tahu pekerja yang sangat cepat tetapi sangat bodoh untuk membeli sekaleng soda dari mesin soda. Ketika dia mulai menjelaskan langkah-langkahnya ("Masukkan uang ke dalam mesin dan tekan tombolnya.") Mulailah membedahnya seperti sebuah program ("Apa itu uang? Bagaimana saya memasukkannya ke dalam mesin? Ketika saya memasukkan uang ke dalam mesin dan tekan tombol pada saat yang sama, tidak ada yang terjadi. "). Jika Anda memiliki papan tulis, mulai di sebelah kiri dengan set instruksi pertamanya. Ketika dia merevisinya, letakkan daftar baru yang lebih besar di sisi kanan. Ketika Anda memiliki seperangkat instruksi yang baik, mulailah menggeneralisasi potongan-potongan ("Keluarkan uang dari saku Anda dan keluarkan soda dari baki dengan suara yang serupa - bagian mana yang sama / berbeda?") Ambil generalisasi dan letakkan di tengah dan mencoret potongan-potongan yang sekarang mereka jangkau. Cobalah untuk akhirnya mengikat potongan-potongan agar sesuai dengan instruksi aslinya, semacam panggilan fungsi seperti. Latihan bagus lainnya: kirim surat, melewati pintu, menggambar lingkaran / persegi / segitiga.

Jadi Pemrograman adalah pemecahan masalah: memecah masalah menjadi beberapa bagian, mengidentifikasi bagian-bagian yang umum, dan mengelompokkan bagian-bagian itu kembali untuk menyelesaikan masalah. Segera, Anda mengetahui bahwa beberapa bagian adalah umum di banyak masalah, dan kemudian Anda mulai menyatukan bagian-bagian untuk memecahkan masalah yang Anda bahkan tidak tahu Anda punya.

Oke, pada titik ini dia mungkin mengerti tapi dia mungkin bosan. Lanjutkan dengan serangkaian contoh pemrograman keren. Shader dan kode visual terkait mudah untuk didemonstrasikan - Anda dapat memasang gambar dan mulai membuat perubahan dengan perubahan kode yang sangat kecil. Jika dia menyatakan minatnya pada Facebook, pamerkan berbicara dengan Facebook melalui REST untuk melihat data teman teman (6 derajat). Jika dia menyukai video game, pamerkan beberapa demo permainan sumber terbuka bersama dengan beberapa cuplikan kode mereka dan bagaimana mereka membantu permainan bekerja. Akhiri dengan menunjukkan beberapa alat dan sumber daya gratis yang bisa dia selidiki di rumah. (Python, C #, dll.)

Usaha saya yang gagal: mencoba menjelaskan perhitungan pi (mereka bertanya), permainan papan C-Jump http://c-jump.com/ (mereka tidak mendapatkannya dan instruksinya buggy), dan langsung mengkode 2d game (tidak bisa menahan minat, tidak peduli seberapa kecil langkah yang saya ambil di antara demo).

Semoga berhasil!

Jeremy Murray
sumber
2

Buat program sederhana. Tidak, bukan "Hello World!"

Apa yang akan saya lakukan adalah mengatakan bahwa ada banyak jenis bahasa pemrograman - yang membuat game, yang mengendalikan robot - tetapi yang akan Anda kerjakan adalah HTML.

Buat halaman web tanpa apa-apa di atasnya, lalu tambahkan formulir yang akan mengirim email ke alamat emailnya. Dia mungkin memiliki ponsel yang mampu memberi tahu pemilik bahwa mereka memiliki email baru, sehingga Anda dapat memberitahunya bahwa itu adalah cara yang bagus untuk teman dan keluarganya untuk menghubunginya. Jika dia mendapatkan situs webnya sendiri di masa depan, Anda dapat memberitahunya bahwa dia dapat meletakkan formulir di situs webnya, sehingga pelanggan dan mitra bisnisnya dapat menghubunginya.

Atau, jika dia sedikit nakal, saya akan memberi tahu Anda apa yang membuat saya tertarik untuk memprogram: peretasan. Kembali pada hari itu, saya membuat program terbaik yang pernah dibuat untuk bermain-main di AOL (di luar satu program yang mengungguli saya hanya satu dari banyak hal yang saya lakukan) - pada usia 14-15. Di sisi topi putih, saya juga membuat salah satu program penghapusan spam pertama (1995). Saya bisa membuat pengalaman online saya jauh lebih menyenangkan, dan kami akan membiarkannya begitu saja. Segala sesuatu yang ingin saya lakukan di komputer adalah petualangan atau teka-teki yang harus saya pahami, dan hal-hal yang ingin saya lakukan di komputer tidak ada habisnya. Tentu saja, membuatnya kadang-kadang sulit, tetapi menulis sebuah program yang menyelesaikan hal-hal dengan lebih baik dan lebih cepat daripada yang dilakukan manusia mana pun, atau melakukan hal-hal yang tidak mungkin dilakukan oleh masyarakat umum, seperti membuat mesin yang bagus yang bisa dibanggakan orang. Sekarang, Anda mungkin menghindari sesuatu yang serius, tetapi akan sangat mudah untuk membuat sesuatu dalam Visual Basic yang dapat diluncurkan saat start-up (duduk di sisi layar atau baki sistem,) dan dari sana, Anda dapat membuatnya meluncurkan situs web favoritnya, program favoritnya, dll. Anda dapat memperkenalkannya pada perintah yang diperlukan untuk meluncurkan exe dan situs web, dan kemudian hanya memintanya untuk membuat beberapa tombol, lalu menambahkan kode ke tombol-tombol itu , memasukkan situs web favoritnya (facebook, twitter, dll.) dan program (iTunes, pengolah kata, dll.) Jika komputernya ada di kamarnya, Anda juga dapat melemparkan jam alarm di atasnya untuk menambah fungsionalitas. Tentu saja, 30 menit terlalu singkat untuk membawanya, jadi Anda harus sudah menyelesaikannya. Pada akhirnya, Anda akan mengirim email manual pengguna 2-3 halaman kecil, kode, dan .exe padanya ... dan kemudian meninggalkannya dengan sedikit promosi dagang: awalnya tidak mudah, tetapi begitu Anda mendapatkan menguasainya, itu tidak terlalu buruk, akan sangat berguna dalam hidup, dan akan membantu mengembangkan pemikiran analitisnya.

Michael
sumber
2

Saya dulu mengajar mahasiswa berusia 18 tahun, dan saya kira usia 15 tahun hampir sama. Jangan berharap sukses tanpa latihan. Butuh beberapa minggu di kelas pertamaku untuk "pecah".

Hal terbesar yang harus saya pelajari adalah bahwa apa yang saya pikir sangat sederhana dan jelas sehingga saya takut tidak dapat mengisi waktu sama sekali tidak kepada siswa. Saya belajar bahwa Anda harus pergi dalam langkah-langkah kecil - kalau tidak itu hanya sihir "wah jagoan".

Betapa cocoknya Anda dalam 30 menit ini, saya tidak yakin, tetapi hal pertama yang saya lakukan adalah menunjukkan kepada mereka sedikit komputer buatan rumah yang saya buat, yang diprogram untuk memainkan nada kecil dengan mengeklik speaker masuk dan keluar. Saya menjelaskan bahwa itu bisa memainkan catatan dengan mengurangi penghitung, untuk bertindak sebagai penundaan, di antara klik. Saya baru saja menulis pseudo-code di papan tulis, seperti resep. Lalu, ada kapasitor kecil yang bisa saya kaitkan di bawah kawat yang akan menjalankan semuanya sekitar 1000 kali lebih lambat. Lalu mereka bisa mendengar klik - tunggu - klik - tunggu ... Lalu ketika saya melepas kapasitor, itu meledak dengan nada kecil.

Intinya adalah untuk mengetahui bahwa komputer hanya melakukan hal-hal sederhana, dan melakukannya satu per satu. Mereka tidak memulai setiap langkah sampai langkah sebelumnya selesai. (Ya, ya, saya tahu - perpipaan dan semua itu, tetapi kami sedang berbicara dengan pemula .) Hanya kecepatan elektronik yang membuat mereka tampak melakukan semuanya sekaligus, itulah yang cenderung diasumsikan oleh pemula (bersamaan dengan membaca pikiran) . Itu adalah salah satu konsep dasar yang tanpanya Anda tidak dapat mulai memahami pemrograman dan komputer. Bagi kami, ini sangat rumit sehingga kami bahkan tidak menyadari bahwa kami mengetahuinya, tetapi pemula tidak mengetahuinya.

Mike Dunlavey
sumber
1

Saya tahu ini bukan bahasa pemrograman tetapi saya pikir HTML adalah tempat yang baik untuk memulai. Karena Anda mendapatkan hasil langsung .... mulai dengan

Halo Dunia

Lalu lakukan:

Halo <b> Dunia </b>

Dll

mike jones
sumber
1

Jika itu aku, aku akan memberitahunya bahwa pemrograman adalah tentang membagi tugas menjadi tugas-tugas kecil dengan cara yang membantu Anda menyelesaikannya; dan kemudian mengekspresikan tugas-tugas kecil itu dalam bahasa yang tidak bisa disalahpahami oleh komputer idiot. Tetapi Anda juga harus melakukannya sedemikian rupa sehingga programmer lain dapat memahaminya dengan mudah juga - dan itu bukan hal yang sama.

Yaitu, di atas apa yang orang lain katakan ...

Andy
sumber
1

Ini lebih dari pengalaman pribadi saya daripada "jawaban" langsung.

Mengapa saya tertarik? Orang tua saya membeli IBM PC XT pada tahun 1984 (saya lahir pada tahun 1984). Ini memiliki 640kb RAM dan 20MB HDD dan 5 "FDD dan menjalankan MS-DOS v3.2. Saya tidak diizinkan untuk menyentuhnya sampai saya berada di standar ke-5 dan ketika saya akhirnya diizinkan untuk menggunakannya, saya menuangkan semua tahun saya rasa ingin tahu yang terakumulasi ke dalamnya.

Sebaliknya, saudara perempuan saya diizinkan menggunakan PC yang sama dan mackintosh Quadra 610 itu setiap kali ia menginginkannya dan ia membayar sebanyak yang ia perhatikan saat ia membayar ke meja yang telah disiapkan.

Mengajar saudara perempuan saya ... Saya mencoba mengajar pemrograman komputer saudara perempuan saya di BASIC. Saya membuatnya untuk segalanya dengan benar dari mulai komputer untuk mengetik dalam program dan menjalankannya. Itu sebagai program baris.

10 PRINT "CAT"
20 END

Ini membutuhkan waktu setengah jam. Ketika dia akhirnya mengeksekusinya, itu dicetak kata 'CAT' dan dia sangat marah. Dia mengharapkan gambar kucing muncul. Dia bergegas keluar dari ruangan dan itu adalah akhir dari pemrograman selamanya!

Moral: Output lebih baik sebanding dengan waktu dan upaya yang mereka lakukan.

Mengajar anak-anak sekolah menengah Labview dan Lego NXT Saya adalah seorang mentor untuk Robotika PERTAMA selama satu tahun dan harus membimbing anak-anak dalam pemrograman robot di NI Labview. Terus terang, keterampilan pemrograman yang dibutuhkan jauh di atas tingkat anak SMA. Tetapi kompetisi itu dimaksudkan untuk membuat anak-anak bersemangat tentang teknik dan meningkatkan kemampuan mereka dalam menghadapi tantangan. Selama program hanya memiliki pernyataan if dan satu loop, semuanya baik-baik saja. Orang-orang keluar dari bagian pemrograman robot ketika mereka melihat diagram kode yang saya buat untuk robot yang kami buat tahun sebelumnya.

Sebanyak orang menyatakan bahwa anak berusia 15 tahun dapat melakukan hal-hal yang rumit dan dapat memiliki rentang jam perhatian, saya menemukan kurangnya motivasi yang aneh pada mereka untuk melakukannya. Mereka ingin melakukan hal-hal mudah yang tidak membebani otak mereka. Mereka lebih suka CAD dan bagian pabrik pada mesin bubut daripada program menulis.

Tuan Loh.
sumber
1

Apa itu CS?

Saya pikir sebelum Anda masuk ke demo, ada baiknya Anda mengambil posisi CS di dunia secara singkat. Saya menyukai deskripsi Hal Abelson tentang CS relatif terhadap matematika: sementara matematika membantu Anda menggambarkan dunia dalam hal hukum, CS membantu Anda menggambarkan cara melakukan sesuatu. Contohnya adalah fungsi akar kuadrat: matematika akan mendefinisikannya, tetapi tidak akan membantu Anda menemukannya untuk setiap input yang diberikan. CS akan. Pada tingkat yang lebih rendah, teknik listrik dan fisika meletakkan dasar bagi perangkat keras yang memungkinkan internet, tetapi membuka pertanyaan tentang bagaimana membuat orang menggunakannya.

Bagaimana rasanya menjadi seorang programmer?

Lalu ada pertanyaan bagaimana rasanya menjadi seorang programmer. Yang membuat saya tertarik adalah bahwa ia memiliki perputaran yang lebih cepat dari mencoba-sesuatu, mengujinya, memperbaikinya, daripada bidang teknis lainnya. Ini pemecahan masalah tanpa henti, sedangkan di bidang lain waktu penyelesaian untuk satu putaran mungkin berbulan-bulan. Ini juga berguna untuk hampir setiap bidang teknis lainnya, yang lebih dari yang dapat dikatakan untuk ... sebagian besar bidang teknis lainnya. Jadi, jika Anda belum tahu apa yang ingin Anda lakukan (kemungkinan), itu bagus untuk menjadi baik di awal. Di perguruan tinggi, beberapa hal akan membuat Anda lebih berguna bagi lebih banyak profesor daripada mampu membuat kode eksperimen mereka.

Permen mata, terikat dengan kode

Maka tentu saja, jangan lupakan demo. Mungkin keren untuk mendapatkan salinan gempa (open-source), dan membuat perubahan satu baris (misalnya mengubah kekuatan gravitasi) dan mengkompilasi ulang, misalnya. Juga minta dia melihat kode. Yakinkan dia bahwa dia tidak berharap untuk mengerti banyak, itu mungkin tampak seperti omong kosong sekarang, tapi sekali lagi, begitu juga surat kabar dalam bahasa asing yang dia belum pelajari. Anda dapat mengatakan bahwa meskipun demikian dia dapat melihat bahwa benda-benda ditugaskan untuk benda-benda, benda-benda diberi tahu apa yang harus dilakukan, dan di sinilah kita mengatur gravitasi, dll.

SuperElectric
sumber
1

Saya mulai pemrograman ketika saya berusia 14 tahun. Sementara sebagian besar (47 dari 50 siswa yang mendaftar) putus sekolah pada pertengahan tahun atau hanya memutuskan untuk tidak melanjutkan ke kursus lanjutan tahun depan, saya bertahan dan belajar sesuatu yang sangat penting:

Pemrograman memberi Anda kemampuan untuk membuat sesuatu dari ketiadaan. Anda memiliki kekuatan untuk mengubah kata-kata menjadi alat yang berguna yang memenuhi kebutuhan, kegiatan yang menghibur untuk Anda dan teman-teman Anda, atau hanya sesuatu yang dapat Anda perlihatkan kepada teman-teman Anda dan katakan, "Lihat apa yang saya lakukan."

Kami diajari "Hello World" untuk memulai, tetapi saya tidak tertarik sampai saya dapat membuat kode saya berinteraksi dengan pengguna . Saat kami diajari membaca masukan dengan "cin", saya mulai membuat program Mad-Lib yang bisa kami mainkan di kelas. Rintangan pertama saya adalah membaca input yang berisi spasi, diikuti dengan memformat output. Kemudian saya ingin dapat menyimpan cerita-cerita ini ke file dan jadi saya perlu belajar file IO. Mengatasi hambatan untuk mencapai tujuan saya sendiri adalah apa yang membuat saya tetap terlibat.

Kemudian pada tahun itu kami menemukan bahwa admin jaringan mencatat penggunaan "Net send" kami dan klien Novell SendMessage yang telah kami gunakan untuk berkomunikasi selama kelas komputer, dan mereka menonaktifkannya setelah siswa menggunakannya untuk menyontek saat ujian. Jadi saya menulis ruang obrolan untuk menggantikan yang dinonaktifkan oleh admin. Itu adalah hal pertama yang benar-benar berguna yang telah saya buat. Saya memodelkannya setelah sistem obrolan Battle.Net, lengkap dengan pendaftaran pengguna, moderator dan bahkan enkripsi dasar dan sistem file bayangan untuk mencegah pengguna dari gangguan (semua file harus berada di drive jaringan bersama agar siswa dapat akses dan gunakan program). Ini bukan konsep yang sudah saya sadari, tetapi solusi yang saya buat sendiri untuk memecahkan masalah. Bagi saya, itu adalah kegembiraan pemrograman.

Jadi untuk menjawab pertanyaan dengan benar, di luar diskusi tentang apa artinya mengembangkan perangkat lunak, demo interaktif mungkin merupakan ide bagus. Lebih disukai sesuatu yang memecahkan masalah yang dia miliki, seperti mengubah ukuran semua gambar raksasa dari kameranya secara otomatis. Meskipun sedikit lebih rumit, dia mungkin bersenang-senang dengan halaman web cuti-pesan sederhana yang bisa dia bagikan dengan teman-temannya. Anda dapat mengirim email kepada seseorang kapan saja pesan baru diposting, dan minta dia mengedit kode untuk mengirimnya ke emailnya alih-alih milik Anda. Juga, minta halaman menunjukkan jumlah X komentar terakhir, dan minta dia untuk menyesuaikan nomor itu juga, dan lihat apa hasilnya.

vsTerminus
sumber
1

Di tempat saya dulu bekerja, kadang-kadang ada anak-anak yang punya pengalaman kerja. Ada yang tertarik dengan komputer, ada yang tidak. Kami biasa membuat mereka untuk menempatkan mereka di depan komputer dan membuat mereka untuk menulis permainan menebak. (Komputer secara acak memilih nomor, pengguna mendapat umpan balik jika tebakan mereka terlalu tinggi / rendah.) Mudah dilakukan dan ini benar-benar hasil yang menyenangkan. Tidak ada yang lebih kuat daripada menunjukkan kepada mereka secara nyata apa yang bisa mereka ciptakan.

pengguna30241
sumber
1

Ketika Anda ingin mendapatkan --dan menjaga - perhatian seseorang, maka MEMINTA, jangan KATAKAN. Tanyakan bagaimana mereka akan melakukan tugas sederhana, seperti minum air. Kemudian tunjukkan kepada mereka bagaimana mengikuti instruksi yang mereka berikan (Seperti "Turun aula") tidak benar-benar menangani masalah kapan harus belok kiri, belok kanan, berhenti, dll. Memahami dan menangani kondisi batas itu, itulah bisnisnya pemrograman! Kemudian Anda dapat menunjukkan bagaimana loop "lakukan-sampai" dapat menangani situasi "berjalan sampai Anda datang ke dinding", untuk membuat meta-tugas dari tugas satu-kaki-di-depan-dari-yang-lainnya berjalan.

Brian
sumber
1

Saya tidak yakin apakah ini adalah legenda atau kisah nyata, tetapi saya membaca tentang mengapa beruntung suatu hari nanti. Bagian dari sebuah cerita adalah bagaimana dia menunjukkan pemrograman kepada seorang anak (atau mungkin bahkan anak-anak) yang dia temui di kereta.
Seperti beberapa dari Anda mungkin tahu, _why adalah seorang pria Ruby (dan Ruby, well, cukup ramah kepada manusia biasa). Dia sedang mengerjakan beberapa game di Ruby, sementara beberapa anak mendekatinya untuk melihat apa yang dia lakukan. Dia menunjukkan hasilnya pertama - permainan kerja. Kemudian, dia menunjukkan kepada anak itu bagaimana dia dapat memodifikasi hal-hal dalam kode untuk mengubah hasilnya. Lalu ia membiarkan anak itu bermain dengan kode dan melihat hasil yang dimodifikasi.
Saya pikir itu harus menjadi alur kerja umum Anda - hasil, modifikasi, mainkan. Anda harus menemukan beberapa proyek (permainan akan menjadi pilihan terbaik) dalam bahasa yang ramah manusia dan menunjukkannya kepada anak itu.

Karena saya sedih, saya tidak tahu apakah cerita ini benar atau tidak. Itu masih sangat keren.

Juga, satu hal lagi. Saya ingat pengalaman pertama saya dengan pemrograman - MessageBoxdi Delphi. Itu keren, karena saya bisa membuat komputer melakukan apa yang saya inginkan dan segera melihat hasilnya.
Kemudian, mikrokontroler muncul. Mereka bahkan lebih baik, karena kode saya dapat mengubah dunia nyata. Maksud saya, memberikan beberapa nilai pada variabel berhenti menjadi abstrak, karena menyebabkan tegangan muncul pada port keluaran, yang kemudian menyebabkan mesin saya bergerak. Itu keren. Anda mungkin ingin memilih cara ini - perlihatkan kepada anak itu sesuatu seperti Arduino.

Anda lihat, saya pikir ini semua tentang mengubah dan melihat hasilnya.

Dr McKay
sumber
0

Tunjukkan padanya hasil akhir dari beberapa hal yang telah Anda lakukan. Bicara secara umum tentang peran Anda dalam proyek. Mungkin bahkan membantunya melakukan halo dunia jika dia tertarik.

SoylentGray
sumber
0

Analogi favorit saya untuk pemrograman adalah sihir (gaya harry potter), seperti Satanicpuppy. Saya menggunakan ini untuk teman-teman nonteknis dan juga anak-anak, tampaknya bekerja dengan cukup baik, dan jelas menyampaikan kekuatan yang diberikan komputer kepada kita.

Komputer adalah tongkat ajaib kita. Mereka memungkinkan kita untuk melakukan sihir mengingat gerakan pergelangan tangan kanan dan mantra. Sebagai pemrogram, kami memiliki akses ke buku mantra (perpustakaan) yang berfungsi dan disempurnakan oleh pendahulu kami. Kita dapat membuat mantra dan mantra baru atau bekerja dengan mantra yang sudah ada. Ada yang mudah, ada yang mengambil lebih banyak latihan untuk benar-benar menggunakan secara efektif, sering ada pertukaran dan banyak cara berbeda untuk memecahkan masalah yang sama (haruskah saya menggunakan ramuan yang baik atau mantra?).

Metafora yang diperluas ini benar-benar dapat diregangkan dengan baik dan seringkali memungkinkan saya untuk menyampaikan hasrat saya untuk pemrograman dengan cara yang dapat diakses oleh orang-orang di luar lapangan.

Grantismo
sumber
0

Cara terbaik untuk memahami anak-anak adalah menjadi anak-anak pertama ..! Sebagai seorang anak saya dulu benci mengerjakan pekerjaan rumah, pemaksaan dll.! jadi ada titik masuk di mana Anda dapat menarik perhatian mereka. Dalam rentang 30 menit meskipun kami tidak dapat menjelaskan semuanya, kami dapat mencoba memberi mereka semacam paparan di mana pada anak-anak yang tertarik menemukannya sebagai inspirasi. Mulailah dengan topik terkait seperti pekerjaan rumah, dll. Beri tahu mereka bagaimana komputer dapat menulis pemaksaan hanya dalam beberapa detik, dll.

Saya berharap yang terbaik untukmu.. ! kerja bagus

Ratna Dinakar
sumber