Bagaimana saya dapat membantu anak tetap termotivasi dalam belajar program?

39

Bagaimana saya bisa membantu anak praremaja yang pintar (pra-remaja) belajar pemrograman? Dia berhasil dengan baik di sekolah, dan dia telah melewati 2 nilai dan merupakan seorang nerd stereotip introvert. Dia sangat tertarik dalam pengembangan web dan telah menguasai dasar-dasar HTML , CSS , dan JS , yang saya tidak tahu apa-apa tentang (saya bukan seorang programmer). Dia membangun situs web pribadi dari pengetahuannya. Dia belajar ini dari internet di berbagai situs tutorial dan Stack Overflow.

Bagaimana saya bisa mendorongnya dalam mengembangkan keterampilan ini? Apakah ada cara untuk membantu pembelajarannya mengingat saya tidak tahu pemrograman sendiri? Saya rasa saya tidak bisa mempelajari semua yang telah ia pelajari, karena ia menghabiskan begitu banyak waktu untuk hal itu dan begitu setia.

Saya pikir bahaya terbesar adalah kehilangan motivasi dan berhenti. Debugging terkadang membuat frustrasi, dan saya tidak ingin dia berhenti karena itu. Dalam mata pelajaran lain, saya bisa membantunya bekerja melalui itu, tetapi dengan pemrograman, saya tidak bisa karena saya tidak memiliki pengetahuan domain.

Apa yang harus saya lakukan untuk menjaga motivasinya agar tetap berkode sehingga ia tidak akan berkecil hati ketika dihadapkan pada kesulitan karena saya tidak dapat mengatasi kesulitan itu sendiri?

(bukan orangtua sendiri)

bjb568
sumber
41
Hmm, hanya melarang saja, dan mereka akan sangat tertarik dengan topik ini.
Per Alexandersson
Seorang teman saya menulis posting blog ( davidketcheson.info/2014/12/09/teaching_kids_to_program.html ) tentang bagaimana dia mengajar anak-anaknya ke program yang mungkin berguna bagi Anda.
Jeff
3
Saya belajar pemrograman sendiri pada usia yang sangat dini. Ayah saya membelikan saya alat (hari ini, Anda bisa mendapatkan versi gratis dari studio visual) dan buku-buku. Dia tidak perlu memprogram seperti pro, hanya untuk bersenang-senang melakukannya. Saya bersenang-senang dengan membuat game, dimulai dengan petualangan berbasis teks, kemudian game penembak 2D. Juga dengan visual studio, ia dapat meningkatkan kompleksitas situs web ini dengan membuatnya dinamis.
the_lotus
Belajar kode dengan dia. Aktivitas yang menyenangkan untuk Anda lakukan bersama. Dengan begitu kamu dapat melakukan bagian yang membuat frustasi untuknya di awal.
Evorlor
9
the fundamentals of HTML, CSS, and JS, which I don't know anything about (I'm not a programmer) kata orang dengan reputasi 4k SO dan yang top tag-nya adalah HTML, CSS, dan JS
Santa Claus

Jawaban:

25

Pertama, dalam hal membantu anak belajar:

  1. Banyak / sebagian besar sekolah memiliki klub komputer. Dorong anak untuk bertanya dari siswa lain, atau tanyakan pada profesional sekolah sendiri. Ini akan menempatkan anak dengan teman sebayanya berkembang, yang merupakan dorongan terbesar yang dapat Anda berikan.

  2. Bicaralah dengan guru komputer di sekolah jika ada. Mereka mungkin setuju untuk membantu anak itu, atau memberikan nasihat.

  3. Mirip dengan # 1 / # 2, beriklan untuk tutor jika Anda mampu membelinya. Jurusan CS yang miskin tapi brilian mungkin benar-benar menikmati mengajar seorang remaja yang cerdas, jauh lebih banyak dari teman sebaya yang kurang pintar yang biasanya mereka tutor. Saya tahu saya melakukannya. Tantangannya (selain dari kenyataan bahwa Anda harus membayar) adalah menemukan seseorang yang pandai mengajar - pengalaman mengajar atau les sebelumnya harus diminta, serta kemampuan untuk bekerja dengan anak-anak yang lebih muda.

  4. Kursus daring (Coursera, dll ...) bisa menjadi luar biasa, terutama untuk kutu buku yang ditukar ( saya melihat di cermin )

  5. Untuk menantang mereka, arahkan mereka ke Rosetta Code dan situs Code Review Stackexchange .

Kedua, jika Anda merasa mereka dapat menggunakan motivasi untuk langkah selanjutnya:

  1. Jika anak sudah dewasa (kemungkinan besar), perlihatkan kepada mereka tarif upah rata-rata untuk berbagai profesi, dan bahwa insinyur perangkat lunak naik dibandingkan dengan kebanyakan profesi. Ini akan memastikan bahwa ia dapat melihat melewati geek-bullying yang biasa ia temui dan memiliki alasan untuk tetap pada coding.

  2. Tekankan bahwa ada banyak anak-anak seperti ini (seperti yang dapat Anda lihat dari testimonial pribadi pada hampir semua jawaban di sini :) - ia kemungkinan akan lebih terdorong jika ia tidak merasa seperti orang aneh walaupun ia secara introvert secara alami.

pengguna3143
sumber
3
Many/most schools have computer clubsSaya mohon tidak setuju.
Sinterklas
Saya harus setuju dengan @SantaClaus yang satu ini. Terutama di Texas, tidak banyak grup pemrograman. Saya sangat tidak senang ketika saya tahu bahwa SMA saya tidak memiliki klub. Kami mencoba membujuk mereka dan mereka menyangkalnya karena masalah dana. Namun mereka memiliki 20+ klub olahraga. Ini tampaknya benar dengan sebagian besar sekolah di Texas, kecuali dengan yang di dalam kota.
Damien Bochkarev
12

Beberapa hal untuk ditambahkan ke jawaban pengguna3143 yang sangat baik:

Alat. Alat bukan pengganti pengalaman atau pengetahuan, tetapi setiap pengrajin / wanita menghargai alat yang baik, dan mereka adalah sesuatu yang bisa Anda bantu sebagai orang tua tanpa pemrograman. Beberapa yang terbaik bebas, tetapi jika anak itu ingin IDE, perpustakaan, Program, dll yang harganya setiap jumlah uang yang masuk akal sangat mempertimbangkan untuk mendapatkan itu. Saya menemukan Photoshop misalnya sangat berharga untuk pengembangan web (pekerjaan saya). Dapatkan anak untuk beberapa teknologi seluler untuk dikembangkan. Itu tidak harus mahal, dan Anda tidak perlu menghubungkannya ke paket data, ponsel & tablet berusia 2 tahun yang digunakan akan melakukannya.

Dorong anak untuk berkontribusi ke sumber terbuka, pelajari cara github bekerja (jika dia belum melakukannya). Dorong anak untuk berusaha mendapatkan kredit sekolah untuk proyek-proyek pribadi (grift terbaik yang pernah ada). Dorong anak untuk menulis program sebagai hadiah (saat ini saya sedang membuat situs web untuk anak perempuan saya yang berusia 5 tahun). Ini membantu dalam belajar bagaimana mengantisipasi dan memenuhi keinginan dan persyaratan orang lain, yang akan penting jika Anda ingin anak mengejar karier dalam pemrograman. Ngomong-ngomong soal...

Saya berasumsi (mungkin salah) bahwa Anda membesarkan hati dengan harapan ini mungkin menjadi karier anak. Jika itu masalahnya, ada beberapa hal yang perlu diketahui oleh seorang programmer profesional yang tidak bisa dilakukan oleh seorang hobiis. Jika Anda belum pada saat itu (anak itu masih muda) jangan khawatir tentang daftar pro prereq berikut: kontrol versi kode sumber, kerja tim, berurusan dengan klien (apakah mereka bos atau pelanggan), dokumentasi (program adalah untuk orang lain membaca dan hanya secara kebetulan menjalankan komputer), dan keseimbangan kehidupan-kerja (industri kita bukan yang terburuk, tetapi ini masalah).

Terakhir tapi tidak kalah pentingnya adalah RSI. Anak Anda akan mengetik. Banyak. Saya mengambil musim panas di sekolah pascasarjana untuk belajar mengetik di tata letak keyboard colemak, dan saya sangat senang saya melakukannya. Layak dicoba.

Jared Smith
sumber
1
Saya akan gigit. Hobbiest membutuhkan SCM (Git adalah yang terbaik, IMO) jika mereka ingin menjadi waras.
Undo
2
Itu sebabnya saya bilang 'bisa dibilang'. Saya sudah pasti koboi ke sudut beberapa kali di proyek-proyek pribadi dengan berpikir 'Saya tidak akan repot-repot dengan kontrol sumber pada program kecil sekali pakai ini' :)
Jared Smith
11

Jawaban lain di sini baik-baik saja, tetapi saya khawatir ada satu fakta penting yang diabaikan oleh semua orang:

kutu buku stereotip introvert

Saya sendiri orang seperti ini dan Anda tidak bisa membayangkan betapa sulitnya hidup ketika Anda malu dan benar-benar takut berbicara dengan orang lain (ini tampaknya disebut kecemasan sosial), jadi jika mungkin Anda harus mengurus ini sebelumnya apa pun, jika tidak saya khawatir dia akan menggunakan pemrograman sebagai "perlindungan" dari kehidupan nyata (seperti yang saya lakukan selama beberapa tahun) dan itu akan memberinya masalah di masa depan.


sumber
1
Ini adalah hal yang sangat baik untuk diingat. Mencari klub pemrograman, atau ekstrakurikuler yang pemrograman menggabungkan (misalnya PERTAMA LEGO liga), dapat membantu dia mengembangkan kedua kepentingan yang jelas dan keterampilan sosialisasi nya.
Acire
2
Sepakat. Saya mungkin mendapat lebih dari satu tahun teater di sekolah menengah dibandingkan kelas lain di luar hal-hal yang berhubungan dengan komputer. Itu mengajari saya bagaimana menghadapi demam panggung, bagaimana berimprovisasi dalam situasi sosial yang penuh tekanan, dan segala macam "soft skill" yang berguna setiap saat. Dan "Geeks Drama" adalah, juga, sub-spesies geek lainnya, jadi berinteraksi dengan teman sekelas dan berhubungan dengan mereka tidak akan sesulit pada anak seperti halnya dengan beberapa bentuk kehidupan alien lain yang berkeliaran di lorong dari sekolah menengah yang khas. Anda harus mendorong (tetapi tidak mendorong ) dia untuk bermain drama.
Mason Wheeler
6

Sebagai seorang programmer dan sampai batas tertentu adalah 'anak itu' sendiri, saya akan mengatakan bahwa hal-hal seperti kit perangkat keras tertanam (murah) seperti Raspberry Pi atau Arduino adalah cara yang harus dilakukan. Kit ini biasanya cukup murah (Pi sekitar $ 30 dan ditenagai oleh pengisi daya telepon).

Pemrogram muda tidak tertarik untuk memahami konsep pemrograman seperti menulis kode aman / berkualitas tinggi. Sampai menjadi kebiasaan, hal itu menghalangi pekerjaan. Saya menyamakannya dengan ilmu kimia karena mengetahui detail rumit mengapa Mentos dan Diet Coke membuat air mancur besar jauh lebih menarik daripada bereksperimen secara acak di halaman dengan soda dan permen.

Pemrogram muda belajar banyak kebiasaan buruk dari kursus online dan contoh kode. Mereka biasanya direkayasa dengan buruk dan dibangun untuk bekerja hanya dalam kondisi optimal. Pemrogram yang baik membangun untuk semua 'kasus tepi' kecil yang aneh di mana segala sesuatunya tidak seperti yang diharapkan. Pada titik tertentu mereka harus menghapus semua perilaku buruk dan menghindari lingkungan 'profesional' sampai mereka siap adalah cara yang baik untuk membantu menghentikan kebiasaan buruk terbentuk.

Mereka termotivasi untuk bermain dan mereka mungkin juga bermain saat mereka masih anak-anak dan sementara mereka ingin melakukannya.

Mengambil perangkat keras / papan sirkuit dan benar-benar membuat sesuatu mendorong keterampilan kreatif yang sering (stereotip) kurang pada anak-anak dengan minat semacam itu. Sebagai seorang programmer muda, ada kepuasan yang lebih besar dalam 'I make THIS' dan bug dalam kode yang berpotensi merusak sesuatu. Ditambah lagi ketika Anda selesai membangunnya, Anda dapat bermain dengannya sebentar.

Yang paling penting - bagi yang bukan programmer, lebih mudah memuji sesuatu yang fisiknya mudah dipahami. Yang pada gilirannya mengarah pada pujian yang lebih tinggi dan percakapan yang lebih konstruktif daripada kode / program di layar yang akhirnya berubah menjadi 'perburuan bug' atau yang membutuhkan penjelasan yang lebih panjang dari demonstrasi.

James Snell
sumber
5

Saya pernah berada di posisi yang sama. Saya adalah seorang remaja yang sangat ingin belajar tentang pemrograman dan saya senang dengan melihat komputer menjalankan perintah seperti yang saya instruksikan. Saya tidak tertarik dengan pengembangan web, tetapi pada awalnya saya tertarik justru sebaliknya: peretasan / eksploitasi. Meskipun demikian, saya percaya pengalaman saya dengan belajar ke program akan relevan.

Saya percaya kunci untuk mengajar remaja bagaimana memprogram adalah dorongan. Ini adalah sesuatu yang saya harap akan saya dapatkan lebih banyak. Orang tua saya tidak terlalu paham teknologi, tidak ada orang dalam keluarga saya, dan karena itu, saya tidak menerima banyak dorongan atau dukungan dalam mempelajari / mengasah keterampilan pemrograman saya. Anda telah mengambil langkah yang benar dengan meminta pendapat orang lain dan itu menunjukkan bahwa Anda mendukung minatnya. Saran terbaik yang bisa saya berikan kepada orang tua / wali / mentor dari seorang anak yang tertarik pada pemrograman adalah sederhana: jangan biarkan mereka menjadi kecil hati atau kewalahan. Seorang anak dapat dengan mudah merasa kecil hati atau kewalahan ketika mengerjakan masalah besar. Adalah tugas Anda untuk memastikan itu tidak terjadi.

Adapun bagaimana Anda bisa mendorongnya, itu sedikit lebih rumit. Setiap anak berbeda. Orang tua saya mulai mendukung dan membesarkan hati ketika saya masih di tahun-tahun terakhir sekolah menengah saya. Saya menemukan dorongan yang paling ketika mereka akan datang ke kamar saya, duduk dengan saya, bertanya tentang apa yang saya kerjakan, mendengarkan saya menjelaskannya secara rinci, menonton saya menjalankannya untuk mereka, dan tampaknya tertarik. Hari ini saya tidak lagi percaya orang tua saya menaruh banyak minat pada penjelasan atau detail saya, tetapi pada saat itu saya yakin mereka melakukannya dan itu membantu saya merasa puas dan puas dengan pekerjaan saya. Luangkan waktu untuk duduk dengannya, lihat apa yang telah ia bangun, diskusikan dengannya, ajukan pertanyaan, dan tampak bersemangat. Itu akan membuatnya merasa istimewa dan itu akan memberikan penguatan positif. Anda mungkin tidak dapat menawarkan bantuan kepadanya atau menunjukkan kepadanya bagaimana melakukan sesuatu,

Salah satu cara terbaik untuk belajar pemrograman adalah menemukan tujuan yang sulit dan menjadikannya sebagai titik fokus pengembangan. Dalam kasus saya, saya fokus pada satu tujuan tertentu ketika saya berusia 16 tahun. Saya fokus pada pengembangan program untuk mengeksploitasi game android / iphone yang sangat populer saat itu. Saya menjadi terpaku pada tujuan itu dan bekerja ke sana selama berbulan-bulan. Akhirnya saya bisa membangun aplikasi untuk itu dan kemudian tujuan saya menjadi lebih luas. Setelah saya mencapai tujuan itu, saya kemudian berupaya mengembangkan program dan menambahkan lebih banyak fitur ke dalamnya. Selama satu setengah tahun berikutnya, saya membuat beberapa program yang mencapai tujuan itu dan menampung fitur-fitur yang tidak pernah saya pikir dapat saya capai. Saya akan mengatakan, motivasi saya untuk berkembang lebih jauh adalah uang. Saya menciptakan bisnis online yang menjual perangkat lunak permainan-eksploitasi yang saya tulis. Namun, motivasinya bisa apa saja. Tidak harus berupa uang atau menjual apa yang ia ciptakan. Dia hanya dapat menemukan motivasi dalam kepuasan mencapai tujuan akhir. Tidak masalah apa yang memotivasi dirinya, yang penting adalah ia termotivasi.


Berikut adalah beberapa sumber terbaik yang saya temukan untuk belajar program:

  1. YouTube: Ini mungkin tampak seperti saran yang buruk, tetapi izinkan saya menjelaskannya. Cari "[Apapun bahasa yang ingin dia pelajari] tutorial" dan pilih daftar putar. Ada banyak tutorial hebat untuk banyak bahasa di YouTube mulai dari pemula hingga mahir.
  2. Khan Academy: Saya tidak menemukan ini sampai setahun yang lalu, tetapi Khan Academy memiliki kursus pemrograman gratis. Saya membaca sekilas kursus dan itu tampaknya menjadi kursus yang sangat baik untuk seorang programmer pemula. Ini mencakup konsep dasar dan sangat bisa dimengerti. Itu bisa menjadi sumber yang bagus untuknya.
  3. "TeachMeComputer": TeachMeComputer adalah nama YouTube dari seorang pria yang telah membuat tutorial hebat untuk Visual Basic .NET dan PHP. Dia telah mengatur semuanya dan menyediakan konten tambahan di www.HowToStartProgramming.com . Dengan minat anak dalam pengembangan web, ini bisa menjadi aset berharga untuk belajar PHP. Saya percaya VB.NET adalah bahasa pemrograman pemula yang bagus, sehingga serangkaian tutorial mungkin sangat berguna baginya.

Sunting : Permintaan maaf saya karena menganggap Anda adalah orang tua. Saya tidak melihat baris terakhir dari posting Anda yang mengatakan tidak. Meski begitu, saya yakin jawaban saya mungkin masih membantu.

Spencer D
sumber
4

Setelah mempelajari pengembangan perangkat lunak sendiri dengan cara yang sama (walaupun pada awal 90-an ada banyak bahan yang kurang berguna tersedia secara online dan jadi saya menemukan / membeli buku sebagai sumber informasi utama saya), saya dapat mengatakan bahwa hal yang paling penting adalah kebutuhan anak yang tampaknya sudah ia miliki: Motivasi untuk belajar.

Jawaban lain di sini menawarkan saran yang bagus, termasuk elemen-elemen seperti keterlibatan dengan rekan-rekan yang berpikiran sama, membantu mendapatkan keakraban dengan alat-alat dan sesederhana kedengarannya, belajar mengetik dengan efisien adalah kunci (jika tidak memasukkan segala jenis informasi ke dalam komputer cenderung menjadi begitu sulit sehingga Anda hampir tidak bisa menghadapi ide memecahkan masalah utama dengan kode).

Saya juga akan menambahkan: Dorong anak muda ini untuk memilih gol / proyek yang dipilihnya sendiri dan terus mengerjakannya sampai selesai. Ini mungkin memerlukan beberapa upaya, dan yang pertama mungkin tidak lengkap, terlalu ambisius, akhirnya menjadi membosankan, dll. Tetapi belajar untuk melewati ini dan benar-benar menghasilkan sesuatu yang berkualitas yang digunakan seseorang (bisa menjadi proyek open source , atau sesuatu yang digunakan di sekolah atau oleh teman, dll.) - itu poin penting dan langkah vital.

Saya belajar banyak tentang pemrograman sekitar usia yang sama (10-12), tetapi ketika saya berusia tiga belas seseorang benar-benar menawarkan saya uang untuk memprogram sesuatu untuk mereka, dan itu memiliki tenggat waktu yang terkait dengannya. Itu pengalaman yang berbeda. Meskipun ada beberapa stres yang terkait dengannya, itu juga membuat saya bertanggung jawab. Saya punya banyak proyek yang tidak lengkap dan ide-ide cerdas, tetapi tidak sampai seseorang membantu melatih saya dalam disiplin memberikan perangkat lunak apa pun yang saya tulis (dan membuatnya cukup layak dan bisa diterapkan, bukan tumpukan omong kosong yang terlalu buggy), yang Saya benar-benar menganggap bahwa saya "menjadi pengembang nyata".

Itu dua sen ku.

bgp
sumber
3

Mulai dengan Scratch: http://scratch.mit.edu/

"Scratch adalah alat penulisan multimedia desktop dan online gratis yang dapat digunakan oleh siswa, cendekiawan, guru, dan orang tua untuk dengan mudah membuat game dan memberikan batu loncatan ke dunia pemrograman komputer yang lebih maju atau bahkan digunakan untuk berbagai bidang pendidikan dan tujuan konstruktivis hiburan dari proyek matematika dan sains, termasuk simulasi dan visualisasi eksperimen, rekaman kuliah dengan presentasi animasi, hingga cerita animasi ilmu sosial, dan seni dan musik interaktif. " WP

james.garriss
sumber
5
Ew. Saya terpaksa menggunakan Scratch dalam kursus "literasi komputer" di kelas 6, dan itu mengerikan. kenapa kamu memaksaku untuk menggunakan mouse begitu banyak biarkan aku tyyyyype
Doorknob
1
Jika satu-satunya hal yang Anda pelajari dari bekerja dengan Scratch adalah bahwa Anda tidak suka mouse, maka Anda melewatkan intinya. Ini adalah alat yang sangat baik untuk mempelajari konsep pemrograman dasar. Dan sangat menyenangkan untuk bereksperimen. Kedua anak saya menyukainya, dan mereka terus belajar pemrograman yang sebenarnya. Kuncinya bukanlah apakah ia menggunakan mouse atau tidak; kuncinya adalah cara yang menyenangkan untuk memulai, yang mungkin menarik mereka untuk belajar lebih lanjut.
james.garriss
5
Scratch adalah titik awal yang cukup baik untuk memperkenalkan dasar-dasar logika pemrograman, tetapi mungkin sedikit di sisi muda untuk pra-remaja yang sudah mulai. Ini juga merupakan cara yang baik untuk membiasakan mereka dengan bahasa pemrograman visual, yang dapat digunakan dalam karier (misalnya LabVIEW).
Acire
3

Orang-orang telah menambahkan beberapa saran bagus. Satu-satunya hal yang dapat saya tambahkan adalah menemukan sesuatu yang sudah ia sukai, pemrograman itu akan memberinya keunggulan kompetitif. Misalnya, jika ia menyukai video game dan mengetahui cara membuat kode berarti ia dapat memodifikasi sistem atau perangkat lunaknya (ya Saya tahu ini bisa menyebabkan kecurangan) untuk memberinya keuntungan, maka mungkin itu adalah cara untuk membuatnya meretas kode dan belajar bagaimana membengkokkan perilaku aplikasi untuk memenuhi kebutuhannya. Mungkin hal-hal konyol yang ia mulai retas; tetapi seiring waktu, keterampilannya akan tumbuh secara alami tanpa menjadi tugas. Ketika orang menikmati apa yang mereka lakukan, mereka belajar lebih cepat dan terus berkembang.

Harun
sumber
3

Jangan pernah lupa bahwa ada dua tujuan, yang terkadang bertentangan.

  • Selamat bersenang-senang pemrograman
  • Menjadi pengembang perangkat lunak yang hebat

Ingatlah keduanya, karena jika Anda membuat keputusan tanpa sadar tentang mana dari dua yang Anda prioritaskan, Anda mungkin tidak mendapatkan keseimbangan yang tepat. Selalu memprioritaskan hal yang sama di atas yang lain tidak akan berjalan dengan baik.

Seseorang yang belajar sendiri bagaimana memprogram tanpa bimbingan dari pemrogram yang lebih berpengalaman mungkin mengajari diri mereka sendiri beberapa kebiasaan buruk, yang harus mereka hilangkan nanti.

Jika mendapatkan tutor untuk anak itu adalah pilihan bagi Anda, maka itu bisa sangat membantu.

Dorong anak itu untuk terlibat dalam proyek sumber terbuka, karena hal itu dapat memberikan banyak manfaat:

  • Anda belajar untuk bekerja sama dengan orang lain dalam suatu proyek, yang sangat penting jika Anda berharap suatu hari melakukan pemrograman untuk mencari nafkah.
  • Orang-orang yang lebih berpengalaman yang berpartisipasi dalam proyek ini dapat memberikan beberapa panduan dalam perjalanan.
  • Jika Anda berhasil menyumbangkan sesuatu yang bagus untuk proyek, itu berarti ada sesuatu untuk dimasukkan ke dalam CV jika suatu hari Anda akan berkarier sebagai pengembang.

Ada banyak proyek open source, jadi sangat mungkin ada satu yang menarik bagi anak itu.

Bahkan jika Anda tidak memiliki keterampilan teknis, Anda masih bisa membimbing anak dalam proses itu. Beberapa yang diperlukan untuk terlibat dalam proyek semacam itu adalah tentang keterampilan orang-orang baik, di mana Anda mungkin bisa memberikan beberapa panduan.

Beberapa komunitas online dapat dianggap sedikit bermusuhan dengan pendatang baru. Beberapa saran yang relevan dalam kebanyakan kasus adalah:

  • Menjadi sedikit rendah hati pada awalnya. Pendatang baru kadang-kadang (kadang-kadang karena alasan yang baik) dipandang sebagai orang sombong dengan harga diri yang lebih tinggi dari yang dibenarkan.
  • Tunjukkan bahwa Anda bersedia belajar.
  • Tunjukkan bahwa Anda dapat memberikan kontribusi yang berharga.

Banyak proyek open source sedang mendiskusikan perkembangan pada milis terbuka, jadi Anda harus memutuskan apakah Anda akan memperhatikan mereka untuk melihat bagaimana anak itu bergaul dalam komunitas.

kasperd
sumber
2

Saya saat ini pada usia muda dan telah pemrograman selama beberapa tahun.

Saya pertama kali diperkenalkan ke C ketika saya berusia sekitar delapan, meskipun saya belum banyak menyentuh bahasa. Saya lebih fokus pada pengembangan dan desain web, meskipun saya memiliki pengetahuan mendasar tentang Java untuk API Bukkit dan saya akan segera memperluas ke Objective C atau Swift.

Dalam pengalaman saya saat ini, yang terbaik adalah belajar melalui diri Anda sendiri. Saya merasa lebih sulit pada usia yang lebih muda untuk belajar dari orang lain, tetapi lebih pada coba-coba. Saya tahu bahwa banyak sekolah menawarkan klub komputer dan semacamnya, di mana saya diminta untuk hadir tetapi ditolak, walaupun saya merasa ini tidak cukup untuk saya. Menjadi usia yang lebih muda, orang menggeneralisasi bahwa kita anak-anak tidak mampu apa yang mereka harapkan. Saya tahu bahwa saya lebih berpengetahuan dengan berbagai bahasa pemrograman dan scripting dengan banyak orang dewasa yang mengasumsikan tingkat pengetahuan saya pada subjek.

Ketika saya mulai dengan pemrograman saya akan menonton banyak tutorial online, meskipun hanya tutorial visual yang akan membantu saya. Membaca dan sumber daya interaktif sama sekali tidak membantu saya, meskipun video juga membatasi saya.

Saya akan menyalin kode dari video dan mengeksplorasi cara kerjanya. Saya akan meneliti fungsi-fungsi tertentu dan bereksperimen dengan bahasa tersebut sampai saya memiliki pengetahuan menengah tentangnya.

Saya merasa seperti anak kecil, saya terbatas pada apa yang bisa saya raih. Secara teoritis, saya dapat diklasifikasikan sebagai 'Nerd' atau sejenisnya karena memiliki jangkauan pengetahuan yang luas untuk komputasi dan pemrograman, meskipun itu tidak banyak membantu bagi saya. Saya tidak dapat memfokuskan waktu penuh saya pada komputasi dan pemrograman untuk hambatan seperti sekolah, keluarga dan teman-teman. Jika saya seorang dewasa, saya percaya bahwa saya dapat memperluas pengetahuan saya lebih cepat dan belajar lebih banyak, meskipun berbeda per orang.

Lagi pula, jika Anda tidak ingin membaca teks saya yang berantakan, saya sarankan membiarkan anak itu belajar sendiri. Dia kemungkinan besar berada di posisi yang sama dengan saya merasa terbatas, meskipun jika Anda membiarkannya, saya yakin dia akan menemukan sumber daya yang membantunya daripada diberi sumber daya yang tidak akan membantunya.

Saya minta maaf atas kesalahan tata bahasa karena saya sendiri masih anak-anak dan tidak mampu menulis secara rinci atau dengan cara terstruktur yang orang dewasa dengan lebih banyak pengalaman dan pengetahuan akan mampu.

Saya harap informasi saya membantu, meskipun itu informasi yang cukup luas.

Sunting: Saya tidak akan merekomendasikan menggunakan alat-alat seperti awal atau pelengkapan otomatis atau alat kode yang dibuat secara otomatis karena ini akan mengalahkan tujuan pemrograman. Scratch terdiri dari akal sehat daripada pemrograman - ini bukan bagaimana orang harus melihat pemrograman.

Profil
sumber
2
+1 untuk hasil edit Anda. Ini adalah keluhan terbesar saya terhadap penggunaan beberapa IDE ketika belajar. Jika IDE menulis sebagian besar kode Anda untuk Anda, lalu apa yang Anda pelajari? Saya berhati-hati ketika merekomendasikan Visual Basic .NET karena masalah ini. Visual Studios untuk VB.NET sering secara otomatis menulis banyak kode kunci dan menyarankan apa yang harus ditulis untuk sisanya. Ini bagus jika pengguna mempelajari apa yang sebenarnya dihasilkan oleh kode otomatis / selesai, tetapi jika pengguna tidak mencari pengetahuan ini sendiri, maka mereka tidak akan belajar dengan benar. Jadi beri +1 pada saran Anda terhadap hal-hal semacam ini.
Spencer D
1
Terima kasih sudah setuju dengan saya. Karena saya memiliki pengetahuan dalam berbagai bahasa, saya akan menggunakan IDE yang otomatis lengkap. Ini hanya untuk manajemen waktu, dan meskipun saya akan merekomendasikan ini untuk pengembang yang lebih berpengalaman, orang masih perlu belajar cara memprogram. Ini seperti mengetahui cara berbicara bahasa tanpa mengetahui cara menulisnya dengan cara.
Profil
Analogi yang bagus untuk itu. Jika saya boleh, saya akan mengatakan itu seperti mengetahui beberapa kata dalam bahasa asing dan kemudian menggunakan google translate untuk menerjemahkan apa yang ingin Anda katakan. Ya, ia mengerti maksudnya dan berhasil, tetapi Anda tidak menulisnya sendiri dan dengan demikian Anda tidak belajar apa arti setiap kata. Namun, seperti yang Anda katakan, begitu Anda memahami bahasa dan kode, menggunakan pelengkapan otomatis dan kode yang dibuat secara otomatis biasanya dapat menghemat waktu.
Spencer D
Heh, ya. Sepenuhnya setuju dengan itu.
Profil
2

Saya ingin menambahkan satu poin ke jawaban yang diberikan di sini. Jika Anda dapat melakukannya sambil tetap mempertahankan minat mereka, cobalah untuk mendorong mempelajari cara kerja bahasa (teori komputasi, paradigma bahasa, dll), mungkin dari membaca buku teks dan bukan hanya sintaks dan dokumentasi bahasa. Trial and error sangat bagus untuk mempelajari apa yang berhasil, tetapi memahami alasannyadi balik apa yang bekerja atau tidak dalam pemrograman sangat penting untuk menjadi pengembang perangkat lunak alih-alih seseorang yang hanya tertarik untuk menyelesaikan tugas tanpa memperhatikan seberapa baik kode tersebut ditulis. Hanya dua sen saya sebagai seorang insinyur perangkat lunak yang telah melihat perbedaan antara ¨ itu bekerja, sehingga harus sempurna ¨ mentalitas dan gagasan untuk menulis kode bersih yang berfungsi dengan baik, scalable, adaptable, dll. Mempelajari teori dapat sangat membantu ini.

jwest
sumber
1

Anak itu sudah tahu cara belajar dan telah menunjukkan keinginannya. Banyak dari jawaban lain fokus pada menunjukkan materi anak, yang tidak membantu, karena anak itu dapat mengajukan pertanyaan tentang materi sendiri di mana saja di web. Mendorong bahan dan harapan pada anak itu bahkan bisa membuat putus asa dan membunuh minat dalam topik tersebut.

Saya pikir hanya ada 2 hal yang harus diwaspadai: Kehilangan minat karena kurangnya tantangan, atau kewalahan oleh tantangan.

Untuk mengatasi kewalahan, tunjukkan minat pada apa yang dia lakukan sehingga dia bisa bangga dengan kemajuannya (atau setidaknya menyadari ada kemajuan, jika semuanya berjalan lambat). Dan jika ada kekurangan tantangan menyebutkan beberapa hal lagi yang bisa dia lakukan (misalnya bekerja pada mod untuk permainan yang dia suka, membeli Raspberry PI, dll), tetapi jangan memaksakan pekerjaan padanya - biarkan dia menjadi orang yang memutuskan apakah dia ingin melakukannya.

Peter
sumber
1

Dia membutuhkan proyek pribadi untuk tertarik. Open source itu hebat. Membuat game itu luar biasa - tetapi tentu saja urutan tertinggi yang harus diisi.

Menyelesaikan hal-hal yang penggunaannya jelas, baik untuknya atau orang lain, adalah solusi yang paling fleksibel dan dapat diandalkan sendiri. Saya merekomendasikan game, karena saya suka game. Tapi sekali lagi, saya suka game, dan game membutuhkan jangkauan keterampilan terluas untuk diselesaikan.

Tetapi jika dia kutu buku, dia juga akan menyukai game. Game juga menguntungkan. Ahaha.

pengguna1775944
sumber
1

Saya pikir, sebagian besar saran di sini mengarah ke arah yang salah.

Mengingat fakta bahwa ia tampaknya dapat memperoleh pengetahuan atau keterampilan yang relevan untuk suatu proyek sendiri, saya akan merekomendasikan keduanya sebagai berikut:

Sarankan kepadanya untuk memberikan kelas pengajaran setelah sekolah atau beberapa pembicaraan tentang pemrograman kepada teman-temannya. Cara terbaik untuk belajar adalah mengajar. Ini juga dapat meningkatkan keterampilan sosialnya.

Beri dia beberapa proyek "nyata". Mintalah dia untuk memprogram situs web untuk kelas sekolah atau applet web untuk proyek matematika atau fisika. Atau hal kecil basis data, atau wiki. Dengan cara ini dia akan melihat relevansi aktual dalam keterampilannya. Dia akan mengerti bahwa dia adalah ahli dan bahwa orang lain membutuhkannya. Dan dia akan belajar sejak dini untuk memasarkan dirinya sendiri.

Mattie
sumber
1

Selamat kepada pikiran muda ini karena telah memiliki keterampilan yang luar biasa berharga pada usia 14 tahun! Betapa kerennya anak ini. (Im seorang programmer jadi maafkan saya ketika dia Geeks).

  1. Pertama panggilan mendorong ini keterampilan yang bagus untuk dimiliki!

    Programmer entry level dapat mulai dari $ 30,000-50,000 setahun tergantung area. Pemrogram tingkat lanjut (biasanya disebut Insinyur) dapat membuat enam angka mudah.

  2. Semua sumber daya yang perlu dia pelajari, bersenang-senang dan terus meningkatkan adalah online gratis, saya akan mengirim beberapa tautan di bawah ini.
  3. Meskipun pemrograman itu menyenangkan, keyboard dan meja mengambil korban besar pada tubuh. Padawan muda telah mulai pada usia yang sangat dini, dia perlu mempertimbangkan beberapa kegiatan fisik untuk memastikan dia tidak mendapatkan terowongan karper pada usia 16.

    Saya SANGAT menyarankan yoga, dan dalam bentuknya yang paling sederhana lakukan pencarian di YouTube dan lakukan peregangan 15 menit setiap hari yang tidak ada di sekolah atau kegiatan lainnya.

    Dia mungkin berpikir saya bercanda (terutama saat berusia 14 tahun) tetapi industrinya sangat .... berat ... terutama karena seorang programmer duduk di satu posisi dan tipe. Bangun kebiasaan baik sekarang.

Tautan Cinta:

Ada banyak BANYAK lebih banyak sumber daya di luar sana, tetapi begitu ia melihat ini, ia akan dapat menemukan lebih banyak dari tautan dll.

Komunitas
sumber
3
w3fools.com
bjb568
0

Jika dia pandai HTML CSS dan JS tanpa diminta dia sudah memiliki kemampuan untuk itu. Jika dia ingin mempertajam keterampilannya, mengapa tidak mengarahkannya ke CodeEval ? Dengan menyelesaikan tantangan-tantangan ini, ia akan merasakan apa pun bahasa yang ia ambil, dan jika ia mengambil lebih dari satu lebih baik (bahasa pengkodean seperti bahasa manusia, semakin banyak yang Anda tahu, semakin mudah untuk mempelajari bahasa berikutnya ).

Jika ia adalah tipe bacaan yang lengkap, Anda bisa mengambil beberapa bacaan wajib dari kelas CS101 di universitas terdekat. Jika dia sudah bisa memprogram maka ini tidak akan melebihi kepalanya dan bahkan mungkin menarik baginya.

Sidney
sumber
Maaf, -1. Sebagai pengembang profesional, tidak ada yang lebih buruk dari seseorang yang berpikir golf adalah hal positif; dan sebagai seseorang yang mengajar pemrograman, bermain golf jauh melebihi apa yang harus dipelajari oleh seorang pemula.
user3143
@ user3143 Point, tautan golf dihapus. CodeEval (setidaknya tantangan pemula) adalah cara yang bagus untuk mengambil trik dan bekerja melalui algoritma dasar.
Sidney
0

Semua saran di atas bermanfaat, tetapi jika Anda berada di salah satu area yang tercantum di bawah ini, Anda dapat pergi ke Coderdojo di sana. Jika tidak dan Anda dapat menemukan anak-anak dan orang tua yang berpikiran sama, Anda dapat mempertimbangkan memulainya di daerah Anda sendiri. Lihat detail di https://zen.coderdojo.com/dojo

Saya menjalankan satu di daerah saya Sallins, Naas (di Co Kildare. Irlandia) dan dari 4 anak dua tahun lalu, kami sekarang memiliki 50+ anak setiap minggu, dari 6 hingga 17, semuanya bekerja dengan bahasa dan alat yang berbeda, dari Scratch dan MineCraft, ke Python dan PyGame, ke Java, Blender, Unity, Eclipse, dll.

Saya harap Anda berhasil terhubung dengan grup, karena itu benar-benar menambah pengalaman, untuk dapat berbagi kegembiraan pengalaman belajar kami yang konstan dan untuk memamerkan setiap proyek baru :-) JK

JoeK
sumber
0

Saya mulai pemrograman di sekolah menengah dengan buku Game Programming for Teens . Ini mengajarkan bahasa pemrograman BlitzMax . Saya pikir ini adalah bahasa pemrograman pemula yang baik karena memiliki sintaks seperti bahasa Inggris dan seperangkat perintah sederhana untuk menggambar di layar. Banyak bahasa lain seperti Java memiliki API yang sangat besar yang merupakan aset bagi pemrogram profesional tetapi bisa sangat besar untuk pemula. Setelah Anda mempelajari satu bahasa pemrograman, jauh lebih mudah untuk mempelajari bahasa pemrograman lain, sehingga ia dapat beralih ke bahasa lain seperti Java atau C # saat ia siap.

Charles
sumber
0

Saya tidak bisa mengatakan saya membaca semua tanggapan, tetapi beberapa yang pertama membuat saya sangat sedih. VIRTUALLY NONE dari para ahli komputer modern (bayangkan Gates, Jobs, dll.) Memotong tingkat abstraksi tingkat tinggi (yaitu teknologi berbasis web). Mereka semua turun dan kotor dengan perangkat kerasnya. Para guru ahli dalam tim mana pun hampir selalu adalah mereka yang memiliki pengetahuan tingkat rendah terdalam.

Jika Anda ingin dia belajar komputasi NYATA dan membuatnya bersemangat, dapatkan mainan yang diperlukan (multimeter berkualitas baik dan CRO (unit Tektronix 2 MHz 50 MHz yang bagus akan bekerja dengan baik), papan pengembangan yang bagus (Raspberry PI, Intel Edison, dll.), Dan lakukan brainstorming beberapa proyek keren untuknya. Sesuatu seperti menghubungkan sensor gerak dan mengiriminya email foto kamarnya ketika ada gerakan yang terdeteksi. Sama sekali tidak ada gunanya, tetapi sangat menyenangkan dan keren untuk dipamerkan kepada temanmu

Begitu dia mendapatkan bug dan memiliki alat, keterampilannya akan berkembang secara alami. Yang paling penting adalah memberinya tantangan yang sepadan dengan tingkat keahliannya. Dia akan membutuhkan pegangan tangan pada awalnya, tetapi begitu dia mengembangkan keterampilan dasar perangkat keras I / O, arsitektur program, dan cara mendapatkan info yang diperlukan untuk menyelesaikan masalah berikutnya, tidak akan ada lagi yang bisa menghentikannya.

zigenz
sumber
Sparkfun adalah tempat yang baik untuk memulai dengan hal-hal semacam ini. Banyak proyek robotik pra-linting. Saya sedang berpikir untuk merekomendasikan robotika / barang yang disematkan sendiri.
Tyler
0

dari pengalaman saya SENDIRI saya dapat mengatakan bahwa Anda hanya perlu membuatnya belajar sendiri seperti yang saya lakukan, saya mulai dari melihat apa yang telah dilakukan orang lain, membaca wiki, menonton tutorial dan mencoba memahami mekanisme mereka kemudian mulai mencoba melakukannya sendiri dan di sini saya. Saya juga telah belajar beberapa hal dari codeacademy.com itu adalah dasar saya untuk html, css, javascript, php dan ruby Yang paling penting dari semua yang Anda butuhkan untuk memberinya komputer, internet, banyak waktu, pengertian, dan tentu saja ia membutuhkan inspirasi (seperti proyeknya sendiri atau sesuatu yang penting baginya) dan TIDAK PERNAH mengatakan kepadanya bagaimana melakukannya jika ia mengatakan ia TAHU cara melakukannya, karena dia perlu mencari tahu setiap orang untuk mempelajarinya juga dia bisa mendapatkan sub-domain gratis dan hosting di http://api.hostinger.co.uk/redir/3586817(<- saya menggunakan yang itu) dan dia tidak memerlukan alat khusus untuk pengkodean karena lebih mudah dipelajari ketika Anda melakukannya di editor file biasa. Tapi, sebenarnya Anda tahu, jangan lakukan apa pun yang tidak dia minta

Deimantas
sumber