Как я преподавал, а потом методичку по Python писал

в 17:19, , рубрики: java, python, дети, образование, преподавание, учеба, учебные материалы, учебный процесс, Учебный процесс в IT
image

Весь прошлый год я отработал преподавателем в одном из провинциальных учебных центров (далее — УЦ), специализирующихся на обучении программированию. Я не буду называть этот учебный центр, так же вообще попытаюсь обойтись без названий фирм, фамилий авторов и т.д.

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

Методичку для учеников (по сути учебник или самоучитель) я писал по Python, но не малое влияние оказало преподавание Java и методические материалы, которые использовались там.

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

Вы скажете: «Ну и что такого, пусть препод лучше работает, а шахматы и змейка ваще квёво!»

Что ж, всё было бы круто, если бы кол-во человек в группе не было под 15, а это уже значительно, коли вы собираетесь следить за всеми, объясняя: «А всё таки, что мы пишем такое?»

Помимо кол-ва человек в группе, есть ещё одна проблема, связанная с этой методичкой. Код написан… как бы вам сказать, просто ужасно. Набор антипатернов, архаики, так как учебник давно не обновлялся, и наше любимое, конечно же — стайл гайда. Поэтому, даже если вы законтролите всех своих подопечных и сможете им быстро и доходчиво объяснять, что значит списываемый код, то сам код настолько ужасен, что научит мягко говоря не тому.

Ну и финалочка, разрушающая буквально этот учебник — с самого начала отсутствует хоть сколько-то адекватное введение, объясняющее, что такое типы данных, что они бывают объектные и примитивные, какой критерий проверяет свойство, порождающее эту дихотомию и т.д. В первой же главе, вам и вашим ученикам предлагается сделать (списать) программу, которая делает окошко и пишет там «Привет!», однако там не объясняется, что собственно этот лист кода значит, лишь ссылки на дальнейшие занятия, например, упоминается «main» — точка входа, но даже не проговаривается само понятие «точка входа».

Если подытожить, то эта макулатура была мемом даже среди педагогов и руководства. Она не учила детей ровным счётом ничему, однажды мне попалась группа, обучающаяся уже год по этим материалам, в итоге они даже не могли написать цикл, замечу что все они были очень смышлёными и в скоре уже всё было не так плохо. Большинство коллег старались отступать от методических материалов, чтобы материал усваивался, а не просто улетал в воздух, хотя были и менее добросовестные люди, считавшие нормальным, что их ученик списывает без каких либо разъяснений.

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

Какой вывод я бы хотел сделать из этой истории: дорогие мои родители, если вы решаете отдать ребёнка в УЦ, то внимательно следите за тем, что они делают, что ваше чадо не даром просаживает время, дабы в будующем не отбить у него желание программировать.

Автор: egnodus

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js