Czy uczyć dzieci programowania?

Na to pytanie już chyba wszyscy znają odpowiedź. Pozostaje postawić kolejne pytanie, jak uczyć dzieci programowania?

To jak uczyć dzieci programowania zależy od od ich wieku. Warto zadać pytanie pomocnicze –  w jakim wieku zaczynać naukę programowania?

Na naukę nigdy nie jest za wcześnie. Trzeba jedynie stworzyć odpowiednie warunki i zapewnić właściwe materiały. W odpowiednich warunkach dzieci same wchłoną większą część wiedzy. Wiadomo, że maluchów  nie będziemy od razu uczyli C#, C++ czy Javy tak samo jak nie uczymy ich potęgowania.

Mówiąc maluchy mam na myśli dzieci poniżej 3 roku życia.

Czy zauważyliście, że gdy maluch dobierze się do tabletu, bez jakichkolwiek kłopotów po kilku minutach potrafi wykonywać na nim proste czynności a po kilku godzinach uruchamia własne gry. Wszystko to bez konieczności tłumaczenia, bez umiejętności czytania, bez frustracji.

Czym jest nauka programowania? Zaczyna się od nauki rozwiązywania problemów, logicznego myślenia. Rozwiązywania problemów uczymy się poprzez rozkładanie dużych problemów na małe, te mniej skomplikowane.  Ucząc się programowania wykształcamy w sobie umiejętności analityczne.

Programowanie nie składa się tylko z zestawu instrukcji jak np. przepis na ciasto (jest to jeden z podstawowych przykładów opisujących czym jest program komputerowy ). Na programowanie składa się cały proces, który doprowadza nas do tego, że możemy zapisać ten przepis. Ktoś musiał wymyślić co się stanie jeżeli połączy się konkretny zestaw składników, a następnie podda się całość procesowi pieczenia.

Elementów programowania można uczyć się grając w gry planszowe i komputerowe. Nie ma dolnej granicy wieku, jest ona zależna od indywidualnych predyspozycji dengo malucha.  Nauka rozwiązywania dowolnych problemów jest elementem sztuki programowania.

 

RoboRally

RoboRally

Z przyjemnością mogę zaproponować grę planszową RoboRally (w opisie gry stoi, że gra jest od 12 lat, z doświadczenia wiem, że 8 latek lubiący matematykę radził sobie wyśmienicie)

 

 

 

 

 

magicmarkerKolejna gra rym razem na komputery i komórki (niestety nie ma wersji na anrdoida) to Magiczny Marker (Max and the Magic Marker). Jest to gra zręcznościowa wymagająca od gracza dużej kreatywności i umiejętności manualnych (potrzebnych do rysowania odpowiednich kształtów magicznym markerem).

 

 

 
Cargo botGra, która już w 100% opiera się na programowaniu to CARGO-BOT. Gra dostępna tylko na urządzenia Apple.

Gracz ma za zadanie posortować skrzynie zgodnie z przedstawionym wzorem a do dyspozycji ma ramię dźwigu załadunkowego którym może sterować podając zestaw instrukcji: lewo, prawo, góra, dół.

 

 

LEGO Fix the factoryLEGO? MINDSTORMS? Fix Factory – jest to chyba najlepsza gra dla najmłodszych, która uczy podstaw programowania przez zabawę.

Gracz steruje robotem pisząc dla niego program wykorzystując do tego obrazki ze strzałkami.

Robot jest tym samym robotem jaki można skonstruować korzystając z zestawu Lego Mindstorms. Zabawa jest przednia. Gra dostępna jest na system Andtoid i iOS.

 

LightBot Ostatnio pokazała się kolejna gra dla najmłodszych ucząca programowania „Light-bot Hour of Code

Niestety gra jest w języku angielskim ale dzieci jakoś nie robią z tego jakiegoś wielkiego problemu. Rodzic na pewno się przyda pod warunkiem, że nie zabierze dziecku zabawki i nie zacznie się bawić sam mając wyśmienitą wymówkę – pomagam dziecku przejść kolejny poziom :).

 

Od 5 roku życia można zaznajomić dzieci z Lego -Fix the factory. Górnej granicy wieku raczej nie ma. Podobnie można potraktować grę Light-bot Hour of Code.

Nieco starszym dzieciom polecam CARGO-BOT. Dla dzieci, które są w stanie opanować położenie kilku liter na klawiaturze komputer,a polecam SCRACH (programowanie wizualne) oraz LOGO (np Logomocja, turtleacademy -  rysownie przez wydawanie poleceń żółwikowi).

Dzieci w wieku 9-12 mogą z powodzeniem wykorzystywać LOGO (zarówno w narzędziu Logomocja jak i korzystając z biblioteki dla Pythona) oraz Lego Mindstorms. Do tej kategorii wiekowej można już zaliczyć programowanie w LUA  - Corona SDK (Programowanie na urządzenia mobilne).

 

Takie języki jak Python czy LUA (Corona SDK) są językami, które mogą być wykorzystywane do pracy zarobkowej. Można w nich wytwarzać pełnoprawne, komercyjne oprogramowanie.

Dla młodzieży powyżej 16 roku, która pragnie kontynuować przygodę z programowaniem znikają wszelkie bariery związane z językami programowania. Mogą  wybierać z szerokiej gamie języków i środowisk programistycznych: PHP, Java, C, C++, C#, Python, LUA, JavaScript, Ruby, Delphi i wiele innych. Który język wybrać? Trudno powiedzieć. Jedne języki dzisiaj są bardziej popularne od drugich, a za 5 lat wszystko może ulec zmianie. Gdy człowiek pozna jeden język, warto uczyć się kolejnych. Każdy następny przychodzi łatwiej.

Najważniejsze są podstawy.