Zostałeś zalogowany. Za X sek. strona zostanie przeładowana.

Na naszej stronie stosujemy pliki cookies. Korzystanie z witryny bez zmian ustawień oznacza, że akceptują Państwo otrzymywanie tych plików. Wyłącz komunikat
Logo NInA
fot. OLPC Foundation, CC-BY-2.5
Powrót

Dziecięce kodowanie

W ostatnim czasie głośniej jest o programowaniu ogólnie i o programowaniu wśród dzieci w szczególe. Warto przyjrzeć się tej dyskusji.

Pierwszy powód, dla którego temat stał się taki popularny, bardzo pragmatyczny zresztą, dotyczy gospodarki i rynku pracy. W wielu krajach publikowane są statystyki, które świadczą o tym, że programista to zawód o ciągle rosnącym popycie, strategicznie ważny dla światowych gospodarek – mieć albo nie mieć swoich programistów, to niemal jak mieć albo nie mieć własnego węgla czy ropy (a trend ten – jak się przewiduje – będzie postępował).

Drugi powód jest również pragmatyczny, ale leży on po stronie  programistów. Można go sparafrazować hasłem: uczenie programowania jako harcerstwo XXI wieku – podobnie jak harcerstwo wyrabia pewną postawę zaradności wobec rzeczywistości, tak nauka programowania daje młodemu człowiekowi – niczym Neo w Matrixie – zdolność widzenia maszyn jako elementów poddających się ludzkiej woli, plastycznych.  Osoba po treningu programistycznym zaczyna widzieć w cyfrowym świecie nie tylko istniejące już możliwości, które ktoś wcześniej zaprogramował, ale również możliwości potencjalne – stojąc przed kolejnym problemem młody programista może zdać sobie sprawę, że maszyny mogą pomóc mu rozwiązać ten problem zarówno teraz, jak i w przyszłości (dość świeży przykład tutaj).

Kolejny głos w dyskusji wskazuje na rozliczne dodatkowe korzyści dla osoby nabywającej tę kompetencję, albo inaczej – pokazuje, że nauka programowania owocuje nie tylko wzrostem kompetencji tworzenia programów, ale również wzrostem higieny myślenia, która przekłada się na lepsze funkcjonowanie w innych niż programowanie dziedzinach życia. Programowanie uczy bowiem radzenia sobie ze skomplikowanymi kwestiami poprzez rutynę rozkładania ich na drobne problemy i rozwiązywania jeden po drugim. 

Programowanie uczy współpracy, choćby poprzez skrupulatne dokumentowanie swojej pracy tak, aby inni mogli w ogóle z niej skorzystać (wyrabianie nawyku: opublikuj swoją pracę, żeby inni nie musieli jej wykonywać po raz drugi, czy w drugą stronę: na początku zawsze sprawdź, czy ktoś już tego problemu nie rozwiązał). Programowanie sprzyja także planowaniu pracy i planowaniu ryzyka – trzeba zawsze przewidzieć wszelkie możliwości, nawet skrajne, i odpowiednio zabezpieczyć się na wypadek ich wystąpienia w programie – np. co się stanie, jeśli użytkownik zażąda dzielenia przez zero (kilka ciekawych hipotez na ten temat można znaleźć w tym miejscu). 

Niektórzy jednak studzą entuzjazm, jaki zdaje się opanował wiele osób, w tym polityków, którzy posuwają się do postulatów uczenia programowania wszystkie dzieci, jako kolejnego obowiązkowego przedmiotu. Przykładów jest tutaj kilka – niedawna akcja Hour of Code, do której zachęcał sam prezydent USA, Barack Obama,  reforma zajęć komputerowych w Wielkiej Brytanii, czy zmodyfikowana podstawa programowa z informatyki w polskich szkołach. 

Pojawiają się głosy sceptyków. Redaktor z poczytnego magazynu Wired apeluje, aby nie zapędzać się i nie traktować programowania jako czegoś, co rozwiąże wszystkie problemy edukacji i wychowania młodzieży (Pushing People To Code Will Widen the Gap Between Rich and Poor, Jathan Sadowski). Zwraca uwagę, że coś, co działa dobrze w niszy, niezwykle rzadko skaluje się dobrze aż do rozmiarów rozwiązania systemowego dla wszystkich. Stawia pytania o to, czy w realiach, w których wiele amerykańskich dzieci i dorosłych nie potrafi choćby czytać ze zrozumieniem, obowiązkowe uczenie programowania ma szansę cokolwiek zmienić?

Na to pytanie nie można niestety, jak często bywa w przypadku pytań ważnych, udzielić pewnej odpowiedzi. Prawdopodobnie programowanie nie wpłynie jednakowo silnie i skutecznie na życie wszystkich dzieci, w tym uczniów. Ale z drugiej strony jakie działania są na tyle uniwersalne, aby na wszystkich wpływać z pozytywnym skutkiem? Sądzę, że uczenie dzieci i młodzieży programowania ma wielki potencjał i po prostu byłoby głupio nie dać mu szansy.

Jeśli chcesz dać programowaniu szansę, być może zainteresują Cię poniższe adresy:
1. Akcja Godzina Kodowania, czyli 20 łamigłówek z programowania dla osób, które jeszcze nie programują.
2. Język programowania Scratch, dostępny również po polsku, dzięki któremu można wykonać program swojego pomysłu układając klocki, jak klocki AWP Lego.
3. Dla tych, którym spodoba się Scratch – podręcznik, które pomoże w samodzielnym odkrywaniu jego możliwości (dostępny po polsku).
4. Dla tych, którzy chcieliby nauczyć się programowania pod opieką mentora i za darmo – strona internetowa Fundacji CoderDojo Polska.


Autor: Kamil Sijko

Zobacz również