Dziecko programistą
Jeśli dziecko chce nauczyć się programowania, ma dziś do wyboru różne języki, kursy, aplikacje, a nawet uwaga! programowalne zestawy klocków LEGO. Możliwości jest wiele i bez trudu da się wybrać coś, co przyszłemu programiście będzie odpowiadać.
Programowanie to nie tylko umiejętność, która może przydać się w przyszłości i zapewnić zatrudnienie. To przede wszystkim sposób na wyrażanie kreatywności i ciekawości w „cyfrowych” czasach.
Nauka programowania różni się od typowej nauki w szkole. Nie ma tutaj tradycyjnego modelu edukacji akademickiej, gdzie na koniec trzeba zdać egzamin. Chodzi o uczenie się metodą prób i błędów i podejście, że każda pomyłka to cenna informacja, dzięki której posuwasz się naprzód i stajesz się coraz lepszy.
Najmłodsi mają ograniczony poziom utrzymywania koncentracji. To dlatego tak dużo kursów jest opracowywanych w taki sposób, że programowanie przypomina w nich tworzenie gry. Im bardziej „rozrywkowe” jest dane doświadczenie, tym lepiej podtrzymuje zainteresowanie dziecka.
Języki dla dzieci
1. Python: język programowania, którego składnia przypomina zwykłą mowę (ale po angielsku). Programista, który tworzy aplikację w Pythonie, rzadko musi dodawać do napisanego kodu komentarze, bo sam kod jest napisany na tyle zrozumiale, że inny programista – czytając go – szybko zrozumie, do czego on służy. To dlatego Python jest jednym z łatwiejszych języków do opanowania – szczególnie, jeśli wcześniej nie programowałeś. Jeśli ukończysz kilka kursów online, nauczysz się formułować własne pomysły programistyczne, które następnie będziesz mógł przetwarzać na konkretne instrukcje i kod. Co więcej, w przypadku Pythona rzadko kiedy zostaniesz na lodzie. W sieci – ale też w księgarniach – znajdziesz wiele materiałów edukacyjnych, gotowych wzorów i bibliotek programistycznych, wystarczy poszukać. Szansa na to, że ktoś rozwiązał już problem, z którym właśnie się borykasz, jest naprawdę duża.
2. Ruby to język programowania, który ma najbardziej czytelną dla początkujących koderów składnię. Nie musisz tracić czas na zrozumienie i tłumaczenie kodu, jaki należy pisać na komputerze, bo wiele funkcji już na pierwszy rzut oka wydaje się zrozumiałych i będziesz wiedział, do czego służą. To szczególnie ważne dla dzieci, które dopiero zaczynają przygodę z programowaniem. Język Ruby jest zresztą bardzo popularny i np. został wykorzystany do stworzenia serwisu społecznościowego Twitter.
3. Java: zdecydowanie trudniejsza do opanowania niż Python lub Ruby, ale jeśli wybierzesz Javę jako pierwszy język programowania do nauki, to następne będzie ci o wiele łatwiej opanować. Java jest dobrym wyborem dla tych, którzy myśleli o stworzeniu własnej aplikacji lub strony WWW, lecz nie wiedzieli, od czego zacząć. Język istnieje od ok. dwóch dekad, a to oznacza, że znajdziesz mnóstwo poradników i kursów online, jak również gotowych fragmentów kodu do wykorzystania. Za pomocą Javy można tworzyć w zasadzie wszystko, i to od samych podstaw. Możesz pisać np. aplikacje na Androida, aplikacje webowe czy też aplikacje natywne (takie, które są przechowywane i uruchamiają się na komputerze użytkownika, a nie w internecie).
4. Scratch: najlepszy język do nauki programowania. Najlepiej sprawdza się podczas nauki w grupie, choć oczywiście można uczyć się też samodzielnie. Scratch pozwala tworzyć interaktywne animacje i historie, w dodatku za darmo i w oknie przeglądarki.
Kids Ruby
http://kidsruby.com
Wystarczy pobrać niewielki program i po chwili można pisać swój własny kod na komputerze. Kids Ruby uczy języka Ruby, a wykorzystuje do tego „hakerskie zadania domowe”, co w praktyce oznacza, że trzeba tworzyć programy, dzięki którym odrabianie lekcji staje się łatwiejsze. W taki sposób twórcy Kids Ruby chcą zmotywować dzieci do nauki programowania – i jest to dość skuteczne podejście!
Scratch
https://scratch.mit.edu
Scratch został opracowany przez studentów MIT w 2003 r. i jest jednym z pierwszych języków programowania, które zostały stworzone z myślą o dzieciach oraz nastolatkach (proponowany przedział wiekowy to 8–16 lat). Scratch działa online w oknie przeglądarki i jest bezpłatny. Osoby, które uczą się programować, wykorzystują gotowe elementy (wirtualne klocki), które przeciągają w odpowiednie miejsca, aby tworzyć animacje i poszczególne akcje do wykonania. Różne klocki mają różne funkcje, dzięki czemu w Scratchu można tworzyć wiele ciekawych animacji i proste gry.
Scratch zachęca też do wymiany opinii i współpracy – ma dużą społeczność programistów amatorów, którzy dzielą się przygotowanymi projektami, jak również wymieniają radami. Każdego dnia tworzonych jest ponad 2 tys. nowych projektów w Scratchu, a w bazie serwisu można znaleźć ok. miliona projektów, które powstały w oparciu o inne, wcześniej udostępnione – są to tzw. remiksy.
Obecnie Scratch to rozwinięty projekt, który dostępny jest w ponad 150 krajach i otrzymał finansowanie m.in. Google’a, Della i Fundacji LEGO. Warto zajrzeć też na podstronę https://scratch.mit.edu/educators, która zawiera materiały dla nauczycieli i rodziców.
LEGO Mindstorms
LEGO to oczywiście jedne z najpopularniejszych zabawek w historii, ale twórcy kolorowych klocków myślą też o przyszłości i stworzyli serię Mindstorms, która uczy programowania. Zestawy z tej serii zawierają czujniki i silniki, a dzieci mogą budować niewielkie roboty i – poprzez programowanie – dodawać przeróżne funkcje i zachowania. Zestaw LEGO Mindstorms EV3 Mindstorms EV3 31313 uczy programowania i pozwala budować roboty z klocków, a wykorzystanie LEGO na początku przygody z programowaniem jest o tyle dobrym rozwiązaniem, że same klocki są dla dzieci czymś, co dobrze znają. A kiedy zaczną już kodować, szybko zobaczą rezultaty – to daje im motywację do dalszej nauki.
Na oficjalnej stronie LEGO Mindstorms znajdziesz wiele cennych zasobów, w tym roboty wymyślone przez fanów LEGO (możesz je później zbudować samodzielnie). Mindstorms EV3 31313 pozwala tworzyć zautomatyzowane istoty, pojazdy, maszyny i wynalazki, a później nimi sterować. Młody programista może najpierw zbudować danego robota, a następnie dodać do niego programowalne klocki, silniki i czujniki. Następnie należy skorzystać z aplikacji na tablety EV3 Programmer, dzięki której można „ożywiać” swoje konstrukcje. Aplikacja umożliwia programowanie robota bezpośrednio na tablecie, bez konieczności podłączania przewodów czy instalowania innych programów. Komunikacja pomiędzy tabletem a robotem odbywa się poprzez Bluetooth.
Scottie Go! Gra w programowanie
Młodsze dzieci można zachęcić do nauki za pomocą połączenia gry planszowej ze smartfonem, tabletem lub komputerem z podłączoną kamerą. Gra ma postać ok. 150 fizycznych klocków – elementów kodu. Z nich należy ułożyć początkowo proste, później nieco bardziej skomplikowane programy rozwiązujące konkretne zadania i przeprowadzające robota z jednego końca planszy na drugi. Efekt działania programu widać po zeskanowaniu ułożonego kodu programu smartfonem, tabletem lub komputerem z zainstalowaną aplikacją. To świetna zabawa, która pozwala na lepszą interakcję dziecka z rodzicem i umożliwia wygodniejsze wspólne tworzenie kodu niż przed ekranem komputera.
Tech Rocket
www.techrocket.com
Serwis oferuje bezpłatne i płatne kursy internetowe stworzone z myślą o początkujących i młodych programistach. Można się nauczyć nie tylko programowania, ale też tworzenia gier i materiałów graficznych. To ważne, bo niektóre dzieci chcą tworzyć własne gry, ale nie mają świadomości, że trzeba mieć również dostęp do postaci, budynków czy broni, które mają znaleźć się w grze – a te trzeba najpierw zaprojektować graficznie, nie zaś programistycznie.
Jeśli więc chcesz tworzyć gry kompleksowo, ale też zająć się programowaniem, w serwisie Tech Rocket znajdziesz kursy Pythona, Javy, C++, iOS-a, jak i z Web Designu. Oprócz tego czekają tam kursy związane z kreatorami gier – programami GameSalad i Unity. Są też kursy minecraftowe. Bardzo dużo materiałów dostępnych jest za darmo – seria kursów Hour of Code jest bezpłatna, do tego można znaleźć kilka oddzielnych kursów za darmo. Pozostałe są płatne w ramach abonamentu, najtańszy kosztuje 19 dolarów (ok. 75 zł) miesięcznie.
Tynker
www.tynker.com
Serwis zawiera kursy internetowe dla dzieci powyżej 7. roku życia, które polegają na programowaniu przy użyciu języka obrazkowego – później, gdy dziecko nabierze wprawy, uczy się jeszcze kodu JavaScript i Python. Można zacząć od wprowadzenia do programowania (trzech kursów), następnie przygotować mody do Minecrafta, zaprojektować minigrę (też w środowisku Minecraft), stworzyć proste gry online, a potem zakończyć wprowadzeniem do JavaScriptu i Pythona. Łącznie serwis oferuje 18 kursów, jak również dostęp do serwera Minecrafta. Cena rocznego dostępu wynosi 96 dolarów.
Pluralsight
www.pluralsight.com
Pluralsight.com to jeden z najpopularniejszych na świecie serwisów z kursami online dla informatyków. Zdecydowana większość kursów to materiały dla zaawansowanych specjalistów, niemniej autorzy przygotowali specjalną zakładkę z kursami dla dzieci. Co ważne, wszystkie kursy dla dzieci są bezpłatne,. Obejmują one następujące kategorie:
- Programowanie (m.in. podstawy HTML-a, Scratch)
- Projektowanie (m.in. interaktywne projekty, podstawy fotografii)
- Aplikacje (nauka tworzenia aplikacji mobilnych)
- Tworzenie gier (m.in. przygotowywanie gier w Hopscotch)
Code.org
https://code.org
Organizacja non-profit, która chce zachęcać dziewczynki do programowania – szczególnie te, które pochodzą z mało zamożnych rodzin i biedniejszych krajów. Serwis zawiera dużo materiałów: są kursy, materiały wideo, poradniki. Warto skorzystać, zwłaszcza że wszystkie treści są bezpłatne – co nie znaczy, że na słabym poziomie.
Minecraft się sprawdza
https://minecraft.net
Dorośli często nie potrafią zrozumieć fenomenu gry Minecraft. W końcu co może być ciekawego w budowaniu fortec czy kopalń z kwadratowych, rozpikselowanych bloków? Okazuje się, że wytwarzanie przedmiotów, zbieranie surowców i atakowanie napotkanych istot to wszystko, czego trzeba, aby młodzi ludzie ochoczo zasiedli przed komputerami, tabletami lub smartfonami – nawet jeśli grafika kojarzy się z tą rodem z lat 90. Minecraft świetnie realizuje jednak cel „bawiąc, uczyć” i choć dostarcza graczom dużo frajdy, przy okazji uczy podstaw kodowania (zwłaszcza nie w podstawowej wersji, a za sprawą tzw. modów).