Moje dziecko che na kurs programowania. Ok. Wpisuję hasło w google ” język programowania dla dzieci ” i zalewa mnie tysiące stron które wymieniają niemal każdy z możliwych języków.
Według Wikipedii ludzkość posiada i używa obecnie ponad 7000 różnych języków i dialektów. Do programowania i kodowania używa się ich zdecydowanie mniej. Co wcale nie sprawia że łatwiej jest wybrać ten od którego nasze dziecko powinno rozpocząć naukę programowania.
Scratch, JavaScript, Java, Python, Lua, C ++ i C # i inne. Nazwy nic CI nie mówią prawda? Nic nie szkodzi też to kiedyś przerabiałem. Na początek podstawy czyli:
Czym jest język programowania?
W skrócie to sposób na dogadanie się człowieka z maszyną i wbrew pozorom język programowania nie różni się bardzo w swojej budowie od tego którym posługujemy się na co dzień.
Tak jak język polski ma słownictwo i gramatykę tak każdy język programowania ma synatykę i sematykę. Obiecuję że nie będę już używał tych dziwnych pojęć 🙂 ! Zasadnicza różnica polega tu na odbiorcy komunikatu i jego umiejętności interpretowania treści.
Wyobraźcie sobie sytuację w której nie rozumiecie zdania które właśnie czytacie bo nie postawiłem na jego końcu kropki
Tak właśnie może wyglądać nauka programowania w niektórych językach. Dlatego aby unikać rozczarowania i zniechęcenia dziecka, zapraszam do lektury tego artykułu. Zebrałem najciekawsze propozycje od których dzieci mogą zacząć naukę programowania.
Wizualne języki programowania stały się ostatnio bardzo popularne
Nie ma się czemu dziwić, ich głównymi zaletami są:
Intuicyjność: W większości są tak zaprojektowane że osoba zupełnie bez doświadczenia w programowaniu, jest w stanie zrozumieć co algorytm ma wykonać. Dodatkowo poszczególne elementy łączy się jak puzzle. Aplikacja nie pozwoli połączyć elementów które do siebie nie pasują. Błędy oczywiście się zdarzają ale zazwyczaj postać po prostu zrobi nie to czego oczekiwaliśmy. W tekstowych językach programowania prawdopodobnie w ogóle nie uruchomilibyśmy programu.
Atrakcyjność: Zaprojektowane z myślą o dzieciach sprawiają że od razu można przetestować swoje dzieło. Scratch to dodatkowo społeczność która uruchomi nasze programy i pochwali w komentarzach, a to da motywację do podejmowania kolejnych wyzwań.
1.1 Scratch
Scratch to bezpłatny język programowania dla dzieci opracowany przez MIT . To co go wyróżnia to intuicyjny interfejs, ogromna ilość materiałów w internecie z których można czerpać wiedzę.
Solidna społeczność użytkowników pomaga sobie wzajemnie na forum i wskazuje w kulturalny sposób elementy do poprawienia w projekcie.
Scratch wykorzystuje interfejs wizualnych klocków. Reprezentują one komponenty programistyczne, takie jak warunki, pętle, akcje, zdarzenia i operatory. Każdy blok ma indywidualny kształt podpowiadający które elementy można ze sobą łączyć.
Intuicyjność Scratch powoduje że jest to język programowania dla dzieci wybierany przez rodziców i nauczycieli na całym świecie. Wiele osób właśnie od niego zaczynają swoją przygodę z programowaniem.
CyberSkill ma w swojej ofercie kurs Scratch Game Studio podczas którego uczestnicy tworzą swoje własne gry pod okiem trenera.
1.2 Blockly
Blockly to odpowiedz Google na popularność wizualnych języków programowania. Od Scratch rożni go kilka funkcji. Przede wszystkim w Blockly, utworzony wizualnie program, można przetłumaczyć na inny język programowania. Do dyspozycji mamy JavaScript, Python, PHP, Lua, Dart. Programowania w tym języku można spróbować za darmo na stronie code.org
1.3 Alice
Wyobraź sobie że tworzysz animacje 3D do bajek, gier interaktywnych oraz wideo zupełnie bez umiejętności programowania. To właśnie Alice! Alicja jest językiem edukacyjnym, mającym na celu przyciągnięcie młodych ludzi i nauczenie ich koncepcji programowania.
Oprogramowanie jest intuicyjne, wykorzystuje podobnie jak Scratch i Blockly technikę przeciągnij i upuść aby tworzyć programy. Stworzone programy można od razu przetestować, Alice zawsze wykona wpisane polecenia nawet jeśli jest w nich błąd. Prowadzi to do komicznych sytuacji.
Alice uczy programowania bez tłumaczenia skomplikowanych cech języków programowania.
Jednym z założeń zespołu tworzącego ten język było zaprojektowanie go tak aby był atrakcyjny dla użytkowników, którzy nigdy wcześniej programowali. Alice wykorzystują szkoły średnie i uniwersytety na całym świecie jako narzędzie wprowadzające do kodowania.
1.4 EV3 – LEGO mindstorms
Zupełnie innym podejściem do nauki programowania jest robotyka.
Podczas zajęć głównym celem jest stworzenie urządzenia które wykona za nas określoną czynność.
Na rynku jest wiele systemów umożliwiających budowę robotów jeden z nich jest dostarczany przez firmę LEGO.
MINDSTORMS to programowalna seria klocków, która umożliwia budowanie i programowanie własnych konstrukcji.
Firma na potrzeby zestawu stworzyła specjalny język programowania. Wykorzystuje on opisaną już technikę przenieś i upuść bloki.
EV3 daje duże możliwości. Pozwala zupełnym nowicjuszom szybko zaprogramować samochód który będzie jeździł i zatrzymywał przed przeszkodą. Zaawansowani użytkownicy zbudują z jego pomocą program do automatycznego parkowania.
Język programowania dla dzieci to nie tylko kolorowe klocki. Osoby do których nie przemawia ta forma, mogą spróbować programowania tekstowego.
W tej wersji zyskujemy znajomość języka który na co dzień jest wykorzystywany do programowania np YouTube czy Facebook
Robimy to kosztem atrakcyjności przekazu. Zamiast gotowej gry w 90min mamy ciąg tekstu i szansę że program który napisaliśmy w ogóle nie ruszy. Dla początkujących dzieci proponuję dwa języki które w mojej ocenie są najlepsze.
2.1 LUA
Przedstawiając Lua warto wypomnieć o tym że 2003 roku był to najpopularniejszy język programowania wśród twórców gier. Cześć kodu gier takich jak World of Warcraft, Far Cry, Sims City czy hit na telefony gra Angry Birds została napisana właśnie w tym języku.
Powodów popularności Lua jest kilka, wg specjalistów największą z nich jest jego prostota. Komendy przypominają język angielski. Nawet początkujące osoby są w stanie szybko opanować podstawy i zacząć pisać proste programy w tym języku.
Na zajęciach Programowanie w MineCraft uczymy właśnie tego języka wykorzystując zaangażowanie dzieci w grze.
2.2 Python
W przeciwieństwie do większości języków programowania, składnia Pythona jest zwięzła i łatwa do odczytania. Odzwierciedla język ludzki znacznie lepiej niż jakikolwiek inny język programowania, co czyni go idealnym językiem dla początkujących. Pisanie kodu w Pythonie przypomina pisanie poleceń w języku angielskim.
Według Stack Overview , największej i najbardziej zaufanej społeczności internetowej dla koderów, Python jest najszybciej rozwijającym się językiem programowania w 2018 roku. Jeśli utrzyma ten wskaźnik do końca 2019 roku Python prześcignie inne języki kodowania pod względem popularności.
Poza łatwością opanowania podstaw Python ma jeszcze jedną zaletę: W internecie możecie znaleźć tysiące darmowych ćwiczeń i programów do jego nauki.
Powyższa lista nie wyczerpuje wszystkich możliwości i prawdopodobnie, wiele osób miało by odmienne zdanie, co do najprostszych języków programowania dla dzieci.
Do programowania łatwo się zniechęcić, szczególnie w tekstowych językach programowania. Nawet przepisując gotowy kod z podręcznika, wystarczy jedna literówka, brak średnika, lub źle postawiona spacja i kod nie uruchomi się. W takim przypadku poszukiwanie błędu jest czasochłonne i baaaardzo frustrujące.
Właśnie dlatego moimi ulubieńcami dla nowicjuszy, są blokowe języki programowania, takie jak Scratch czy Blockly. Jeśli chcesz spróbować swoich sił w programowaniu to koniecznie sprawdź listę darmowych aplikacji do nauki programowania.
Osoby z woj lubelskiego mogą też przyjść na darmowe warsztaty CyberSkill.
Jeśli spodobał wam się artykuł, lub chcecie się pochwalić swoimi programami, to piszcie śmiało w komentarzach!
Pozdrawiam Radek 🙂
Bardzo fajny i rzeczowy wpis. Kwestia tylko tego typu kursy uczą dzieci bardziej programowania czy algorytmiki, ale to kwestia bardziej marketignowa (w końcu kurs programowania jest bardziej intuicyjnym zapytaniem niż nauka algorytmiki). Tak czy siak jest to jak najbardziej przydatne dla rozwoju młodego człowieka. I kto wie może w przyszłości takie pojęcia jak paraliż decyzyjny czy zakleszczenie systemu będą dla każdego tak naturalne jak uśmiech dziecka a ludzie na różnych stanowiskach będą mogli projektować i rozumieć problemy pojawiające się w jakichkolwiek procesach niekoniecznie związanych z oprogramowaniem. Pozdrawiam.
Hej! Dziękuję że poświeciłeś czas i zostawiłeś komentarz!
Programowanie to w 90% rozwiązywanie problemów, a tego nauczyć jest bardzo trudno. Sam język( jakikolwiek bo on nie był) dzieci łapią bardzo szybko.I już po kilku spotkaniach wiedzą że, aby sprawdzić warunek trzeba użyć „IFa”, a powtórzenia programuje się REPEATami. To z czym mam największy problem to „szkolne nawyki”. Podam tylko kilka przykładów: dzieci chcą od razu wpaść na poprawne rozwiązanie i szybko poddają się kiedy zadania są tak skonstruowane że trzeba popełnić kilka błędów aby je rozwiązać. Świetnie rozwiązują testy i zadania do pojedynczych tematów, a gubią się gdy trzeba połączyć kilka umiejętności. Dziwią się że zadanie można rozwiązać na kilka sposobów. A najbardziej bezcenna jest ich mina kiedy mówię że czegoś nie wiem 🙂
Czego uczę na warsztatach? Głownie rozwiązywania problemów, świadomości że popełnianie błędów jest OK, że każdy problem ma wiele rozwiązań i podstaw programowania. Kolejność nie jest przypadkowa 😀
Pozdrawiam!
Cześć dzięki za wpis dla nas !
Dzięki za odpowiedź.
Cześć Radek, ciekawy artykuł (i fajny blog). Zabrakło mi tylko jednego: w jakim wieku można zacząć uczyć dziecko programowania? Sam jestem zawodowym programistą i chciałbym nauczyć swoja córkę programować, ale nie wiem, kiedy mógłbym zacząć ją uczyć. Moja córka ma dopiero 2 lata, ale jak na swój wiek jest bardzo rozgarnięta. Zastanawiam się czy wiek 3-4 lata jest odpowiedni, żeby zacząć taką zabawę ?
Mateusz dzięki za odwiedziny! Odpowiadając na twoje pytanie: Nie wiem jaki wiek jest odpowiedni 🙂 To zupełnie indywidualna sprawa każdego dziecka. Czasami prowadzę zajęcia w przedszkolach, wtedy korzystam z zadań: Kodowanie na dywanie i robota Cubeto. 4 latki spokojnie ogarniają.Z nieco starszymi ( min 6 lat) buduję roboty z klocków LEGO. Jak do tej pory dzieciom najbardziej podoba się składanie z części starego Pentiuma 486 😀 Mam mały ubaw jak macają palcami stary telewizor kineskopowy. Pozwolę sobie tylko na jedną radę: Zadbaj aby dla dziecka była to przede wszystkim zabawa. Pozdrawiam!