czwartek, 12 września 2013

Dlaczego Scratch?

W maju bieżącego roku, widząc, że mój 12 letni syn spędza coraz więcej czasu przed komputerem, zacząłem zastanawiać się jak sprawić, by jego kontakt z komputerem nie ograniczał się tylko do grania i przebywania na portalach społecznościowych. Powszechnie uważa się, że obecnie młodzi ludzie są doskonale obeznani z nowoczesnymi technologiami, ale w większości ograniczają się tylko do ich używania.  Nie ma wątpliwości, że nasze dzieci posiadają swobodę i są obeznane w Internecie, SMS-ach i grach komputerowych.  Są, zatem biegłe w interakcji z nowoczesnymi technologiami, ale nie potrafią być kreatywne i nie posiadają umiejętności wyrażania siebie poprzez te technologie. To tak jakby potrafiły czytać, ale nie potrafiły pisać przy pomocy nowoczesnych technologii. Aby zmienić ten stan rzeczy, coraz częściej uważa się, że konieczne jest nauczanie programowania już od wczesnych lat szkolnych. Tym śladem poszła Estonia wprowadzając naukę programowania od pierwszej klasy szkoły podstawowej, a w Wielkiej Brytanii planuje się, aby już 5-latki zostały objęte systemem przybliżającym im tajniki programowania.  Ponieważ w polskiej szkole na lekcjach informatyki nadal przygotowuje się tylko przyszłych konsumentów, postanowiłem sprawę wziąć w swoje ręce i zacząć uczyć mojego syna programowania.

Sam swoją przygodę z programowaniem rozpocząłem ponad 20 lat temu, a pierwszym językiem, jaki poznałem w trakcie studiów była Modula. Nie miałem dotąd kontaktu z narzędziami do nauki programowania dedykowanymi dla dzieci, poza Logo, którym kilka lat temu bawił się mój starszy syn. Zdecydowałem, że sprawdzę, co obecnie jest dostępne w sieci. Najpierw natrafiłem na projekt Baltie. Jak się okazało, jest to ciekawe, stworzone przez czeską firmę środowisko do nauki programowania dla dzieci. Całkiem niedawno przy pomocy programów finansowanych ze środków UE zostało wprowadzone do kilku polskich szkół, jako dodatkowa pomoc dydaktyczna na lekcjach informatyki. Niestety jest to narzędzie komercyjne i dlatego postanowiłem szukać dalej. Następnie natrafiłem na darmowy duet Pynguina  i Pythona i gdy już prawie byłem przekonany do tego środowiska, nagle natrafiłem na projekt o nazwie Scratch z uśmiechniętym kotkiem w logo. Wkrótce okazało się , że jest to strzał w dziesiątkę – znalazłem to, czego szukałem.  

Scratch to całkowicie darmowe środowisko programistyczne dla dzieci do nauki programowania, posiadające polską wersję językową. Zostało stworzone przez naukowców z Massachusetts Institute of Technology Media Laboratory w skrócie MIT Media LAB pod kierownictwem profesora Mitchela Resnika. Celem projektu, którego efektem jest Scratch było ułatwienie dzieciom tworzenia interaktywnych historyjek, gier i animacji, a następnie dzielenie się nimi z innymi. W ten sposób poprzez przyjemną i intuicyjną zabawę dzieci poznają tajniki programowania i co jeszcze ważniejsze nabywają biegłości w używaniu nowoczesnych technologii,  w stopniu umożliwiającym im wyrażanie siebie poprzez te technologie. Ucząc się ze Scratchem, dziecko uczy się podczas pracy nad konkretnym, własnym projektem, który jest dla niego ważny i to jest najlepszy sposób nauki. Różni się on od tego jak uczy szkoła, która często nowe pojęcia wprowadza wyłącznie na poziomie teoretycznym, trudnym do zrozumienia dla dziecka.
 Scratch uczy nie tylko programowania. Dzieci tworząc własne prezentacje, animacje, gry, oprócz motywującej nauki koncepcji i praktyk programistycznych, uczą się także wielu innych rzeczy jak: proces projektowania, eksperymentowania z nowymi pomysłami, dzielenia złożonych problemów na prostsze części, współpracy z innymi ludźmi, znajdowania i poprawiania błędów, gdy coś pójdzie nie tak, konsekwencji i wytrwałości. Są to umiejętności potrzebne nie tylko w procesie programowania, ale są one istotne przy rozwiązywaniu problemów we wszelkich innych działaniach, jakie człowiek podejmuje.  Jak uważa twórca Scratcha profesor Mitchel Resnik nauka programowania jest nie tylko dla informatycznych geniuszy, jest dla wszystkich i daje nam umiejętności związane z myśleniem obliczeniowym (Computational Thinking), niezbędne w 21 wieku dla wszystkich ludzi, niezależnie, jaki jest ich zawód. Twierdzi on:  „Jeśli nauczysz się programować, programujesz, by się uczyć" 
(Learn to code, code to learn). Słowa te są kluczowe dla zrozumienia potrzeby powszechnego i wczesnego uczenia dzieci kreatywnej informatyki.  Dzięki tym zaletom Scratch jest z powodzeniem używany w szkołach i klubach komputerowych w wielu krajach z całego świata.

Scratch posiada tyle zalet i jestem nim tak zafascynowany, że postanowiłem podzielić się moimi wrażeniami i przemyśleniami z nim związanymi za pośrednictwem niniejszego bloga.