W zawodzie programisty pracuję już ładnych parę lat. Podoba mi się to, spełniam się i chcę to robić dalej. Pojawiają się nowe wyzwania i duma z tworzonych rozwiązań. Uważam też, że programowanie nauczyło mnie praktycznego podejścia do rozwiązywania problemów, abstrakcyjnego myślenia i rozkładania zadania na mniejsze (tzw. zasada dekompozycji i abstrakcji). Dla mnie jako racjonalisty bardzo takie myślenie pasuje.
Jako ojciec zastanawiam się czasami co bym chciał, aby moje dzieci umiały w przyszłości i dochodzę do wniosku, że to umiejętność rozwiązywania problemów jest cechą ludzi sukcesu. Idąc dalej, skoro ja jako programista rozwiązuję różne problemy, a metody jakimi się posługuję wydają mi się dobre, to dochodzimy do wniosku, że chciałbym, aby moje dzieci umiały programować. Nie. Nie muszą być od razu programistami. Niech po prostu znają zasady algorytmiki i metody programowania.
Jak można uczyć dzieci programowania?
Niestety na szkołę nie mogę liczyć. Na tę chwilę nie ma zajęć z programowania w naszej szkole, choć mam nadzieję, że będą. Musiałem coś wymyślić sam. Poszperałem trochę w necie i pierwsze na co zwróciłem uwagę to proste gry towarzyskie w programowanie z wykorzystaniem kartki i ołówka, w której za pomocą zdefiniowanych rozkazów dzieci sterują robotem w osobie rodzica (czyt. mnie).
Rozkazy są proste: idź prosto, idź w lewo, idź w prawo, idź w tył. Możemy zadawać też zadania, np. podnieś, rzuć, podskocz, kucnij. Musielibyście widzieć jaką zabawę miały dzieciaki jak mogły naprowadzić tatę na ścianę ;-). Kiedy już dzieciaki ogarną podstawy możemy zadawać im zadania, a dalej na przykład ograniczać liczbę kartek z rozkazami.
Taka zabawa ma dwie zalety. Po pierwsze uczy tworzyć ze zdefiniowanego zbioru poleceń algorytmy. Po drugie i chyba ważniejsze spędzamy czas razem 🙂
Co dalej?
Grę w programowanie na kartkach można rozwijać o pętle, instrukcje warunkowe, itp. ale w pewnym momencie mogą nam się znudzić. Wtedy warto skierować kroki do internetu. Zwłaszcza jeśli wasze dziecko ogarnia tablet lub telefon. Mam do wyboru masę sporo aplikacji uczących programowania na takiej samej zasadzie jak powyżej. Ja wykorzystywałem aplikacje LightBot, w której tytułowy robot ma za zadanie zapalać i gasić światełka. Aplikacja występuje w wersji bezpłatnej i płatnej. Różnica polega na tym, że płatna posiada znacznie więcej zadań, które wykorzystują bardziej zaawansowane techniki programowania jak pętle czy nawet rekurencje.
Moje dzieciaki zagrywają się w robocika od czasu do czasu i przynosi im to wiele radości. Czasami też przychodzą do mnie lub sam z nimi siadam i próbuję rozwiązać niektóre zadania. Uwierzcie mi, niektóre są na prawdę trudne.
Idąc za ciosem, bo widzę, że takie zabawy się dzieciakom podobają, w ostatnie święta zakupiliśmy z małżonką ciekawą zabawkę – Ozobot. Jest to maleńki robocik, który potrafi czytać kolorowe kody i zgodnie z nimi wykonywać różne rozkazy. Działanie jest proste. Na planszy malujemy czarnym pisakiem trasę dla robota. Gdzieniegdzie można umieścić kolorowy kod, który nakazuje robotowi wykonać zadanie, np. skręcić na najbliższym skrzyżowaniu w określonym kierunku, przyspieszyć, zwolnić, itd. Kodów jest wiele, a można robocika jeszcze dodatkowo programować o własne rozkazy. Można wymyślać różne zadania, np. narysować trasę robota do zadanego miejsca, czy przesuwać wirtualną skrzyneczkę w odpowiednie miejsce (coś na zasadzie popularnej gry w magazyniera).
Co warte zauważenia, producent na swojej stronie internetowej umieszcza zestawy edukacyjne dla rodziców, a także dla całe skrypty do wykorzystania przez nauczycieli na lekcjach. Od pewnego czasu bawimy się Ozobotem z dziewczynami i widzę, że coraz lepiej dziewczyny rozumieją o co w tym wszystkim chodzi.
Podsumowując, uczcie swoje dzieci programować, bo warto 😉