Do jakich kamieni milowych dziecko powinno dotrzeć, zanim nauczy się programowania?

27

Zamierzam kupić komputer dla mojego dziecka jako prezent urodzinowy, więc zastanawiam się, jak z niego korzystać edukacyjnie. Oczywiście oczywistym wyborem jest nauczenie go programowania.

Nie pytam, w jakim wieku powinno być dziecko, aby zacząć uczyć się programowania. Zastanawiam się, co powinien być w stanie zrobić, aby skutecznie nauczyć się programowania? Jaki jest odpowiedni poziom rozwoju dziecka do nauki programowania?

Nikita Barsukov
źródło
Ile on ma lat?
nuc
@ nuc - Ma 7 lat w ciągu trzech tygodni.
Nikita Barsukov
2
Myślę, że programowanie raczej nauczy twoje dziecko tego, czego potrzebuje, niż na odwrót. Ale musi oczywiście umieć czytać / pisać i korzystać z komputera. Chociaż istnieją gry w stylu programowania, które nie używają tekstu.
Lennart Regebro
Czy to bardziej pytanie typu StackOverflow? Może tak: stackoverflow.com/questions/3088/…
Justin Standard
1
Nie jest to odpowiedź, ale warto przyjrzeć się Scratchowi , łączy on kreatywność z logiką w zabawny sposób i ma doskonałą bazę wsparcia. Pod linkiem „dla rodziców” nie było tyle, ile bym chciał, ale jestem pewien, że mają one bardziej szczegółowe informacje.
kleineg

Odpowiedzi:

15

Jako programista chciałbym zaproponować następujące rzeczy:

Myślenie abstrakcyjne, Myślenie pragmatyczne, Wyższe rozwiązywanie problemów. Wzory projektowe (ogólnie nie programuje, ale buduje. Budynek w sensie budowania, budowania. Czy wiesz, że wzorce projektowe pochodzą z projektowania budynków i rozwiązywania problemów w inżynierii?)

Poleciłbym również zacząć od słynnego małego języka programowania dla dzieci: Logo. Są naprawdę dobre gry na rozpoczęcie twojego dziecka.

Ale możesz to zrobić w Google, więc nie będę zawracać sobie głowy kopiowaniem tych wyników. Twoim głównym celem jest zwrócenie jego uwagi i sprawienie, by zaczął myśleć jak programista, a przynajmniej zacząć myśleć w ten sposób.

Następnie możesz zacząć od zastosowania wiedzy w zakresie algorytmów i niższego rozwiązywania problemów oraz programowania obiektowego.

Polecam także korzystanie z map myśli, ponieważ dzieci zwykle lepiej pamiętają kolorowe rzeczy. :) http://en.wikipedia.org/wiki/Mind_map

Ohhh też ... zapomniałem, ale to może pomóc.

Jako dziecko uwielbiałem automatyzować wszystko. Dlatego jestem dzisiaj inżynierem testów automatyki. Może być fajnie pokazać dziecku, jak można zautomatyzować zadania. Jak manipulować oknami i wszystkim, co robi komputer. Może także jakieś interakcje w świecie rzeczywistym, takie jak OCR z kanałem wideo. Lub podstawowy system śledzenia ruchu z tanią kamerą.

Myślę, że dzieciak byłby bardzo szczęśliwy, gdyby na przykład zauważył, czy jego rodzice zbliżają się do jego pokoju. :) Lub zbuduj małego lego robota i zaprogramuj w nim rutynę, na przykład idź i daj mi mleko. Co jest trudne, ale załóż go i będzie miał również cel i prawdziwe doświadczenie życiowe, które jest BARDZO ważne na początku.

Zobacz: Lego Mind Storm: http://mindstorms.lego.com/en-us/Default.aspx

Hannibal
źródło
1
Uczyłem Logo (obecnie do pobrania za darmo) pierwszoklasistów. Muszą znać alfabet, potrzebują praktyki w znajdowaniu liter na klawiaturze i muszą mieć podstawową znajomość liczb. Większość „słów” Logo ma tylko dwie litery, a praca z Logo uczy liczb, takich jak kąty i rozmiary. W wieku 9 lub 10 lat dzieci mogą robić z nim niesamowite rzeczy.
MJ6 11.04.13
Nauka czytania nut jest bardzo podobna do nauki czytania kodu.
Per Alexandersson,
Polecam tedfelix.com/qbasic jako przewodnik po elementach konstrukcyjnych. Nie musisz używać qbasic ani freebasic, jeśli chcesz zmodernizować dokument. Ale jeśli pominiesz dyskietkę, wszystko tutaj omówione jest tam, gdzie wszystko inne jest zbudowane na wierzchu. Cały mój kod jest w jakiś bardziej skomplikowany sposób, te proste polecenia. (W szanowanym języku, który koduję, to jest). Legos brzmią bardziej zabawnie, chociaż nigdy nie byłbym w stanie sobie pozwolić na programowanie lego w moich czasach.
Mallow
17

Zacząłem, gdy miałem około 6 lat - nie miałem żadnych szczególnych wymagań, po prostu lubiłem odkrywać (szczególnie na komputerze!). Właściwie sam znalazłem QBASIC na komputerze, nie miałem pojęcia, co on zrobił i jak to działa, i zapytałem mojego ojca - nie miałem pojęcia, że ​​ma to związek z „programowaniem” lub czym to było - ale pokazał mi tylko, jak może powiedzieć komputerowi, aby „robił” rzeczy (najpierw dodawał liczby, następnie wyświetlał wiadomości, a następnie pytał o dane wejściowe i robił coś z tym…), i zrobiłby to za Ciebie! Sama natura bycia w stanie pouczyć coś innego (ja! Sześciolatek!) Była hakiem.

Później pokazał mi, jak sam uzyskać dostęp do plików pomocy - to było nieocenione. Teraz jestem inżynierem oprogramowania, bez doświadczenia innego niż moje.

Naucz swoje dziecko nie programowania, ale nauki .

Ashe
źródło
9

Może łatwiej będzie mu zrozumieć podstawowe pojęcia poprzez niektóre gry programistyczne / edukacyjne.

Niektórzy z nich są:

Kodu

Wizualny język programowania stworzony specjalnie do tworzenia gier. Dostępne dla dzieci i przyjemne dla każdego ”.

Kinderlogo

Kinderlogo to adaptacja Logo dla małych dzieci, oferująca stymulujące środowisko Logo do twórczej eksploracji, rozwiązywania problemów i odkrywania dla uczniów K-3 i osób o specjalnych potrzebach.

Lego WeDo Robotics

Uczniowie będą mogli budować modele LEGO z działającymi silnikami i czujnikami; zaprogramować swoje modele; i eksplorować serię interdyscyplinarnych, tematycznych działań, jednocześnie rozwijając ich umiejętności w dziedzinie nauki, technologii, inżynierii i matematyki, a także języka i umiejętności czytania i pisania.

Prawdopodobnie dzięki takim grom będzie bardziej zmotywowany i będzie ci łatwiej, szczególnie jeśli nie masz solidnego doświadczenia w programowaniu.

nuc
źródło
1
W rzeczy samej. :) Właśnie dodałem robotykę Lego do mojego komentarza do. Zapomniałem o nich, ale ogólnie są to najbardziej zabawne rzeczy. : D Mam ponad 30 lat i nadal lubię bawić się klockami Lego.
Hannibal
@hannibal Niestety nie miałem żadnych klocków LEGO, gdy byłem dzieckiem! Nie mogę się jednak doczekać, aż mój syn trochę dorośnie i zacznie się z nim bawić! Szczególnie te roboty wyglądają świetnie! :)
nuc
Ach tak, rzeczywiście. :) Spodoba ci się bardzo. Ale uważaj, aby nie cieszyć się bardziej niż swoje dziecko. : D Lub zdobądź dla siebie ... :)
Hannibal
Nie mogę się doczekać, aby sprawdzić Kinderlogo, a dla przypomnienia moja pierwsza klasa wypadła dobrze z logo waniliowym. Będę musiał wykopać jedną z moich starych kaset z programami, które napisałem.
David LeBauer
7

Jestem programistą, więc właśnie zachęciłem moje dzieci, by „pomogły” mi od najmłodszych lat. W wieku dwóch lub trzech lat padali mi na kolana, obserwując, jak piszę aplikacje i generalnie hakuję, więc gdy tylko mogłem zwolnić zapasowego laptopa, dałem im potrójnego boot linuksa, solaris i okno z Windows.

Podstawowe kodowanie powłoki wydawało się proste od 4 lub 5 lat i ma najstarsze spojrzenie na Ruby on Rails - ma 10 lat.

Z tej trójki mój najstarszy jest jedyną osobą, która wydaje się być zainteresowana opracowywaniem gier, ale doświadczenie, które zdobywają młodsze, może być przydatne.

Jedyną zasadą, którą zawsze stosowałem, było to, że używają laptopa w tym samym pokoju co ja lub moja żona - nie używam żadnego oprogramowania cenzury, ale jestem tam, jeśli napotkają coś nieodpowiedniego - i to sprawia, że dla przyjemnego środowiska pracy.

Rory Alsop
źródło
„Podstawowe kodowanie powłoki wydawało się proste od 4 lub 5 lat” - czy twoje dzieci mogą już czytać i pisać w wieku 4 lat? Nie wyobrażam sobie, jak można zaprogramować komputer bez umiejętności czytania i pisania.
BBM,
Tak - z łatwością potrafią czytać proste słowa w 4. Komputery korzystają z bardzo prostego podzbioru słów.
Rory Alsop
To naprawdę wspaniałe, jak zachęciłeś swoje dzieci do pomocy i kazałeś im kodować powłoki w wieku 4-5 lat. Jestem ciekawy, 4-5 wydaje się bardzo młode do kodowania powłoki, wyobrażam sobie, że programowaliby Ruby on Rails do 5-6. Dlaczego tak długo skacze się od kodowania powłoki do programowania w sieci?
01
+1 za zachęcenie dzieci do „pomocy”. Spędzanie czasu z dziećmi i powierzenie im odpowiedzialności to duży krok w kierunku zainteresowania ich z właściwych powodów.
deworde
5

Oprócz innych sugestii, powiedziałbym, aby upewnić się, że potrafi pisać stosunkowo dokładnie. Mój siostrzeniec interesuje się programowaniem, ale jego błędy pisarskie powodują wiele problemów i bardzo go to frustruje.

alesplin
źródło
Frustracja jest częścią procesu uczenia się. Powinieneś wiedzieć, ile frustracji
Frustracja związana z poznawaniem struktury programowania to jedno. Frustracja związana z niemożnością pisania bez błędów pisowni (co spowoduje różnego rodzaju błędy programu lub kompilacji) to zupełnie inna sprawa. Jeśli dziecko nie może wpisać zdania bez błędnego wpisania słów z powodu błędów klawiatury, nie będzie w stanie uzyskać „dobrej” frustracji związanej z nauką kodowania.
alesplin
2

Może to zabrzmieć dziwnie, ale zdobądź kod źródłowy dla prostych gier, pokaż mu, jak je pisać (lub tworzyć) i pozwól mu na to.

Tak zacząłem programować w wieku 7 lat - pisanie kodu gry z książki Quick Basic, którą mój tata gdzieś mi kupił. Intensywne 30 minut pisania 10–100 wierszy kodu, a następnie uderzanie „uruchom” i godziny (ok, minuty) radości.

To świetne rozwiązanie, ponieważ wiąże wysiłek z wynikami. A które dziecko nie lubi gier?

ashes999
źródło
1

Ten link znajduje się na mojej liście rzeczy do zrobienia od dłuższego czasu. http://www.qimo4kids.com/Możesz tam znaleźć ciekawe zasoby. Ale aby odpowiedzieć na pytanie, myślę, że trudno jest na nie odpowiedzieć jako dorosły. Nasze wychowanie, które obejmuje proces uczenia się programowania, różni się całkowicie. Moje dwie córki rozumieją rzeczy, których nie rozumiałem, kiedy miałem dwa lata. Potem był GPS. Mój ojciec robił rzeczy z komputerami, ale na kartach pocztowych. Rejestratory kasetowe są obiektami z przeszłości. Jestem prawie pewien, że programowanie, jakie znamy dzisiaj, nie będzie programowaniem wykonywanym przez moje córki, jeśli podejmą ten sam zawód co ja. Więc moim zdaniem jest zapewnienie moim dzieciom środowiska komputerowego, które im odpowiada. Jeszcze tego nie sprawdziłem, ale myślę, że zrobi to Gimo. Wydaje mi się, że postęp nauki programowania będzie po prostu następował. To znaczy, jeśli są zainteresowani tą sprawą. Być może w końcu wolą ogrodnictwo.


źródło
tak naprawdę nie jest to odpowiedź na pytanie, być może byłoby lepiej jako komentarz.
David LeBauer
Masz rację. Zaadaptowałem odpowiedź, aby była właściwą odpowiedzią