Bir çocuğun programlamayı öğrenmede motive kalmasına nasıl yardımcı olabilirim?


39

Akıllı bir preteen çocuğa (genç öncesi) programlamayı öğrenme konusunda nasıl yardımcı olabilirim? Okulda başarılıdır ve 2 sınıf atlamıştır ve içe dönük bir klişe inekdir. Web geliştirme ile çok ilgileniyor ve hakkında hiçbir şey bilmediğim HTML , CSS ve JS'nin temellerini öğrendi (Programcı değilim). Bilgisinden kişisel bir web sitesi kurdu. Bunu çeşitli eğitim sitelerinde ve Stack Overflow'ta internetten öğrendi.

Bu becerileri geliştirmesi için onu nasıl teşvik edebilirim? Kendi programlamamı bilmediğimden dolayı öğrenmesine yardım etmenin bir yolu var mı? Öğrendiği her şeyi öğrenebileceğimi sanmıyorum, çünkü çok fazla zaman harcıyor ve çok sadık.

Bence en büyük tehlike motivasyonunu kaybetmek ve istifa etmek. Hata ayıklama bazen sinir bozucu olabilir ve onun yüzünden durmasını istemiyorum. Diğer konularda onunla çalışmasına yardım edebilirim, ama programlama ile, herhangi bir alan bilgisine sahip olmadığım için yapamam.

Kodlama konusundaki motivasyonunu korumak için ne yapmalıyım ki, bu zorlukların üstesinden gelemediğimden dolayı zorluklarla karşı karşıya kalmayacaksa, cesaretini kırmayacaktır?

(kendimden bir ebeveyn değil)


41
Hmm, sadece yasakla ve konuyla son derece ilgilenecekler.
Alexandersson Per

Bir arkadaşım, çocuklarına sizin için yararlı olabilecek programlarını nasıl öğrettiği hakkında bir blog yazısı ( davidketcheson.info/2014/12/09/teaching_kids_to_program.html ) yazdı .
Jeff

3
Programlamayı çok erken yaşlarda kendim öğrendim. Babam bana araçları aldı (bugün, görsel stüdyosunun ücretsiz versiyonunu alabilirsiniz) ve kitaplar. Bir profesyonel gibi program yapmasına gerek yok, sadece eğlenirken eğlenmek için. Oyun oynayarak eğlendim, metin tabanlı bir macerayla başladım, sonra 2D nişancı oyunu. Ayrıca görsel stüdyo ile bu sitenin karmaşıklığını, dinamik hale getirerek artırabilir.
the_lotus

Onunla kodlamayı öğrenin. Birlikte yapmak için eğlenceli bir aktivite. Bu şekilde başlangıçta onun için sinir bozucu parçalar yapabilirsiniz.
Evorlor

9
the fundamentals of HTML, CSS, and JS, which I don't know anything about (I'm not a programmer) 4k SO itibarı olan ve en iyi etiketlerinin HTML, CSS ve JS olduğunu söyleyen kişi
Noel Baba

Yanıtlar:


25

Öncelikle, çocuğun öğrenmesine yardımcı olması açısından:

  1. Pek çok / çoğu okulda bilgisayar kulübü var. Çocuğu diğer öğrencilerden bilgi almaya veya okul uzmanlarına kendinize sormaya teşvik edin. Bu, çocuğa gelişimsel olarak vereceği en büyük özendirici olan akranlarıyla birlikte yerleştirir.

  2. Varsa, okuldaki bir bilgisayar öğretmeniyle konuşun. Çocuğa yardım etmeyi veya tavsiyede bulunmayı kabul edebilirler.

  3. # 1 / # 2 ile benzer şekilde, bir bütçeniz varsa, bir öğretmen için reklam verin. Zavallı ama zeki bir CS kolej okulu, akıllı bir pre-teen'a öğretmekten gerçekten hoşlanıyor olabilir; Yaptığımı biliyorum. Buradaki zorluk (ödemeniz gerektiği gerçeğinin yanı sıra) öğretmenlik konusunda iyi birisini bulmaktır - önceki öğretmenlik veya özel ders deneyiminin yanı sıra küçük çocuklarla çalışma becerisi istenmelidir.

  4. Çevrimiçi kurslar (Coursera, vb.), Özellikle ters çevrilmiş bir inek için harika olabilir ( aynaya bakıyorum )

  5. Onlara meydan okumak için onları Rosetta Koduna ve Kod İnceleme Stackexchange sitelerine yönlendirin.

İkincisi, bir sonraki adımlar için motivasyon kullanabileceklerini düşünüyorsanız:

  1. Çocuk olgunsa (büyük olasılıkla), onlara çeşitli meslekler için ortalama ücret oranlarını gösterin ve bu yazılım mühendisleri çoğu meslekle kıyaslandığında çok daha iyi durumdalar. Bu, karşılaşması muhtemel geek-zorbalık geçmişine bakabilmesini sağlayacak ve kodlamaya bağlı kalması gereken nedenleri olacak.

  2. Bunun gibi çok sayıda çocuk olduğuna dikkat edin (burada neredeyse tüm cevaplarda kişisel referanslardan görebileceğiniz gibi :) - doğayla iç içe geçmiş olsa bile bir ucube gibi hissetmediği takdirde muhtemelen daha cesaretlendirilecektir.


3
Many/most schools have computer clubsKatılmıyorum yalvarıyorum.
Noel Baba

Bu konuda @SantaClaus ile aynı fikirdeyim. Özellikle Teksas'ta pek fazla programlama grubu yok. Yerel lise okulumun bir kulübü olmadığını öğrendiğimde çok memnun kaldım. Onlarla konuşmayı denedik ve fon yüzünden inkar ettiler. Yine de 20'den fazla spor klübü var. Bu, şehir içindeki okullar hariç, Teksas'taki birçok okul için görünüşte doğrudur.
Damien Bochkarev

12

User3143'ün mükemmel cevabına eklenecek birkaç şey:

Araçlar. Araçlar tecrübe ya da bilgi yerine geçmez, ancak her zanaatkar / kadın iyi araçlara değer verir ve bunlar programlama yapmayan bir ebeveyn olarak size yardımcı olabilecek bir şeydir. En iyi bazıları ücretsizdir, ancak çocuk paradan hiçbir makul tutarda maliyeti bir IDE, kütüphane, programı, vs istiyorsa kuvvetle onu almayı düşünün. Photoshop'u web geliştirme için paha biçilmez buluyorum (işim). Çocuğa geliştirmesi gereken bazı mobil teknolojiyi edinin. Pahalı olması gerekmez ve bunu bir veri planına bağlamanıza gerek yoktur, kullanılmış 2 yıllık bir telefon ve tablet kullanacaktır.

Çocuğu açık kaynağa katkıda bulunmaya cesaretlendirin, github'un nasıl çalıştığını (eğer daha önce bilmiyorsa) öğrenin. Çocuğu kişisel projeler için okul kredisi almaya çalışması için teşvik edin (şimdiye kadarki en büyük sıkıntı). Çocuğu hediye olarak programlar yazmaya teşvik edin (Şu anda 5 yaşındaki kızım için bir web sitesi yapıyorum). Çocuğun programlamada bir kariyer yapmasını istiyorsanız, önemli olacak, başkalarının istek ve gereksinimlerini nasıl tahmin edeceğini ve sunacağını öğrenmede yardımcı olur. Bundan bahsetmişken ...

Bunun muhtemelen çocuğun kariyeri olması umuduyla cesaret verdiğinizi (muhtemelen yanlış) kabul ediyorum. Bu durumda, profesyonel bir programcının hobisinin tartışmaya açık bir şekilde bilmediğini bilmesi gereken bazı şeyler vardır. Eğer henüz o noktada değil (çocuk oldukça genç) aşağıdaki önkoşullar listesi için endişelenmeyin: kaynak kodu sürüm kontrolü, ekip çalışması, müşterilerle ilgilenme (patronlar veya müşteriler olup olmadıkları), belgeler (programlar, Diğer insanların okuması ve sadece tesadüfen bilgisayarların çalışması için) ve iş-yaşam dengesi (endüstrimiz en kötü değil, bir problemdir).

Son fakat en az değil, RSI. Çocuğunuz yazacak. Çok. Colemak klavye düzeninde dokunmatik yazmayı öğrenmek için lisede yaz okudum ve yaptığım için çok mutluyum. Kontrol etmeye değer.



1
Isıracağım. Hobbiest'ler, aklı başında olmak isterlerse, bir SCM'ye (Git en iyisi, IMO) ihtiyaç duyarlar.
geri al

2
Bu yüzden 'tartışmalı' dedim. 'Bu küçük atılabilir programdaki kaynak kontrolü ile uğraşmayacağımı' düşünerek kendimi bir kaç kez kendimi bir kenara düşürdüm. :)
Jared Smith

11

Buradaki diğer cevaplar iyi, ama endişeleniyorum, herkesin görebildiği önemli bir gerçek var:

içe dönük bir kalıplaşmış inek

Ben kendim bu tür bir insanım ve sen utangaçken ve kelimenin tam anlamıyla başkalarıyla konuşmaktan korktuğunda hayatın ne kadar zor olduğunu hayal edemezsin (buna sosyal kaygı denir), bu yüzden mümkünse daha önce buna dikkat etmelisin. Başka bir şey, eğer korkmazsam, programlamayı gerçek hayattan (birkaç yıl yaptığım gibi) bir “sığınak” olarak kullanırdı ve bu gelecekte onu rahatsız ederdi.


1
Bu akılda tutulması gereken çok iyi bir nokta. Bir programlama kulübü aramak veya programlamayı içeren ders dışı dersler (örneğin, İLK LEGO ligleri), hem belirgin ilgi alanlarını hem de sosyalleşme becerilerini geliştirmesine yardımcı olabilir .
Acire

2
Kabul. Muhtemelen lisede bir yıllık tiyatrodan, bilgisayarla ilgili şeyler dışındaki diğer sınıflardan daha çok şey kazandım. Aşama korkusu ile nasıl başa çıkılacağı, stresli bir sosyal durumda nasıl doğaçlama yapılacağı ve her zaman işe yarayan her türlü "yumuşak beceriler" i öğretti. Ve "drama meraklısı" bir başka inek türüdür, yani sınıf arkadaşlarıyla etkileşime girip onlarla ilişki kurmak, çocuklarda koridorda dolaşan diğer yabancı yaşam biçimlerinde olduğu kadar zor olmayacaktır. Tipik bir lise Drama yapması için onu kesinlikle teşvik etmelisin (ama zorlamayın ).
Mason Wheeler

6

Bir programcı olarak ve bir dereceye kadar kendim 'çocuk' olarak, Raspberry Pi veya Arduino gibi (ucuz) gömülü donanım kitlerinin gitmenin yolu olduğunu söyleyebilirim. Bu kitler genellikle oldukça ucuzdur (Pi yaklaşık 30 dolar ve bir telefon şarj cihazı ile çalışıyor).

Genç programcılar güvenli / yüksek kaliteli kod yazmak gibi programlama kavramlarını doğru bir şekilde kavramakla ilgilenmezler. Bir alışkanlık haline gelinceye kadar, işleri sadece işler hale getirme yoluna giriyor. Mentos ve Diet Coke'un neden büyük bir çeşme yaptıklarının karmaşık ayrıntılarını bilmek, bahçede soda ve şekerleme ile dağınık bir şekilde denemekten çok daha az ilginç olduğu için kimyaya benziyorum.

Genç programcılar çevrimiçi kurslardan ve kod örneklerinden birçok kötü alışkanlık öğrenir. Genellikle kötü tasarlanmışlar ve sadece optimal koşullarda çalışmak üzere üretiliyorlar. İyi programcılar, olayların beklenenden tam olarak beklenmediği tüm bu garip 'küçük vakalar' için geliştirirler. Bir noktada, tüm kötü davranışları ortaya çıkarmak ve hazır oluncaya kadar 'profesyonel' ortamdan kaçınmak zorunda kalacaklar, kötü alışkanlıkların oluşmasını engellemenin iyi bir yoludur.

Oynamaya motive olmuşlardır ve hala çocukken ve bunu yapmak istediklerinde de oynayabilirler.

Donanım / devre kartlarının alınması ve aslında bir şeyler yapılması, bu tür ilgi alanlarına sahip çocuklarda sık sık eksik olan (klişe) yaratıcı becerileri teşvik eder. Genç bir programcı olarak, 'BU ŞEYİ yaptım' ve kodda bir şeyi gerçekten kırma potansiyeline sahip bir hatadan daha fazla memnuniyet duyulur. Ayrıca inşa etmeyi bitirdiğinizde bir süre onunla oynayabilirsiniz.

En önemlisi - programcı olmayanlar için amacı kolayca anlaşılan fiziksel bir şeyi övmek çok daha kolaydır. Bu da, “böcek avına” dönüşen veya gösteriden daha uzun bir açıklama gerektiren bir ekrandaki kod / programlardan daha fazla övgü ve daha yapıcı konuşmalara yol açıyor.


5

Bir zamanlar benzer bir pozisyondaydım. Programlama hakkında bilgi almaya istekli bir gençtim ve anlattığım gibi bilgisayar yürütme komutlarını izleyerek çok heyecanlandım. Web geliştirme ile ilgilenmiyordum, ilk başta bunun tersine ilgimi çekti: hack / istismar. Bununla birlikte, programlamayı öğrenme konusundaki deneyimimin ilgili olacağına inanıyorum.

Bir gence nasıl programlanacağını öğretmenin anahtarının teşvik olduğuna inanıyorum. Bu daha fazlasını isterdim. Ebeveynlerim tam olarak teknoloji meraklısı değil ne de ailemde kimse değil ve bu yüzden programlama becerilerimi öğrenme / honlama konusunda çok fazla teşvik ya da destek almadım. Başkalarına düşüncelerini sorarak doğru adımı attınız ve bu onun çıkarlarını desteklediğinizi gösteriyor. Programlama ile ilgilenen bir çocuğun ebeveyni / velisi / danışmanına verebileceğim en iyi tavsiyem basittir: onların cesaretini kırmalarına veya bunalmalarına izin vermeyin. Bir çocuk büyük bir problem üzerinde çalışırken kolayca cesaretini kaybetmiş veya bunalmış hissedebilir. Bunun olmadığından emin olmak senin işin.

Onu nasıl cesaretlendirebileceğinize gelince, bu biraz daha karmaşık. Her çocuk farklı. Ebeveynlerim, lise son sınıftayken destekleyici ve cesaretlendirici olmaya başladı. Odama geldiklerinde, benimle oturup, ne üzerinde çalıştığımı sor, bana detaylı olarak açıkla, benimle çalışmasını izle ve ilgileniyor gibi görünmelerini en çok teşvik ettim. Bugün artık ailemin açıklamalarıma ya da ayrıntılara büyük ilgi gösterdiğine inanmıyorum, fakat o zaman yaptıklarına ikna olmuştum ve işimden memnun kalmamı sağladı. Onunla oturmak, ne inşa ettiğine bakmak, onunla tartışmak, sorular sormak ve hevesli görünmek için zaman ayırın. Kendisini özel hissettirecek ve olumlu pekiştirici sağlayacaktır. Ona yardım öneremeyebilir veya ona bir şeyi nasıl yapacağını gösteremeyebilirsiniz.

Programlamayı öğrenmenin en iyi yollarından biri zor bir hedef bulmak ve bunu bir odak noktası haline getirmektir. Benim durumumda, 16 yaşındayken belirli bir hedefe odaklandım. O zamanlar çok popüler bir android / iphone oyunundan yararlanmak için bir program geliştirmeye odaklandım. Bu hedefe karar verdim ve aylarca ona doğru çalıştım. Sonunda bunun için bir uygulama yapmayı başardım ve hedefim daha genişledi. Bu hedefe ulaştıktan sonra, programı genişletmek ve ona daha fazla özellik eklemek için çalıştım. Gelecek sene ve bir buçuk yıl boyunca, bir zamanlar başarabileceğimi hiç düşünmediğim özellikleri ve hedefleri barındıran birçok program yaptım. Söyleyeceğim, daha fazla genişletme motivasyonum paraydı. Yazdığım oyundan yararlanma yazılımını satan bir çevrimiçi işletme yarattım. Ancak, onun motivasyonu herhangi bir şey olabilir. Para ya da yarattığı şeyi satmak zorunda değildir. Son hedefe ulaşmak için motivasyon bulabilir. Onu neyin motive ettiği, neyin motive olduğu önemli değil.


Programlamayı öğrenmek için bulduğum en iyi kaynaklardan bazıları:

  1. YouTube: Bu, zayıf bir öneri gibi görünebilir, ancak açıklamama izin verin. “[Öğrenmek istediği dil] öğreticiyi” arayın ve bir çalma listesi seçin. YouTube'da başlangıçtan ileri düzeye kadar birçok dil için birçok harika ders vardır.
  2. Khan Academy: Bunu bir yıl öncesine kadar bulamadım, ancak Khan Academy'nin ücretsiz bir programlama kursu var. Kursu gözden kaçırdım ve yeni başlayanlar için çok iyi bir kurs gibi görünüyor. Temel kavramları kapsar ve çok anlaşılabilir bir durumdur. Onun için iyi bir kaynak olabilir.
  3. "TeachMeComputer": TeachMeComputer, Visual Basic .NET ve PHP için harika dersler oluşturan bir adamın YouTube ismidir. Hepsini organize etti ve www.HowToStartProgramming.com adresinde ek içerik sağladı . Çocuğun web geliştirme konusundaki ilgisiyle, bu PHP'yi öğrenmek için değerli bir varlık olabilir. VB.NET'in harika bir başlangıç ​​programlama dili olduğuna inanıyorum, bu yüzden ders setinin kendisi için de çok yararlı olabileceği konusunda.

Düzenleme : Ebeveyn olduğunuzu varsaydığım için özür dilerim. Gönderinizin son satırını siz yapmadığınızı fark etmedim. Buna rağmen, cevabımın hala yardımcı olabileceğine inanıyorum.


4

Yazılım geliştirmeyi kendim de aynı şekilde öğrendim (90'lı yılların başlarında çevrimiçi olarak daha az kullanışlı materyal olmasına rağmen, bu yüzden birincil bilgi kaynağım olarak kitapları buldum / satın aldım), en önemli şeyin bu olduğunu söyleyebilirim. Çocuğun ihtiyacı varmış gibi görünüyor: Öğrenmek için motivasyon.

Buradaki diğer cevaplar, benzer düşüncelere sahip olanların katılımı, araçlarla aşinalık kazanılmasına yardımcı olmak ve sesler kadar basit, etkili bir şekilde yazmayı öğrenmek çok önemlidir (aksi takdirde bilgisayara herhangi bir bilgi girme eğilimindedir) gibi unsurlar dahil olmak üzere iyi öneriler sunar. o kadar zor ki, kodla ilgili büyük problemleri çözme fikrini zorlukla karşılayabilirsiniz).

Ayrıca şunu da eklerdim: Bu genç insanı kendi seçtiği bir hedefi / projeyi seçmesi ve onunla bütünleşmesi için cesaretlendirin. Bu birkaç girişimde bulunabilir ve ilki (ler) eksik bırakılabilir, çok hırslı olabilir, sonunda sıkıcı hale gelebilir, vb. , ya da okulda ya da arkadaşlar tarafından kullanılan bir şey vb.) - bu önemli bir nokta ve hayati bir adımdır.

Aynı yaşta programlama hakkında çok şey öğrendim (10-12), ancak on üç yaşındayken birisi bana onlar için bir şeyler programlamam için para teklif etti ve bununla ilişkili bir son tarihi vardı. Bu farklı bir deneyimdi. Bununla ilgili stres varken, beni de sorumlu tuttu. Bir sürü tamamlanmamış projem ve zekice düşüncelerim vardı, ancak birileri bana yazdığım herhangi bir yazılımı teslim etmem konusunda bana yardımcı olmadıkça değildi (ve yeterince terbiyeli ve çalışabilir, aşırı saçma bir yığın değil). Aslında "gerçek bir geliştirici olduğumu" düşünüyorum.

Bu benim iki sentim.


3

Scratch ile başlayın: http://scratch.mit.edu/

"Scratch, öğrenciler, akademisyenler, öğretmenler ve veliler tarafından kolayca oyun oluşturmak ve daha gelişmiş bilgisayar programcılığına adım atmak veya hatta bir dizi eğitim için kullanmak için kullanılabilecek ücretsiz bir masaüstü ve çevrimiçi multimedya geliştirme aracıdır. ve deney simülasyonları ve görselleştirmeleri, animasyonlu sunumlarla ders kaydı, sosyal bilimler animasyonlu öyküleri ve etkileşimli sanat ve müziği içeren matematik ve fen projelerinden eğlence kurucu amaçları. " WP


5
Ew. Scratch'ı 6. sınıfta “bilgisayar okuryazarlığı” kursunda kullanmak zorunda kaldım ve çok kötüydü. neden beni çok fazla fare kullanmaya zorluyorsun? Sadece tyyyyype yapmama izin ver
Doorknob

1
Eğer Scratch ile çalışmaktan öğrendiğin tek şey fareyi sevmiyorsan, o zaman noktayı kaçırdın. Temel programlama kavramlarını öğrenmek için mükemmel bir araçtır. Ve denemek için çok eğlenceli. Her iki çocuğum da onu sevdi ve gerçek programlamayı öğrenmeye başladılar. Anahtar bir fare kullanıp kullanmadığı değildir; İşin anahtarı, onları daha ileri öğrenmeye çekebilecek eğlenceli bir yoldur.
james.garriss

5
Scratch, programlama mantığının temellerini tanıtmak için oldukça iyi bir başlangıç ​​noktasıdır, ancak daha önce başlayan bir genç için biraz genç olabilir. Aynı zamanda onları bir kariyerde kullanılabilecek görsel programlama dillerine alıştırmanın iyi bir yoludur (örn. LabVIEW).
Acire

3

Millet zaten bazı harika öneriler ekledi. Ekleyebileceğim tek şey, yapmaktan çok hoşlandığı bir şeyi bulmak, programlamanın ona rekabet avantajı sağlayacağıydı. Örneğin, eğer video oyunlarını seviyorsa ve nasıl kod yazacağını bilmek eğer onun sistemini veya yazılımını değiştirebileceği anlamına gelir (evet Bunun bir avantaj sağlaması için hile yapabileceğini biliyorum, o zaman belki de onu koddan hacklemenin ve bir uygulamanın ihtiyaçlarını karşılamak için davranışını nasıl bükeceğimizi öğrenmenin bir yoludur. Kaçmaya başlaması aptalca şeyler olabilir; ama zamanla, yetenekleri bir angarya olmadan doğal olarak büyüyecekti. İnsanlar yaptıklarından hoşlandıklarında daha hızlı öğrenir ve gelişmeye devam eder.


3

Asla unutma, bazen çatışabilecek iki hedef var.

  • İyi eğlenceler programlama
  • Harika bir yazılım geliştiricisi olun

Bu ikisini de aklınızda bulundurun, çünkü hangisinin önceliklendirdiğinizin farkında olmadan kararlar alırsanız, doğru dengeyi alamayabilirsiniz. Daima aynı şeyi diğerine göre önceliklendirmek iyi sonuçlanmayacaktır.

Kendilerine daha deneyimli programcılardan rehberlik olmadan programlamayı öğreten biri, daha sonra öğrenmeleri gereken bazı kötü alışkanlıklar öğretebilir.

Çocuk için bir öğretmen almak sizin için bir seçenek ise, o zaman çok yararlı olabilir.

Çocuğu açık kaynak projelerine katılmaya teşvik edin, çünkü bu birçok fayda sağlayabilir:

  • Bir gün bir yaşam için programlama yapmayı umuyorsanız, bir projede diğer insanlarla birlikte çalışmayı öğrenirsiniz.
  • Projeye katılan daha deneyimli insanlar yolda bazı rehberlik sağlayabilir.
  • Projeye güzel bir şey katmayı başarırsanız, bir gün bir geliştirici olarak kariyer yapacaksanız CV eklemek için bir şey olduğu anlamına gelir.

Çok sayıda açık kaynaklı proje var, bu yüzden çocuğun ilgisini çekecek bir ihtimal var.

Herhangi bir teknik beceriye sahip olmasanız bile, çocuğa bu süreçte rehberlik edebilirsiniz. Böyle bir projede yer almak için gerekli olanların bir kısmı, muhtemelen bazı rehberlik sağlayabileceğiniz iyi insan becerileri ile ilgilidir.

Bazı çevrimiçi topluluklar yeni gelenlere biraz düşmanca gelebilir. Çoğu durumda ilgili olan birkaç öneri:

  • İlk başta biraz mütevazı olun. Yeni gelenler ara sıra (bazen iyi sebeplerden dolayı) haklı olmalarından daha yüksek özgüvenli kibirli kişiler olarak görülmektedir.
  • Öğrenmeye istekli olduğunu göster.
  • Değerli katkı sağlayabileceğinizi gösterin.

Birçok açık kaynaklı proje açık posta listelerindeki gelişmeleri tartışıyor, bu nedenle çocuğun toplumda nasıl bir araya geldiğini görmek için nelere dikkat edip etmeyeceğinize karar vermelisiniz.


2

Şu anda genç yaştayım ve birkaç yıldır programlama yapıyorum.

Dile yaklaşık sekiz yaşımdayken ilk olarak C'ye girdim, ancak dile çok fazla dokunmadım. Web geliştirme ve tasarıma daha çok odaklanıyorum, ancak Bukkit API için Java temel bilgim olmasına rağmen , yakında Objective C veya Swift'e geçeceğim.

Şu anki deneyimime göre, kendinle öğrenmek en iyisi. Genç yaşta diğer insanlardan öğrenmeyi daha zor buluyorum, fakat deneme yanılma. Birçok okulun benim için yeterli olduğunu hissetmeme rağmen, katılmam istendiği ama reddedildiği gibi bilgisayar kulüpleri sunduğunu biliyorum. Daha küçük yaşta olan insanlar, bizlerin çocuklarının beklediklerini yapamayacağını genelleştirir. Konuyla ilgili bilgi seviyemi kabul eden birçok yetişkinle birlikte çeşitli programlama ve betik dilleri hakkında daha bilgili olduğumu biliyorum.

Programlamaya ilk başladığımda birçok çevrimiçi öğreticiyi izlerdim, ancak yalnızca görsel öğreticiler bana yardımcı olabilirdi. Video okumak da beni sınırlandırsa da, okuma ve etkileşimli kaynaklar bana hiç yardımcı olmaz.

Videolardan kod kopyalar ve nasıl çalıştığını keşfederdim. Orta düzeyde bir bilgiye sahip olana kadar bazı fonksiyonları araştırıp dili denerdim.

Çocukmuş gibi hissediyorum, başarabileceklerimle sınırlıyım. Teorik olarak, benim için pek yardımcı olmasa da, bir 'İnek' olarak sınıflandırılabilir ya da hesaplama ve programlama için geniş bir bilgi yelpazesine sahip olabilirim. Tam zamanımı okul, aile ve arkadaşlar gibi engeller için hesaplama ve programlamaya odaklayamıyorum. Bir yetişkin olsaydım, kişi başına farklı olmasına rağmen bilgilerimi daha hızlı genişletip daha fazla şey öğrenebileceğime inanıyorum.

Her neyse, darmadağın metnimi okumak istemiyorsanız, çocuğun kendi başına öğrenmesine izin vermenizi öneririm. Kendisini sınırlı hissetmekle aynı pozisyonda, muhtemelen onu terk ederseniz, ona yardım etmeyecek kaynaklar verilmek yerine, ona yardım edecek kaynakları bulacağından emin olacağım.

Dilbilgisel hatalardan dolayı özür dilerim, çünkü hala kendim bir çocuğum ve daha fazla deneyime ve bilgiye sahip bir yetişkinin ayrıntılı bir şekilde veya yapılandırılmış bir şekilde yazamam.

Bununla birlikte, bilgilerim oldukça genişletilmiş bir bilgi olmasına rağmen yardımcı olur.

Düzenleme: Sıfırlama veya otomatik tamamlama gibi araçlar veya otomatik olarak oluşturulan kod araçları gibi programları kullanmamalarını tavsiye etmem. Sıfırlama, programlamadan çok sağduyuludur - bu, programlamayı böyle görmek zorunda değildir.


2
Düzenlemenize +1 ekleyin. Bu, bazı IDE'leri öğrenirken kullanmama karşı en büyük şikayetim. Eğer IDE kodunuzun çoğunu sizin için yazarsa, ne öğreniyorsunuz? Bu sorun nedeniyle Visual Basic .NET önerirken dikkatli değilim. VB.NET için Visual Studios, çoğu zaman otomatik olarak birçok anahtar kod yazar ve geri kalanı için ne yazacağınızı önerir. Eğer kullanıcı otomatik olarak üretilen / tamamlanan kodun gerçekte ne yaptığını öğrenirse, ancak kullanıcı bu bilgiyi kendi başına aramazsa, doğru bir şekilde öğrenemez. Yani bu tür şeylere karşı tavsiyenize +1.
Spencer D,

1
Benimle aynı fikirde olduğun için teşekkür ederim. Çeşitli dillerde bilgim olduğu için, otomatik tamamlama IDE'lerini kullanacağım. Bu sadece zaman yönetimi içindir ve daha deneyimli geliştiriciler için bunu tavsiye etsem de, insanların programlamayı öğrenmeleri gerekir. Bir şekilde nasıl yazılacağını bilmeden bir dilin nasıl konuşulacağını bilmek gibi.
Profil

Bunun için iyi bir benzetme. Mümkünse, yabancı bir dilde birkaç kelime bilmek ve ardından söylemek istediklerinizin geri kalanını çevirmek için google çeviri kullanmak gibi olduğunu söyleyebilirim. Evet, noktaya değiniyor ve çalışıyor, ama siz kendiniz yazmadınız ve böylece her bir kelimenin ne anlama geldiğini öğrenmediniz. Ancak, dediğiniz gibi, dilleri ve kodu bir kez anladığınızda, otomatik tamamlama ve otomatik olarak oluşturulan kodu kullanmak genellikle büyük bir zaman tasarrufu olabilir.
Spencer D,

Heh, evet. Buna tamamen katılıyorum.
Profil

2

Burada verilen cevaplara bir nokta eklemek istiyorum. Hala ilgilerini korurken bunu yapabiliyorsanız, dillerin nasıl çalıştığını (hesaplama teorisi, dil paradigmaları vb.), Belki de sadece dil sözdizimi ve belgelerini değil ders kitaplarını okumayı teşvik etmeye çalışın. Deneme ve yanılma, neyin işe yaradığını öğrenmek için harikadır , ancak nedenini anlamakProgramlamada çalışmayan veya çalışmayan şeyin arkasında, kodun ne kadar iyi yazıldığına bakılmaksızın, sadece görevi yerine getirmekle ilgilenen biri yerine bir yazılım geliştiricisi olmak için çok önemlidir. Sadece işler arasında bir fark görmüş bir yazılım mühendisi olarak iki kuruş, bu yüzden mükemmel olmalı - zihniyet ve iyi çalışan temiz kod yazma fikri ölçeklenebilir, uyarlanabilir, vb. Teoriyi çalışmak gerçekten yardımcı olabilir. bu.


1

Çocuk nasıl öğrenileceğini zaten biliyor ve istediğini kanıtladı. Diğer cevapların birçoğu, çocuk materyallerini göstermeye odaklanır, bu yardımcı değildir, çünkü çocuk internette herhangi bir yerdeki materyallerle ilgili sorular sorabilir. Çocuğa yönelik malzemelerin ve beklentilerin atılması bile konuyla ilgili herhangi bir ilginin cesaretini kırabilir ve öldürebilir.

Dikkat edilmesi gereken sadece 2 şey olduğunu düşünüyorum: Bir zorluk olmamasından veya bir meydan okuma tarafından boğulmaktan kaynaklanan ilgi kaybı.

Bunalmakla mücadele etmek için, ilerlemesinden gurur duyması için ne yaptığına ilgi gösterin (ya da en azından bir şeyler yavaş giderse, ilerleme olduğunu anlayın). Ve eğer bir zorluk eksikliği varsa, yapabileceği daha fazla şeyden bahsediyorsa (örneğin, sevdiği bir oyun için bir mod üzerinde çalışın, bir Ahududu PI, vb. Alın). onları yapmak isteyip istemediğine karar verir.


1

İlgilenebileceği kişisel projelere ihtiyacı var. Açık kaynak harika. Oyun yapmak harika - ama kesinlikle doldurması gereken en yüksek sipariş.

Kendisi veya başkası için net kullanımı olan şeyleri bitirmek en esnek, kendi kendine güvenilir bir çözümdür. Ben oyunları tavsiye ederim, çünkü oyunları severim. Fakat yine de oyunları severim ve oyunların tamamlanması için en geniş beceri yelpazesi gerekir.

Ama eğer bir inekse, o da oyunları sevecek. Oyunlar da karlı. Ahaha.


1

Bence buradaki önerilerin çoğu yanlış yöne gidiyor.

Bir projenin kendisi için ilgili bilgi ya da becerileri edinmiş gibi göründüğü göz önüne alındığında, aşağıdaki iki tavsiyeyi tavsiye ederim:

Ona okul sonrası bir öğretmenlik dersi vermesini veya öğrencilere programlama hakkında birkaç konuşma yapmasını önerin. Öğrenmenin en iyi yolu yine de öğretmektir. Bu onun sosyal becerilerini de geliştirebilir.

Ona bazı "gerçek" projeler ver. Okul sınıfı için bir web sitesi veya bir matematik veya fizik projesi için bir web uygulaması programlamasını isteyin. Ya da küçük bir veritabanı şey ya da bir wiki. Bu şekilde becerilerinde gerçek bir alaka görecektir. Uzman olduğunu ve diğer insanların ona ihtiyacı olduğunu anlayacaktır. Ve kendini pazarlamak için erken öğrenecek.


1

14 yaşın başlarında inanılmaz derecede pazarlanabilir bir beceriye sahip olduğun için bu genç zihni tebrik ediyoruz! Bu çocuk ne kadar havalı. (Ben bir programcıyım, o merak ederken beni affet).

  1. İlk önce bunu teşvik etmek, sahip olmak için harika bir yetenek!

    Bir giriş seviyesi programcısı bölgeye bağlı olarak yılda 30.000-50.000 $ 'dan başlayabilir. Gelişmiş programcılar (genellikle Mühendis olarak adlandırılır) altı rakamı kolaylaştırabilir.

  2. Öğrenmesi, eğlenmesi ve geliştirmeye devam etmesi için ihtiyaç duyduğu tüm kaynaklar ücretsiz çevrimiçidir.
  3. Programlama eğlenceli olsa da, klavyeler ve masalar vücuda zorlu geliyor. Genç padawan çok erken yaşlarda başlamış, 16'da karpel tüneli alamaması için bazı fiziksel aktiviteleri göz önünde bulundurması gerekiyor.

    GÜÇLÜ bir şekilde yoga öneririm ve en basit haliyle sadece bir YouTube araması yapın ve her gün okulda veya başka bir etkinlikte bulunmayan 15 dakikalık bir gerginlik yapın.

    Şaka yaptığımı düşünebilir (özellikle 14 yaşında) ama sektör çok ağır ... temelde bir programcı tek bir pozisyonda ve tipte oturduğu için. Şimdi iyi alışkanlıklar oluşturun.

Bağlantı Aşkı:

Dışarıda daha birçok kaynak var ama bunlara bir kez baktığında linklerden daha fazlasını bulabilecek.



0

HTML CSS ve JS’de istekte bulunmadan iyiyse, bunun için çok iyi bir özelliği var. Becerilerini geliştirmek istiyorsa neden CodeEval'a yönlendirmiyorsun ? Bu zorlukları tamamlayarak, hangi dili seçtiğine dair bir fikir edinecek ve eğer çok daha iyisini seçerse (kodlama dilleri her şeyden önce insan dilleri gibidir, ne kadar çok bilirseniz, bir sonraki dili öğrenmek o kadar kolay olur) ).

Eğer kapsamlı okuma türüdür, en yakın üniversitedeki bir CS101 sınıfından bazı gerekli okumaları alabilirsiniz. Zaten programlayabiliyorsa, bunlar başının üzerinde olmayacak ve hatta onu ilgilendirebilir.


Üzgünüm -1. Profesyonel geliştirici olarak, golf oynamanın olumlu bir şey olduğunu düşünen birinin daha kötü bir yanı yoktur; ve programlama öğreten biri olarak, golf oynama bir aceminin maruz kalması gerekenlerin çok ötesindedir.
user3143,

@ user3143 Noktası, golf bağlantısı kaldırıldı. CodeEval (en azından acemi zorluklar) püf noktaları almak ve temel algoritmalar ile çalışmak için harika bir yoldur.
Sidney

0

Yukarıdaki önerilerin tümü kullanışlıdır, ancak aşağıda listelenen alanlardan birindeyseniz, orada Coderdojo'ya gidebilirsiniz. Değilse ve bazı fikirli çocuklar ve ebeveynler bulabilirseniz, kendi bölgenizden bir tanesine başlamayı düşünebilirsiniz. Https://zen.coderdojo.com/dojo adresindeki ayrıntılara bakın.

Biri Sallins, Naas (Co Kildare. İrlanda'da) bölgemde ve iki yıl önce 4 çocuktan kaçıyordum, artık her biri 6 ila 17 yaş arasında her hafta 50'den fazla çocuğumuz var. MineCraft, Python ve PyGame, Java, Blender, Unity, Eclipse vb.

Umarız sürekli öğrenme deneyimlerimizin heyecanını paylaşabilmeniz ve her yeni projeyi gösterebilmeniz için gerçekten bir deneyime katkıda bulunan bir grupla bağlantı kurmayı başarırsınız :-) JK


0

Lisede programlamaya Gençler için Oyun Programlama kitabıyla başladım . BlitzMax programlama dilini öğretir . Bunun iyi bir başlangıç ​​programlama dili olduğunu düşünüyorum çünkü ingilizce benzeri bir sözdizimi ve ekranda çizim için basit bir komut seti var. Java gibi diğer birçok dil, profesyonel programcılar için bir varlık olan ancak yeni başlayanlar için çok zorlayıcı olan büyük bir API'ye sahiptir. Bir programlama dilini öğrendiğinizde, başka bir dili öğrenmek çok daha kolaydır, böylece hazır olduğunda Java veya C # gibi başka bir dile geçebilir.


0

Tüm cevapları okuduğumu söyleyemem, ancak ilk birkaç kişi beni çok üzdü. Kesinlikle modern bilgisayar uzmanlarından (Gates, İşler vb. Düşünün) hiçbiri dişlerini böylesine yüksek bir soyutlama seviyesinde (yani web tabanlı teknolojiler) kesmiyor . Hepsi donmuş ve donanımdan kirlenmiş. Herhangi bir takımdaki go-guru, hemen hemen her zaman en düşük seviye bilgisine sahip olanlardır.

GERÇEK hesaplamayı öğrenmek ve bu konuda onu heyecanlandırmak istiyorsanız, ona gerekli oyuncakları (kaliteli multimetre ve bir CRO (güzel bir 2. el 50 MHz Tektronix ünitesi güzelce yapacak) getirin), şık bir geliştirme kartı (Raspberry PI, Intel Edison vb.) Ve onun için bazı güzel projelerle beyin fırtınası yapın.Bir hareket algılayıcısı bağlamak ve herhangi bir hareket algılandığında ona yatak odasının bir fotoğrafını göndermek gibi bir şey olabilir.Tamamen anlamsız, ama çok eğlenceli ve gösterişli Arkadaşların

Böceği aldığında ve aletlerini aldıktan sonra, yetenekleri doğal olarak gelişecektir. En önemli şey, onun yetenek seviyesi ile orantılı olan zorlukları belirlemektir. Başlangıçta biraz el ele tutması gerekecek, ancak donanım I / O, program mimarisi ve bir sonraki problemi çözmek için gerekli bilgiyi nasıl elde edebileceği ile ilgili temel becerileri geliştirdiğinde, onu durduramayacaksınız.


Sparkfun bu tür şeylerle başlamak için iyi bir yer. Önceden haddelenmiş robotik projeler bir sürü. Robotik / gömülü işleri kendim önermeyi düşünüyordum.
Tyler

0

Kendi tecrübelerime dayanarak, kendimi öğrenmiş gibi öğrenmene ihtiyacın olduğunu söyleyebilirim, başkalarının ne yaptığını görmeye başladım, wiki okudum, dersler izlemeye başladım ve onların mekaniklerini anlamaya çalıştım. ben. Ben de codeacademy.com bazı şeyler öğrendim html, css, javascript, php ve yakut için benim kuruluşumdu. En önemlisi, ona bir bilgisayar, internet, çok zaman, anlayış ve elbette ilham vermesi gerekiyor (tabii ki kendi projesi ya da kendisi için önemli bir şey gibi) ve tabii ki ona nasıl söyleyeceğini söyleyemez. o serbest alt alan ve barındırma alabilirsiniz da öğreneceğiz kendisi dışarı everythink bulmak için ihtiyacı olduğu, nasıl yapılacağını bilir http://api.hostinger.co.uk/redir/3586817(<- onu kullanıyorum) ve düz dosya editöründe ne zaman öğrendiğinizi öğrenmesi kolay olduğu için kodlama için herhangi bir özel araca ihtiyacı yok ama aslında biliyorsunuz, istemediği hiçbir şeyi yapma

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.