Prometeusze Programowania

Koło Naukowe z Politechniki Poznańskiej "Prometeusze Programowania" stara się edukować dzieci z grup wykluczenia programowania i innych przedmiotów ścisłych.

Home » Prometeusze programowania

Prometeusze programowania

Analfabetyzm

Kiedyś ci którzy umieli czytać i pisać to była wąska elita społeczeństwa. Obecnie udział analfabetów w społeczeństwie wynosi : Europa – 3% , Ameryce Płd. – 15%,  Azja – 33%, Afryka – 50%. Dzisiaj, jak się wydaje, taką elitarną umiejętnością jest programowanie komputerów.

Nauczyciel uczący czytania i pisania był tym, który dawał ludziom taki ogień. Pozwalało to nie tylko egzystować na znacznie wyższym poziomie, ale dalej się rozwijać i nawet trafiać do historii.

Jak Prometeusz co dał ludziom ogień

Mityczny, ale jakże ludzki, Prometeusz dał ludziom ogień. Uważa się, że dieta z ciepłych potraw przyczyniała się do rozwoju mózgu.

„Prometeusze Programowania” https://pro.put.poznan.pl, chcą dawać, zwłaszcza tym wykluczonym, umiejętność programowania. To rozwinie nie tylko tych edukowanych, ale też tych edukujących. Umiejętność przekazywania innym ludziom własnych umiejętności to wyższy stopień wtajemniczenia. Trochę podobnie jak przekazywanie komputerom umiejętności przez ich programowanie czy uczenie sztucznych sieci neuronowych.

Znajomy literat Michał Urbaniak. Autor dwóch wysoko cenionych powieści. Znakomity nauczyciel kreatywnego pisania. Ale też pracowity literacki blogger http://blog.PasjaPisania.pl.  Skomentował to następująco: „Bardzo mi się podoba propozycja Twojego loga, a jeszcze bardziej to uzasadnienie! Takie twórcze! Cudownie to wyszło.”

W szkole w Poznaniu jak w Seattle

Już w latach siedemdziesiątych do niektórych szkół średnich wprowadzano programowanie. Tak Bill Gates i Paul Allen późniejsi założyciele Microsoftu uczyli się w swojej high-school w amerykańskim Seattle programowania w BASIC-u. Stało się  to dzięki ufundowanej przez radę rodziców możliwości korzystania z komputera. Wykupiono abonament na używanie minikomputera PDP w jednej z firm.  Pożyczono też modem i dalekopis. Uczniowie łączyli się z komputerem linią telefoniczną. To spowodowało, że byli dobrze przygotowani na przewodzenie mikrokomputerowej rewolucji: https://blog.naukowa.it/mikrokomputer-rozpalil-wyobraznie/

W tym samym czasie w Poznaniu moi późniejsi  koledzy ze studiów uczyli się w liceum ogólnokształcącym o ścisłym profilu FORTRANU. Odbywało się to mniej komfortowo niż w Seattle, bo programy zapisywano długopisem na specjalnych drukach. Były one dostarczane paniom, które z każdego arkusza perforowały dziesięć kart perforowanych. Programujący musiał sprawdzić czy panie dobrze przepisały i związane gumką dostarczyć je na stół w poczekalni. Dopiero stąd były zanoszone do pomieszczenia z czytnikiem i połykane przez politechniczny komputer ODRA-1305. Ten odwdzięczał się zadrukowaną wstęgą papieru składanego w harmonikę do formatu A3.

Od profesora z liceum po doktorat honorowy

Opisywany cykl obowiązywał również studentów politechniki i trwał nawet tydzień. Trzeba też dodać, że programy roiły się od błędów i wymagały w niezbyt skomplikowanych problemach kilkunastu takich podejść. Pracownicy politechniki i niektórzy członkowie Koła naukowego Informatyków mogli rezerwować komputer na wyłączność. Pozwalało to przez godzinę lub dłużej na bieżąco dopracowywać programy krążąc między perforatorem kart, ich czytnikiem, dalekopisem operatora i okropnie hałaśliwą drukarką wierszową.

Nauczycielem tego późniejszego narybku pierwszych studentów na kierunku informatyka był późniejszy doktor honoris Causa Politechniki Poznańskiej prof. Janusz Rajski https://blog.naukowa.it/testowanie-elektroniki-cyfrowej/. Już w trakcie ich studiów uczelniany komputer został wyposażony w nowoczesny system operacyjny GEORGE-3/MOP. Pozwolił on wczytywać naraz wiele zadań na kartach w tym z budynków politechniki po drugiej stronie Warty. Dzięki minikomputerom komunikacyjnym można też było wreszcie jak w Seatle pracować na dalekopisach, a nawet monitorach ekranowych.

Z kolei gdy tylko ukończyłem swoje liceum trafił do niego przestarzały już dla poznańskiego ośrodka Elektronicznej Techniki Obliczeniowej radziecki komputer MIŃSK. W ten sposób mój młodszy brat uczył się programowania już w szkole. W tamtych czasach aż do późnych lat osiemdziesiątych nauką programowania w językach proceduralnych typu BASIC, FORTRAN, ALGOL 60 czy PASCAL obejmowano wszystkich studentów politechniki. W szkołach średnich, a nawet podstawowych próbowano uczyć stworzonego specjalnie do nauki najmłodszych języka programowania LOGO. Odbywało się to często na zabawkowych komputerach typu ZX SPECTRUM, ATARI czy COMMODORE.

Jak IBM PC wyparł powszechną naukę programowania

Kiedy jednak na uczelnie i do szkół wkroczyły komputery zgodne z IBM PC z systemem MS-DOS, a później WINDOWS tak powszechne nauczanie programowania wygasło. Zachłyśnięto się bogatym i „darmowym” (wtedy w Polsce nie było ochrony praw autorskich) oprogramowaniem biurowym i uczono posługiwania się nim. Co prawda tworzenie arkusza kalkulacyjnego w programie EXCEL czy innym ma coś wspólnego z programowaniem. Natomiast DBASE służące do zarządzania bazami danych, było już całkiem zaawansowanym językiem programowania. Jednak to pierwsze nie dawało szans na wyedukowanie do profesjonalnego programowania, a to drugie było zbyt skomplikowane dla początkujących.

A może jednak?

Wczesna nauka programowania w szkołach ma wiele zalet. Programowanie ma sporo cech matematyki, a więc rozwija myślenie abstrakcyjne. Szczególnie przyczynia się do rozwoju zdolności przewidywania skutków różnego rodzaju działań, a więc zdolności niezwykle wartościowej w życiu codziennym i właściwie w każdym zawodzie. Opanowanie pierwszego języka programowania to milowy krok w kierunku poznania dowolnych dalszych języków, mających ogromne znaczenie utylitarne. Dzisiaj utalentowani programiści są hołubieni przez licznych przedstawicieli przemysłu informatycznego poszukujących pracowników. Miejsca pracy programistów wyposażane są niezwykle wygodnie i bogato, co wraz z atrakcyjnymi ofertami płacowymi i dodatkowymi bonusami czyni zawód programisty jednym z najpewniejszych na rynku pracy.

Dobrze więc, że znowu powszechnie uczy się programowania i to już w szkołach podstawowych. To powinno przyczynić się do zmniejszenia niedoboru programistów w przemyśle. Jednak przede wszystkim wykształcić ludzi bardziej świadomych istoty oprogramowania i potrafiących komunikować się z programistami i szerzej informatykami.

Deficyt programistów wśród nauczycieli

Niestety, ssanie na rynku pracy przyczynia się też do odpływu zdolnych programistów ze szkół i brakuje nauczycieli-programistów. Douczony na kursach w najlepszym razie matematyk może mieć trudności z przygotowaniem dzieci do tak prestiżowych zmagań jak Olimpiada informatyczna czy Ogólnopolskie zawody w programowaniu zespołowym. Dla wielu są przepustką do najlepszych studiów informatycznych.

Programowanie dla wykluczonych

Mając na względzie te wszystkie przesłanki, jesienią 2015 pomyślałem o wychowankach domów dziecka. Zauważyłem, że Dom Dziecka nr 2 w Poznaniu sąsiaduje z V Liceum Ogólnokształcącym, które ma laboratorium robotów LEGO MINDSTORMS. Jak każde LEGO ten zestaw jest przyjazny umożliwiając konstruowanie najwymyślniejszych robotów. Natomiast graficzny język programowania na podłączonym komputerze pozwala na nadanie im zdolności do wykonywania złożonych zadań. Dlatego w uzgodnieniu z dyrekcjami na początek zaoferowałem kilku wychowankom zajęcia pozalekcyjne.

Kurs zgodziło się prowadzić kilku studentów wolontariuszy z Wydziału Informatyki Politechniki Poznańskiej i kilku uczniów V Liceum Ogólnokształcącego. Chciałem jednak, żeby zestaw robotyczny był też na wyposażeniu domu dziecka i poprosiłem internautów o wsparcie finansowe przez założenie projektu crowdfundingowego https://polakpotrafi.pl/projekt/zbudowac-robota.  Już po miesiącu zebrano kwotę wystarczającą do zakupu LEGO MINSTORMS. Dzięki temu zestaw wraz z nieodzownym laptopem wręczono dzieciom na barwnej uroczystości tuż przed Gwiazdką. Uroczystość prowadził chyba pierwszy na świecie robot z doktoratem – dr Bot. Pomysł przebrania świadomie nawiązywał do wchodzącej wtedy na ekrany kolejnej części „Gwiezdnych wojen”. Miał rozbudzić zainteresowanie robotami i przyciągnąć dzieci do zajęć.

Koło Naukowe na Politechnice Poznańskiej

Początkowo nazwane „Studenckie Koło Naukowe Upowszechniania Programowania” zostało oficjalnie utworzone w marcu 2016. Od początku byliśmy aktywni w mediach, co nadal ma miejsce: https://pro.put.poznan.pl/press.php Pewnie tylko dzięki telewizji dowiedziałem się jak swoją misję wysoko ocenia pan Aleksander Soroko – student teleinformatyki.

Programowanie dla uchodźców

W tym roku stanęło przed nami nowe wyzwanie, co nam podpowiedział pan prodziekan Wrembel. Chodzi o wyjście z ofertą również do młodych Ukraińców. Trzeba im pokazać jak ważne jest programowanie, również, a może szczególnie w czasie wojny. Tak się złożyło, że u progu konfliktu na Ukrainie, napisałem do dziecięcego pisemka „Programista Junior” o programowaniu szyfrowania i łamania szyfrów. Nie omieszkałem przy tym wspomnieć o roli Polaków i Brytyjczyków w złamaniu kodu ENIGMy. Jak wiadomo przyczyniło się to do skrócenia II Wojny Światowej o dwa lata i oszczędzeniu milionów ludzi.

Dzięki działającej w kole studentce z Ukrainy pani Rehinie Pashkevych i Oddziałowi Wielkopolskiemu Polskiego Towarzystwa Informatycznego numer pisemka z tym artykułem po polsku został wzbogacony o wrzutkę po ukraińsku. Psycholog kliniczny pani mgr. Antonina Kocot twierdzi, że „Warto coś takiego podsuwać zrozpaczonym i zagniewanym na wroga młodym Ukraińcom. Programowanie jako oręże do walki z nim daje ukraińskiej młodzieży szansę na uwolnienie się od pragnienia prymitywnej zemsty i wzięcie się za pracę nad sobą. Potwierdzeniem skuteczności informatyki są też skierowane przeciw najeźdźcy działania grupy hackerskiej Anonymus”.

Muzeum tajemnic

Tymczasem udało się nawiązać podwójną współpracę z dopiero co otwartym Centrum Szyfrów ENIGMA https://csenigma.pl. Polecam zwiedzanie. Będziecie państwo zachwyceni eksponatami, zwłaszcza eleganckim oprogramowaniem na cudownym sprzęcie.

  • Zaprosiłem bratanicę z bystrymi dziećmi(9 i 6) do zrobienia fotoreportażu dla pisemka „Programista Junior”. Mam nadzieję, że uda się nam tekstem i fotografiami zawodowca oddać ich fascynację eksponatami tj. programami/grami na gigantycznych tabletach i przedmiotami kryptologicznymi.
  • Trzech moich dyplomantów wzięło się w ramach pracy inżynierskiej za zrobienie brakującej przeglądarkowej wersji tego oprogramowania. Obiecują prototyp na Noc Naukowców na Politechnice Poznańskiej 30 IX 2022 kiedy z pomocą woluntariuszy zademonstrują swoje dzieło około 75 uczestnikom warsztatów https://pro.put.poznan.pl/projects.php.

Nasze problemy

Niestety, opiekowanie się kołem naukowym to niełatwe zadanie. Pierwszy zarząd z 2016 i studenci prowadzący zajęcia w domach dziecka wykruszyli się po kilku latach. Przez to w roku bieżącym musieliśmy przeprowadzać biurokratyczną procedurę wznawiania działalności koła. Chcielibyśmy oferować tym już programistom bezpłatne kursy pedagogiczne. Mamy nadzieję, że uprawnienia przydadzą się już w trakcie studiów, a także po nich, choćby dla kilku godzin, które mogą wesprzeć lokalną szkołę.

Jednak niełatwo w obliczu bardziej naglących potrzeb uchodźców z Ukrainy pozyskać fundusze z firm, a także znaleźć sposób na zaksięgowanie takich wydatków. Udaje mi się dzięki profilowi https://patronite.pl/Python pozyskiwać niewielkie fundusze systematycznie wspierając moich patronów w nauce programowania w języku Python. Mam też do tego bardziej efektowny widget:

 

Napisał: Andrzej P. Urbański Instytut Informatyki Politechniki Poznańskiej Andrzej.urbanski@put.poznan.pl