Как преподавал, следваше пишех методика по Python

Как преподавал, следваше пишех методика по Python
През изминалата година работих като преподавател в един от провинциалните учебни центрове (по-нататък — УЦ), специализирани в обучението по програмиране. Няма да споменавам този учебен център, ще се постарая да избегна имената на компании, фамилии на автори и т.н.

И така, работих като преподавател по Python и Java. Този УЦ закупуваше методични материали за Java, а Python стартираха, когато аз предложих да го внедрим.

Методичката за учениците (по същество учебник или самоучител) я пишех по Python, но преподаването на Java и използваните методични материали също оказаха значително влияние.

Да кажеш, че те бяха ужасни — нищо не казва. Модусът на учебника по Java, който доставя една много известна компания в Русия, не беше в това да научи човек основите на езика като цяло и парадигмата на ООП в частност, а в това, че родителите, идвайки на отворени уроци, виждат как техният син или дъщеря копират от учебника змейка или шахмат. Защо казвам 'копират'? Много просто, факт е, че в учебника имаше цели листове (A4) код, част от който не беше обяснен. В крайна сметка, преподавателят или трябва да следи на какъв момент в кода седи всеки ученик, обяснявайки всяка редица, или всичко се свежда до копиране.

Вие бихте казали: «И какво по-особено, нека учителят да работи по-добре, а шахматите и змейката са супер!»

Какво ли, всичко би било страхотно, ако броят на хората в групата не беше около 15, а това значително утежнява, когато трябва да следите за всички, обяснявайки: «А всъщност, какво пишем?»

Освен броя на хората в групата, има и още един проблем, свързан с тази методичка. Кодът е написан… как да кажа, просто ужасно. Набор от антипатерни, архаики, тъй като учебникът отдавна не е обновяван, и нашето любимо, разбира се — стилова ръководство. Затова, дори ако контролираш всичките си ученици и можеш бързо и ясно да им обясняваш какво значи копираният код, самият код е толкова ужасен, че ще научи между другото нищо важно.

И финалът, който буквално разрушава този учебник — от самото начало липсва някакво адекватно въведение, което да обясни какво представляват типовете данни, че те могат да бъдат обектни и примитивни, какъв критерий проверява свойството, пораждащо тази дихотомия и т.н. В първа глава, на вас и вашите ученици се предлага да направите (възпроизведете) програма, която създава прозорец и пише в него «Здравей!», но там не се обяснява какво всъщност означава този код, само са дадени препратки към последващи занятия, например се споменава «main» — входната точка, но дори не се обсъжда самото понятие «входна точка».

Ако обобщим, то тази макулатура беше мем дори сред преподавателите и ръководството. Тя не учеше децата ровно нищо, веднъж ми попадна група, която учеше вече година с тези материали, и в крайна сметка те не можеха да напишат дори цикъл, отбелязвам, че всички те бяха много умни и скоро всичко не беше толкова зле. Повечето колеги се стараеха да се отклонят от методическите материали, за да материалът да се усвоява, а не просто да лети във въздуха, макар че имаше и по-малко добросъвестни хора, считали за нормално, че техният ученик копира без никакви обяснения.

Когато стана ясно, че ще напусна УЦ, а програмата по Python трябва да продължи по някакъв начин през следващата година, започнах да пиша своя учебник. Накратко, разделих го на две части, в първата обяснявах всичко за типовете данни, тяхната същност, операции с тях и инструкции на езика. Между темите правех QnA, за да бъде бъдещият учител способен да разбере как ученикът е усвоил темата. И накрая направих малко задание-проект. Първата част по този начин обяснява основите на езика и ги разяснява, което съставлява около 12-13 урока по 30-40 минути. Във втората част вече написах за ООП, описах как реализацията на тази парадигма в Python се различава от повечето други, направих много препратки към style guide и т.н. Ако обобщя — се опитвах да бъда максимално различен от това, което беше в учебника по Java. Наскоро писах на настоящия преподавател по Python, питах за обратна връзка относно материалите и сега се радвам, че всичко е добре, че децата наистина разбират програмирането на Python.

Какъв извод бих искал да направя от тази история: скъпи родители, ако решавате да запишете детето си в учебен център, наблюдавайте внимателно какво правят, за да не губи времето си напразно, иначе рискувате в бъдеще да загуби желание да програмира.

UPD: Както правилно забелязаха в коментарите, почти не споменах начина на подаване на материала. Ще кажа веднага, че смятам, че практическите занимания трябва да бъдат повече — колкото се може повече. В края на всяко занятие в първата част правех по 4-5 малки практически задачи по темата на главата. Между главите имаше QnA (уроци за контрол), където също бяха практики, но вече оценявани задачи, а също така в края на първата част имаше проект с тема по избор от предложените. Във втората част направих въведение в ООП чрез създаване на конзолна мини-игра, чиято разработка беше целият акцент на втората част и цялото въведение в парадигмата.

Само регистрирани потребители могат да участват в анкетата. Влезте, моля.

Учени ли вашето дете програмиране в учебен център?

  • 4,6%Да3

  • 95,4%Не62

Гласували 65 потребители. Въздържали се 27 потребители.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster