Jako informatyka fascynuje mnie to. Jednocześnie, jako ojca czwórki dzieci, niepokoi mnie powszechny dostęp do nowoczesnych urządzeń oraz urabianie dzieci na biernych konsumentów. Zacząłem się zastanawiać, czy atrakcyjne, a zarazem twórcze spędzanie czasu przed ekranem przez dzieci w ogóle jest możliwe.
Tak jak dla niejednego lekarza fascynacja medycyną zaczęła się od lekcji biologii, tak dla wielu pasjonatów informatyki początkiem będzie programowanie, które jest bramą do odkrycia bogactwa różnorodności w świecie komputerów.
Nauka programowania okazała się rozwiązaniem. Zamiast urabiania umożliwia ona kształtowanie dzieci, stając się narzędziem wspomagającym proces kształcenia także tych osób, które w przyszłości nie będą pracowały w branży informatycznej.
Wielu osobom programowanie może wydawać się zajęciem ściśle technicznym, wykonywanym przez zamkniętych w sobie, aspołecznych dziwaków. Tymczasem można je śmiało uznać za sztukę. Podobnie jak malowanie wymaga krytycznego i kreatywnego myślenia, nieszablonowego spojrzenia na to, co znane, przełamywania schematów. Pytania, przed jakimi stają uczniowie, tworząc program komputerowy, to pytania, na które będą musieli wielokrotnie odpowiadać w życiu. Jak rozłożę ten problem na części? Czy zauważam strukturę? Jakie informacje są pomocne, a które niezbędne? Opanowanie języka programowania może być równie ekscytujące jak nauka hiszpańskiego czy gry na gitarze. W każdym z tych przypadków poznanie reguł i technik nie jest celem samym w sobie, a jedynie środkiem.
Po co nauka programowania?
Znany wizjoner, ojciec współczesnego smartfona, amerykański przedsiębiorca Steve Jobs stwierdził w jednym z wywiadów, że każdy człowiek powinien uczyć się programować, ponieważ w ten sposób uczy się myśleć. Już ten powód mógłby wystarczyć, aby poważnie zainteresować się programowaniem. Co jednak kryje się pod hasłem nauki myślenia?
Krytyczne myślenie
Jedną z ważnych umiejętności człowieka myślącego jest krytyczne podejście do napotykanych sytuacji. Krytyczne, czyli oparte na wybranych kryteriach, wymagające przeanalizowania problemów oraz rozważenia różnych wariantów rozwiązania, a także zrozumienia różnic między nimi. Na końcu zaś podjęcie decyzji na podstawie danych dostępnych w konkretnym momencie, często ze świadomością, że pełna ocena nie jest możliwa (podejmowanie decyzji w warunkach niepewności). Krytyczne myślenie wymaga umiejętności obserwacji, refleksji, rozumowania oraz komunikacji, zdefiniowania problemu i celu, a także rozważenia skutków oraz umiejętności korekty decyzji. Programując, dzieci rozwijają wspomniane powyżej elementy krytycznego myślenia automatycznie: muszą zrozumieć problem, zanim przystąpią do jego rozwiązywania (analiza); szybko zauważają, że nie da się zrobić wszystkiego (wybór rozwiązania); chętnie dzielą się swoim rozwiązaniem z innymi i wzajemnie się inspirują (komunikacja).