jak uczyć dzieci programowania

Jak uczyć dzieci programowania? Devdebata

W jaki sposób zainteresować dzieci programowaniem? Dlaczego warto uczyć dzieci programowania? Czy znajomość języka angielskiego jest niezbędna, aby nauka programowania postępowała? Na te i na wiele innych pytań odpowiedzi znajdziecie w tym wydaniu devdebaty. Rozmawiamy z seniorami, którzy wspierają swoje dzieci w nauce programowania.

Odpowiedzi na pytania udzielili:

  • Marcin Szwebs. Data Scientist w Ericsson. Około 20 lat doświadczenia w projektach telekomunikacyjnych, obecnie zajmuje się analizą danych związanych z zachowaniem się sieci radiowych operatorów.
  • Piotr Orłowski. Software Development Manager z ponad dwudziestoletnim doświadczeniem w branży IT i e-commerce. W allegro zarządza pracą 150+ inżynierów dbając o ich ciągły rozwój merytoryczny, jest odpowiedzialny za jakość techniczną, stabilność i wydajność platformy allegro. Lubi rozwiązania proste i dające większe możliwości niż pierwotnie planowane.
  • Dominik Kościelak. Senior Front-End Developer w Neofonie GmbH. Programista, antropolog kultury, entuzjasta ReactJS, wielbiciel CSS. Pomysłodawca i współautor programu edukacyjnego dla młodzieży “Hacking Heroes – Od Zera Do Hakera”. Miłośnik filmów krótkometrażowych i narciarstwa alpejskiego.

1. W jakim wieku i w jaki sposób zainteresowaliście swoje dzieci programowaniem?

Marcin Szwebs, Data Scientist w Ericsson:

W przedszkolu moja córka poznała Scratch Junior. Zapewne podglądała mamę, która przygotowywała zajęcia dla swoich uczniów. 

Piotr Orłowski, Software Development Manager w Allegro:

Około 3-4 lat, aplikacja, w której blokami trzeba było zaprogramować drogę przejścia robocika i kilka podstawowych czynności. Był to zdaje się Lightbot.

Dominik Kościelak, Senior Front-End Developer w Neofonie GmbH:

Ok. 7 lat. Syna zaciekawiła książka do nauki Scratch w księgarni. Kupiliśmy ją i razem realizowaliśmy zadanie po zadaniu.

2. Czy uważasz, że każdy nadaje się do programowania?

Marcin Szwebs, Data Scientist w Ericsson:

Myślę, że nie. Tak samo jak nie każdy powinien trenować Judo albo zajmować się pisaniem reportaży. Rodzimy się z pewnymi zdolnościami, są rzeczy, które nas interesują. Skupianie się na czymś innym jest marnowaniem swojego potencjału. Oczywiście jest pewien kanon, który każdy powinien znać, na przykład ortografia albo podstawowa wiedza o świecie (historia, geografia). Programowanie do niego nie należy. Ci, którzy mają z tym problem, powinni sobie to odpuścić i w ogóle się tym nie przejmować. 

Piotr Orłowski, Software Development Manager w Allegro:

Pewnie każdy jest w stanie się nauczyć programowania do pewnego stopnia, ale dla jakiejś części będzie to duże i niepotrzebne wyjście ze strefy komfortu, udręka, która – co gorsze – negatywnie wpłynie na inne możliwości tej osoby. W nowoczesnym świecie sprawdza się połączenie programowania z naukami humanistycznymi i uważam, że przestalibyśmy się rozwijać mając samych inżynierów.

Dominik Kościelak, Senior Front-End Developer w Neofonie GmbH:

Nie uważam, że każdy nadaje się do programowania, ale uważam, że każdemu programowanie może się przydać.

3. Dlaczego warto uczyć dzieci programowania?

Marcin Szwebs, Data Scientist w Ericsson:

Zanim odpowiem na to pytanie, potrzebna jest jedna ważna uwaga: warto uczyć programowania dzieci, które to bawi i które sobie z tym radzą. Nie wszyscy muszą się z tym mierzyć, to nie jest jakaś kluczowa umiejętność jak pływanie. Zestawianie ze sobą graficznych bloków w Scratchu, i planowanie prostych akcji, które na przykład przesuwają na ekranie kotka i wydają dźwięk, gdy ruch się skończy jest dobrą i rozwijającą zabawą dla wszystkich dzieci. Tworzenie złożonych akcji, które wykorzystują instrukcje warunkowe i pętle może być dla niektórych aktywnością, frustrującą i źródłem (nieuzasadnionego!) poczucia braku kompetencji. 

Dlaczego warto uczyć dziecko programowania? Umiejętność programowania to planowanie kolejnych kroków, logiczne myślenie, duma i radość w związku ze zrealizowaniem jakiegoś zadania. To świadomość, że jest się dobrym w czymś co postrzegane jest jako trudne i cool. Dziecko, które umie logicznie myśleć i wierzy w swoją moc sprawczą – to nam może się udać, jeśli namówimy je do takiej aktywności. Warto! 

Piotr Orłowski, Software Development Manager w Allegro:

Nie, nie dlatego, żeby miało lepszą pracę. Ale kilka aspektów, które uczenie programowania rozwija to myślenie logiczne, myślenie abstrakcyjne – w programowaniu dużo znaczą abstrakcje – nimi się ciągle posługujemy. Możliwość wyobrażenia sobie czegoś, co nie istnieje rozwija kreatywność. Zdolność przewidywania konsekwencji działania oraz tego co do takiego efektu doprowadziło, rozwija myślenie przyczynowo-skutkowe. Dodatkowo uczy cierpliwości i daje pewność siebie w tych cyfrowych czasach.

Dominik Kościelak, Senior Front-End Developer w Neofonie GmbH:

Nauka programowania to nie tylko rozwiązywanie łamigłówek i problemów logicznych, których pozytywny wpływ na rozwój młodych ludzi jest oczywisty. Kodowanie to także próba zrozumienia natury cyfrowego uniwersum, z którym wszyscy bezustannie obcujemy na co dzień. Uważam, że poznanie np. relacji Server / Client może być dla uczniów podstawówki przynajmniej równie ważne w procesie odkrywania zasad funkcjonowania współczesnego świata, co budowa mitochondrium czy rozbiór zdań złożonych.

4. Jak rozpoznałeś, że dziecko wykazuje zdolności techniczne lub ich nie przejawia (Czy mimo wszystko uczysz/będziesz uczył dziecko programowania?)?

Marcin Szwebs, Data Scientist w Ericsson:

Po prostu obserwowałem córkę, czym się interesuje. Gdy nauczyła się w przedszkolu czytać i pisać poprosiła mnie, abym założył jej bloga na blogspocie. Będąc nieco starsza sama ściągnęła sobie triala Camtasia Studio i skrackowany klucz (musieliśmy odbyć rozmowę na temat praw autorskich i darmowych równie funkcjonalnych zamienników). Pozwoliłem jej (oczywiście nadzorowałem te próby) eksperymentować i okazało się, że IT to coś, co ją kręci.

Piotr Orłowski, Software Development Manager w Allegro:

Mój syn zdolności techniczne pokazywał głównie klockami. Od czasu, kiedy miał zaledwie kilka miesięcy wyszukiwałem i kupowałem co ciekawsze klocki, które by go rozwijały. Nie wiem czy to wpłynęło na jego łatwość w uczeniu się programowania. Później oczywiście jak każde dziecko sięgał po telefon rodziców, ja zadbałem o to, żeby były tam głównie rozrywki logiczne. 

Dominik Kościelak, Senior Front-End Developer w Neofonie GmbH:

Nie testowałem predyspozycji syna przed rozpoczęciem nauki programowania. Opowiedziałem mu, czym zajmuję się na co dzień i zapytałem czy chciałby pobawić się ze mną programowaniem. Odpowiedź była pozytywna.

5. Czy Twoje dziecko samo wykazuje inicjatywę do nauki programowania? Czym je motywujesz?

Marcin Szwebs, Data Scientist w Ericsson:

Staram się włączać naukę programowania pomiędzy inne aktywności, które wymagają użycia komputera. Według mojej żony, która ma wieloletnie doświadczenie jako nauczycielka informatyki w podstawówce, dzieci z klas 1-5 są najbardziej zainteresowane tworzeniem za pomocą nowych technologii. Wszystko je dziwi i wszystko je cieszy. 

Starsze wolą korzystać z gotowych rozwiązań – często biernie np. oglądając filmy na YT, lub aktywnie, ale za pomocą aplikacji, które wymagają małego wysiłku z ich strony. Taki wiek, nie ma co się obrażać na rzeczywistość tylko korzystać z uroków bycia rodzicem “wszystkim interesującego się malucha”. Moja córka jako 11-latka też zaczyna stawiać na użyteczność. Myślę, że tworzenie pythonowych botów w Discordzie sprawi jej radość. 

Piotr Orłowski, Software Development Manager w Allegro:

To różnie wyglądało na przestrzeni lat, raz więcej, raz mniej. Nie ma w tym żadnej pasji, która by nie pozwalała oderwać się od komputera. Nie przekonuję, nie zmuszam, rozmawiamy o komputerach, technologii, czasami przyniesie jakiś pomysł ze szkoły to posiedzimy nad tym w domu. Doceniam jego wybory w sposobie spędzania wolnego czasu, dbam by rozwijał się w różnych kierunkach – ostatnio głównie muzycznie.

Dominik Kościelak, Senior Front-End Developer w Neofonie GmbH:

Kiedy zauważyłem, że mój syn nieźle radzi sobie z HTML i CSS, pokazałem mu prawdziwe projekty graficzne w PDF i prosiłem, żeby pomógł mi przygotować jakiś element widoku (kafelki, prosta nawigacja, układ artykułu). Mówiłem, że potrzebuję pomocy i że jego praca zostanie doceniona także podwyższonym kieszonkowym w danym tygodniu. 

Działało świetnie! Syn miał poczucie, że robi coś “profesjonalnego”, czego ja faktycznie potrzebuję do projektu. Jednocześnie zaczynał rozumieć, że programowanie ma przyszłość w kwestiach finansowych.

6. Jak widzisz/rozwiązujesz problem nauki języka angielskiego równolegle do nauki programowania? Czy język angielski jest niezbędny, aby nauka programowania postępowała?

Marcin Szwebs, Data Scientist w Ericsson: 

Jest wiele powodów, dla których dzieci powinny uczyć się angielskiego, ale moim zdaniem programowanie na tym etapie raczej nie wymaga znajomości obcych języków.  

Piotr Orłowski, Software Development Manager w Allegro:

Myślę, że na poziomie dzieci nie. Dla młodszych często można znaleźć nawet rzeczy nie wymagające umiejętności pisania i czytania. Dla trochę starszych po polsku, a brak znajomości języka zmieni sposób uczenia się na bardziej doświadczalny i to nauka języka będzie pobocznym efektem nauki programowania.

Dominik Kościelak, Senior Front-End Developer w Neofonie GmbH:

Mój syn pierwszych kilka lat życia spędził za granicą i uczył się angielskiego w zasadzie od urodzenia. Problem rozumienia podstawowych poleceń w rodzaju if / else w zasadzie więc nigdy nie istniał. Zwracałem mu natomiast uwagę, żeby szukając odpowiedzi na swoje programistyczne pytania, formułował je po angielsku, ponieważ zwracane rezultaty wyszukiwań będą wówczas pochodzić od całej globalnej społeczności programistów. 

Do nauki podstaw programowania wystarczy angielski na bardzo podstawowym poziomie, ale osoby, które chcą pracować w branży, będą musiały czytać sporo dokumentacji w oryginale – nie widzę więc możliwości (ani powodu do) ucieczki od nauki języka.

7. Kiedy/czy odpuścisz jeśli zobaczysz, że dziecko nie robi progresu? Dlaczego?

Marcin Szwebs, Data Scientist w Ericsson: 

Dzieci eksperymentują z różnymi aktywnościami: programowanie, rysowanie, czy budowanie z klocków to rozwijająca zabawa i tylko tak powinna być traktowana przez rodziców. Zapewne niedługo w świecie mojej córki – początkującej nastolatki – zabraknie czasu na tworzenie kodu i taka jest kolej rzeczy, nie zamierzam z tym walczyć. 

Piotr Orłowski, Software Development Manager w Allegro:

Nie przymuszam, więc nie będę miał potrzeby odpuszczać. Stawiam na różnorodny rozwój, łączenie nauk i pasji, mogę pokierować, dobrze jest znać podstawy, sprawnie poruszać się w technologicznym i cyfrowym świecie, ale niekoniecznie trzeba w nim programować. Innowatorzy tego świata byli bardzo często wszechstronni i tym się również kieruję.

Dominik Kościelak, Senior Front-End Developer w Neofonie GmbH:

Jestem przeciwnikiem zbyt szybkiej specjalizacji w edukacji dzieci. Młodzi ludzie powinni eksperymentować, zmieniać zdanie, sprawdzać się na różnych polach. Jako rodzice musimy odróżniać ich prawdziwe motywy od zwykłego lenistwa i w miarę możliwości wspierać dziecko na każdym etapie w podejmowaniu tych ważnych decyzji.


Jak nauka programowania wpływa na inne zainteresowania dziecka lub na naukę przedmiotów szkolnych? Z jakich materiałów warto korzystać przy nauce programowania dzieci? Jak zaplanować naukę? Na te i na wiele innych pytań odpowiedzi znajdziecie w drugiej części tej devdebaty.

Zdjęcie główne artykułu pochodzi z unsplash.com.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Kim są Dark Matter Developers? Prasówka Technologiczna: 17.05.2019 r.