Jak uczyłem, a następnie napisałem podręcznik o Pythonie

Jak uczyłem, a następnie napisałem podręcznik o Pythonie
Przez ostatni rok pracowałam jako nauczyciel w jednym z wojewódzkich ośrodków szkoleniowych (zwanych dalej TC), specjalizując się w nauczaniu programowania. Nie będę wymieniał nazwy tego ośrodka szkoleniowego, postaram się też obejść bez nazw firm, nazwisk autorów itp.

Pracowałem więc jako nauczyciel Pythona i Javy. Ten urząd certyfikacji zakupił materiały dydaktyczne dotyczące języka Java i uruchomił Python, kiedy przyszedłem i im to zasugerowałem.

Napisałem podręcznik dla uczniów (głównie podręcznik lub podręcznik do samodzielnej nauki) o Pythonie, ale nauczanie Javy i materiały dydaktyczne, które tam były użyte, miały znaczący wpływ.

Powiedzieć, że były okropne, to mało powiedziane. Podręcznik do Java, dostarczony przez bardzo znaną w Rosji firmę, nie miał na celu nauczenia człowieka podstaw tego języka w ogóle, a paradygmatu OOP w szczególności, ale zapewnienie, że rodzice, którzy przyjdą na lekcje otwarte, Widziałeś, jak twój syn lub córka przepisywali węża lub szachy z podręcznika. Dlaczego mówię, że zostało spisane? To bardzo proste, faktem jest, że podręcznik zawierał całe arkusze (A4) kodu, którego niektóre aspekty nie zostały wyjaśnione. W rezultacie nauczyciel albo musi kontrolować, na jakim etapie kodu znajduje się teraz każdy uczeń, wyjaśniając każdą linijkę, albo wszystko sprowadza się do oszukiwania.

Mówisz: „No cóż, co jest nie tak, niech nauczyciel wykona lepszą robotę, a szachy i wąż są fajne!”

No cóż, wszystko byłoby fajnie, gdyby liczba osób w grupie nie była mniejsza niż 15 lat, a to już ma znaczenie, jeśli zamierzasz śledzić wszystkich i wyjaśniać: „Ale mimo to, po co to piszemy?”

Oprócz ilości osób w grupie z tą metodą wiąże się jeszcze jeden problem. Kod jest napisany… jak mam to ująć, po prostu okropny. Zestaw antywzorców, archaicznych, bo podręcznik już dawno nie był aktualizowany, a naszym faworytem jest oczywiście styl przewodnika. Dlatego nawet jeśli kontrolujesz wszystkich swoich uczniów i potrafisz im szybko i jasno wyjaśnić, co oznacza kod, który zapisujesz, sam kod jest tak okropny, że nauczy cię, delikatnie mówiąc, złych rzeczy.

No cóż, ostatnią rzeczą, która dosłownie niszczy ten podręcznik, jest to, że od samego początku nie ma przynajmniej odpowiedniego wstępu wyjaśniającego, czym są typy danych, że są obiektowe i prymitywne, jakie kryterium sprawdza właściwość generującą tę dychotomię itp. W pierwszym rozdziale Ty i Twoi uczniowie zostaliście poproszeni o wykonanie (skopiowanie) programu, który utworzy okno i napisze w nim „Hello!”, ale nie wyjaśnia on, co właściwie oznacza ten arkusz kodowy, jedynie linki do dalszych lekcji, np. wspomina, że ​​„główny” to punkt wejścia, ale sama koncepcja „punktu wejścia” nie jest nawet wyjaśniona.

Podsumowując, ta makulatura była memem nawet wśród nauczycieli i kierownictwa. Nie nauczyła dzieci absolutnie niczego, jak już trafiłem na grupę, która już rok studiowała te materiały, w końcu nie potrafili nawet napisać cyklu, zauważam, że wszyscy byli bardzo mądrzy i wkrótce wszystko nie było tak źle. Większość kolegów próbowała odejść od materiałów dydaktycznych, aby materiał został wchłonięty, a nie tylko wyleciał w powietrze, chociaż były osoby mniej sumienne, które uważały za normalne, że ich uczeń kopiuje bez żadnego wyjaśnienia.

Kiedy stało się jasne, że opuszczę ośrodek szkoleniowy i że program Pythona trzeba jakoś kontynuować w przyszłym roku, zacząłem pisać podręcznik. W skrócie podzieliłem go na dwie części, w pierwszej wyjaśniłem wszystko dotyczące typów danych, ich istoty, operacji na nich oraz instrukcji językowych. Pomiędzy tematami robiłem QnA, aby przyszły nauczyciel mógł zrozumieć, w jaki sposób uczeń uczył się danego tematu. No cóż, na koniec zrobiłem mały projekt zadaniowy. Pierwsza część wyjaśnia zatem podstawy języka i je przeżuwa, czyli około 12-13 lekcji po 30-40 minut każda. W drugiej części pisałem już o OOP, opisałem czym różni się implementacja tego paradygmatu w Pythonie od większości innych, podałem wiele linków do przewodnika po stylach itp. Podsumowując, starałem się jak najbardziej różnić od tego, co było w podręczniku Java. Niedawno napisałam do mojego obecnego nauczyciela Pythona z prośbą o opinię na temat materiałów i teraz cieszę się, że wszystko jest w porządku, że dzieci naprawdę rozumieją programowanie w Pythonie.

Jaki wniosek chciałbym wyciągnąć z tej historii: drodzy rodzice, jeśli zdecydujecie się wysłać swoje dziecko do ośrodka szkoleniowego, to uważnie monitorujcie to, co robi, aby wasze dziecko nie marnowało czasu na próżno, aby nie zniechęcić się go od chęci programowania w przyszłości.

UPD: Jak słusznie zauważono w komentarzach, o prezentacji materiału nie powiedziałem prawie nic. Od razu powiem, że uważam, że praktyki powinno być więcej, w miarę możliwości. Na koniec każdej lekcji w pierwszej części wykonałem 4-5 małych zadań ćwiczeniowych na temat rozdziału. Pomiędzy rozdziałami znajdowały się QnA (lekcje kontrolne), gdzie znajdowały się także zadania praktyczne, ale już ocenione, a na zakończenie pierwszej części znajdował się projekt z tematem do wyboru spośród zaproponowanych. W drugiej części dokonałem wprowadzenia do OOP poprzez stworzenie mini-gry konsolowej, której rozwinięcie stanowiło całą drugą część i całe wprowadzenie do paradygmatu.

W ankiecie mogą brać udział tylko zarejestrowani użytkownicy. Zaloguj się, Proszę.

Twoje dziecko uczy się programowania w ośrodku szkoleniowym?

  • 4,6%Tak3

  • 95,4%Nie62

Głosowało 65 użytkowników. 27 użytkowników wstrzymało się od głosu.

Źródło: www.habr.com

Dodaj komentarz