Obowiązkowa nauka programowania w szkołach: kto chce śnić koszmary o Pythonie w Minecrafcie?
Co rusz pojawiają się w ostatnich latach pomysły na edukacyjnąreformę, w której główną rolę odgrywałoby nauczanieprogramowania już w szkołach podstawowych. Zwolennicy tego pomysłuuważają, że to wyjście naprzeciw realiom współczesności.Utrzymują, że podstawowa znajomość języków programowania zczasem stanie się niezbędna, by radzić sobie w życiu zawodowym, anawet że nauczanie programowania miałoby w jakiś szczególnysposób sprzyjać ogólnemu rozwojowi umysłowemu dzieci. Do tegocoraz głośniejszego i coraz bardziej wpływowego grona dołączyłostatnio sam szef Apple’a, Tim Cook, który podczas Startup FestEurope w Amsterdamie porównał programowanie do nauki języka istwierdził, że powinno się tego uczyć dzieci wraz z alfabetem.Czy jednak faktycznie dzieci potrzebują nauki programowania, czy teżjest to potrzebne przede wszystkim samym firmom IT, które do takichdziałań namawiają?
03.06.2016 | aktual.: 03.06.2016 16:25
Na pozór wszystko brzmi pięknie. Podczas rozmowy z byłąkomisarz europejską, panią Neelie Kroes, która poświęcona byłaprzemysłowi software’owemu, gospodarce aplikacjami i związkommiędzy medycyną a informatyką, Tim Cook stwierdził, że szkodzimyswoim dzieciom, nie ucząc ich programowania, ponieważ programowaniejest wchłaniane przez wszystko każdą inną dziedzinę – i szkołypowinny współpracować z firmami, by pomóc rozwinąć uczniomniezbędne w przyszłości umiejętności zawodowe. Wcześniej szefApple’a dał się poznać ze stwierdzeń, że programowanie powinnobyć przedmiotem obowiązkowym w szkołach, na równi z językiemangielskim i matematyką. Nauka szkolna, zamiast zaś polegać nanudnych wykładach, miałaby przynieść zaangażowanie, współpracęi ekscytację – tak samo, jak to jest w miejscach pracy. W klasieprzyszłości nie byłoby miejsca na uczenie się na pamięć, leczna rozwiązywanie problemów i poznawanie sposobów na wyrażeniesiebie.
Tim Cook Crashes Coding Party, Calls for Fundamental Changes in Education
Kto potrzebuje armii programistów?
Cook nie jest w tym odosobniony. U nas też słyszy się bardzopodobne deklaracje, można powiedzieć, że to wręcz globalnezjawisko. Niedawno otrzymaliśmy od firmy SMT Software Services wiadomość prasową poświęconą„edukacji zaprogramowanej”, w której przekonywano, że wartouczyć dzieci języków kodowania. Mogliśmy tam przeczytaćm.in.:
Potem jednak niestety niewiele było o psychologii kognitywnej. Więcej o obecnych potrzebach firm:
Tak naprawdę, to chcemy szybszych koni
Jeden z ojców motoryzacji, HenryFord, powiedział swego czasu – jeśli pytałbym ludzi, czego chcą,to powiedzieliby że chcą szybszych koni. I to chyba najtrafniejszepodsumowanie obecnego problemu. Firmy informatycznie nie znająniczego prócz teraźniejszości, a teraźniejszość zostałarzeczywiście przesiąknięta oprogramowaniem. Aplikacje mobilnewprowadziły kod na dobre do codziennego życia zarówno ludzi, jak icałych społeczeństw, w dziedzinach bardzo mało mającychwspólnego z techniką czy nauką.
I tak wczoraj dowiedziałem się, żezamiast korzystać z papierowej karty klubowej sklepu Społem (któranieustannie gdzieś się gubi) powinienem zainstalować sobie ichaplikację na telefonie. Swoje aplikacje mają dziś muzea ijednostki straży pożarnej, aptekarze i miłośnicy psów.Oprogramowanie nie działa już tylko na komputerach osobistych czysmartfonach, ale też na niezliczonych urządzeniach gospodarstwadomowego, w samochodach czy przemysłowych kontrolerach. Dziedzinygospodarki, które istniały sobie spokojnie przez setki lat, nagleuległy gwałtownej transformacji – i zapotrzebowanie naoprogramowanie dla nich stało się większe niż kiedykolwiekwcześniej.
Temu nijak nie są w staniesprostać istniejące firmy programistyczne, stąd też koncepcja, żekażdy miałby stać się programistą w swojej dziedzinie, żeksięgowy pisałby sobie aplikacje finansowe, a lekarz narzędzia dowspomagania diagnozowania. Oczywiście dziś księgowy i lekarz niepotrafią programować, nikt ich tego nie uczył, ale ludzie pokrojuTima Cooka najwyraźniej wierzą, że jeśli nowe pokolenie zacznienaukę programowania odpowiednio wcześnie, to za kilkanaście latrynek wypełni się takimi zaradnymi programistami, budującymiaplikacje na zawołanie.
Słowo-klucz to tutaj„zaradnymi”. To prawda, programowanie tak, jak przedstawiają toapologeci upowszechniania jego nauki, na początku nie jest trudne. Inie chodzi wcale o osobliwy podział na „łatwe i trudniejszejęzyki programowania” (te trudniejsze to oczywiście Malbolge).Podstawowe założenia opanować może praktycznie każdy uczeń,uczący się podstaw JavaScriptu z Codeacademy.com.Tak samo uważano, że podstawowe założenia gry na flecie prostymjest w stanie opanować każdy uczeń – i dzieci w podstawówkachbyły katowane wieloletnią nauką grania drętwych melodyjek naplastikowych fletach. Wielu ta przymusowa nauka gry na flecieobrzydziła granie na instrumentach na dobre – i śmiem sądzić,że tak samo będzie z przymusową nauką programowania, podczasktórej z konieczności trzeba będzie uczyć się rzeczyporównywalnych stopniem złożoności do tego, czego uczono naprzymusowej muzyce.
Ilu z tych wyszkolonych na plastikowym flecie zostało późniejzawodowymi muzykami? Ilu z przyjemnością w wieku dorosłymwyciągnie flety (powiedzmy już jakieś porządniejsze, poprzeczne),by wraz z rodziną pomuzykować? Co każe nam sądzić, żeprzymuszony do nauki banalnych zadań programistycznych uczeń, któryw dorosłym życiu został lekarzem, wykorzysta wyuczone umiejętnoścido pisania oprogramowania diagnostycznego? I czemu mielibyśmysądzić, by to oprogramowanie miało się nadawać do czegokolwiek?W końcu powiedzmy sobie szczerze – rzępolenia dziatwy na fletachsłuchać się nie dało.
Futurologia matką naiwnych
Doszliśmy zatem do dość dziwnego punktu. Aby rozwiązaćproblemy współczesności (niedobór programistów, zapotrzebowaniena aplikacje), proponuje się by rozpocząć intensywne kształceniedzieci i młodzieży w dziedzinie, która pomoże im rozwiązaćproblemy… przeszłości. Zanim przecież nasze przedszkolaki idzieci z podstawówek wejdą na rynek pracy, minie kilkanaście lat.Przekonanie, że w tak szybko zmieniającym się świecie nabyte dziśkonkretne techniczne umiejętności będą do czegoś przydatnewydaje się dość naiwne. A właśnie to możemy przeczytać wewspomnianej wiadomości prasowej o edukacji zaprogramowanej:
Czy aby na pewno mamy, szczególnie dziś, gdy Bill Gates otwarciemówi, że poczyniliśmy tak wielki postęp w dziedzinie rozwojusztucznej inteligencji, że zbudowanie maszyn o sprawności mentalnejwyższej niż ludzka znajduje się w zasięgu ręki? Czy ktokolwiekmoże być jeszcze pewien, że za te kilkanaście lat oprogramowaniebędzie powstawało za sprawą człowieka, a nie będzie generowaneprzez AI? Że nauczone dziś metody i techniki programistyczne będąmiały jakiekolwiek zastosowanie w przyszłości?
Dlatego jak sądzę, szkoły powinny skupić się w ramachobowiązkowego kształcenia na absolutnych podstawach, tj. logice,matematyce, literaturze, historii, filozofii, elementach naukprzyrodniczych, wiedzy o społeczeństwie – a pozostałedziedziny, w tym plastykę, programowanie, muzykę, pracę-technikę,czy co tam jeszcze – oferować jako przedmioty fakultatywne,wyłącznie dla zainteresowanych, być może nawet bez ocen. Dziękitemu unikniemy sytuacji, w której dzieciom będą śniły siękoszmary o klasówce z programowania Minecrafta w Pythonie. Niechskupią się w swojej nauce na tym, co je uszczęśliwia.
Argumenty ad hominem są uważane za błąd logiczny, ale w tejsytuacji trudno o tym jednym nie wspomnieć. Tim Cook nie ma dzieci izapewne nigdy ich mieć nie będzie. Jego wezwanie do umasowienianauki programowania w szkołach dotyczy więc cudzych dzieci –które dla niego w przyszłości mogą być co najwyżej pracownikamiApple. Co więcej, sam Tim Cook nie jest programistą. Na pewno nieuczył się programowania w podstawówce, najpewniej też nie uczyłsię tego na studiach (skończył inżynierię przemysłową, a potemstudia MBA). Jakie to zadziwiające – nie był programistą, nieuczył się programowania, a zdołał osiągnąć tak wiele, zostaćszefem jednej z największych firm tej planety. Czy gdyby wyuczono goprogramowania, powtórzyłby ten sukces?