
Цялата минала година работих като преподавател в един от провинциалните учебни центрове (по-нататък — УЦ), специализирани в обучението по програмиране. Няма да спомена името на този учебен център и ще се опитам изобщо да се въздържа от споменаване на имена на компании, автори и т.н.
И така, работех като преподавател по Python и Java. Този УЦ закупи методически материали за Java, а Python стартира, когато аз дойдох и им предложих това.
Методичката за учениците (в същността си учебник или самоучител) я написах по Python, но преподаването на Java и използваните там методически материали оказаха немалко влияние.
Да се каже, че те бяха ужасни — нищо не казва. Методологията на учебника по Java, която предоставя една много известна компания в Русия, не беше в това да научи човека на основите на този език като цяло и парадигмата на ООП в частност, а в това, че родителите, дошли на отворените уроци, виждаха как техният син или дъщеря копират змейка или шахмат. Защо казвам копират? Много просто, става въпрос за това, че в учебника имаше цели листове (A4) код, някои моменти от който не се обясняваха. В крайна сметка, преподавателят или трябваше да контролира на какъв момент от кода се намира всеки ученик, като обяснява всяка линия, или всичко се свежда до копиране.
Ще кажете: «Какво такова, нека преподавателят работи по-добре, а змейката и шахматът са изобщо готини!»
Какво ж, всичко щеше да е супер, ако броят на хората в групата не беше 15, а това вече е значително, особено ако смятате да следите всички, обяснявайки: «А какво точно пишем тук?»
Освен броя на хората в групата, има и още една проблема, свързана с тази методичка. Кодът е написан… как да кажа, просто отвратително. Набор от антипатерни, архаизми, тъй като учебникът отдавна не е обновяван, и нашето любимо, разбира се — стиловите насоки. Затова, дори и да контролирате всичките си подопечни и бързо и ясно да им обясните какво означава копираният код, самият код е толкова ужасен, че ще научи, меко казано, не това.
И финалната точка, буквално разрушаваща този учебник — от самото начало липсва някакво адекватно въведение, обясняващо какво са типовете данни, че те могат да бъдат обектни и примитивни, какъв критерий проверява свойството, генериращо тази дихотомия и т.н. В първата глава, на вас и вашите ученици се предлага да направите (да копирате) програма, която създава прозорче и пише там «Здравей!», обаче там не се обяснява какво собствено означава този лист код, само се дават препратки към по-нататъшни занятия, например се споменава «main» — точка на вход, но дори не се говори самото понятие «точка на вход».
В заключение, этот бесполезный материал был мемом даже среди педагогов и руководства. Он ничему не учил детей, и однажды мне попалась группа, которая уже год училась по этим материалам, и в итоге они даже не могли написать цикл, заметив, что все они были весьма сообразительными и вскоре уже все стало не так плохо. Большинство коллег старались отходить от методических материалов, чтобы материал усваивался, а не просто исчезал в воздухе, хотя были и менее добросовестные люди, считавшие нормальным, что их ученик списывает без каких-либо разъяснений.
Когда стало ясно, что я покину учебный центр, а программу по Python нужно как-то продолжать в следующем году, я начал писать свой учебник. Если коротко, я разделил его на две части: в первой объяснял все о типах данных, их сути, операциях с ними и инструкциях языка. Между темами я делал QnA, чтобы будущий учитель мог понять, как ученик усвоил материал. В конце я добавил небольшое задание-проект. Первая часть таким образом объясняет основы языка и расшифровывает их, что составляет примерно 12-13 уроков по 30-40 минут. Во второй части я описал ООП, объяснил, чем реализация этой парадигмы в Python отличается от большинства других языков, и делал много ссылок на стиль-гид и т.д. Если подвести итог, я старался максимально отличаться от учебника по Java. Недавно я писал нынешнему преподавателю по Python, спрашивал его мнение по материалам, и сейчас я рад, что всё хорошо, а дети действительно понимают программирование на Python.
Какой вывод мне хотелось бы сделать из этой истории: дорогие родители, если вы решаете отдать ребенка в учебный центр, внимательно следите за тем, что они делают, чтобы ваше чадо не зря теряло время, что в будущем не отбило у него желание программировать.
UPD: Как верно заметили в комментариях, я почти ничего не сказал о подаче материала. Хочу сразу отметить, что я считаю, что практики должно быть больше, как можно больше. В конце каждого занятия в первой части я делал 4-5 небольших практических заданий по теме главы. Между главами были QnA (уроки контроля), где тоже были практические, но уже оцениваемые задания. Также в конце первой части был проект на тему по выбору из предложенных. Во второй же части я ввел ООП через создание консольной мини-игры, разработка которой и составила всю вторую часть и всё введение в парадигму.
Само регистрирани потребители могат да участват в анкетата. , моля.
Ваш ребенок учится программированию в учебном центре?
4,6%Да3
95,4%Нет62
Проголосовали 65 пользователей. Воздержались 27 пользователей.
Източник: habr.com
