
С 2008 года мы учим школьников программированию и web-разработке. За это время многое изменилось – некоторые языки исчезли, уступив место новым и более перспективным, резко вперед шагнули веб-технологии, профессия «программист» уверенно заняла первые строчки во всех рейтингах. Но одно осталось неизменным – за эти годы мы только укрепили понимание, какими должны быть «правильные» курсы программирования для детей.
5 критериев эффективного обучения
Совершенно очевидно, что курсы программирования не должны копировать университетскую или школьную программу. В первом случае они будут «страдать» излишней «академичностью», а во втором – ничему не научат. Более того, не поможет и поиск золотой середины. Курсы программирования для школьников – это особый стиль обучения, со своими методами и критериями оценки.
Специфичность дополнительного образования связана с разными факторами, начиная от возраста слушателей и заканчивая наличием у них мотивации, но главное – выпускник курсов должен найти своим знаниям применение. Прямо здесь и сейчас. У нас нет возможности выпускать «в поля» ежегодно сотни молодых специалистов, не имеющих цели в жизни, как это сплошь и рядом происходит в высшем образовании. У нас нет ни желания, ни времени «натаскивать» школьников на тесты, ответы на которые они забудут сразу после сдачи экзамена, что нередко наблюдается в современной школе. У нас другая миссия: разбудить пытливость, дать практические знания, «подстегнуть» желание учиться и – привести к результату.
За годы работы мы сформировали 5 факторов, которыми определяются эффективные курсы программирования. Они перед вами:
Прозрачность. Каждый, кто записывается на обучение программированию, должен четко знать, чему он научится. Родители должны понимать, за что они будут платить деньги и какие навыки получит их ребенок. Поэтому мы придерживаемся политики открытости: в начале каждого учебного года в нашей Академии проводятся организационные собрания для новичков, где мы доступно рассказываем о структуре курсов, критериях оценивания и содержании проектной работы.
Кроме собраний, мы практикуем и другие способы донесения информации – личные собеседования, консультации по телефону, e-mail и в нашей группе ВКонтакте.
Интерес. Если человеку что-то неинтересно, он никогда не изучит это до конца. Это очевидная истина. Он может ходить на занятия «за компанию» с друзьями или просто потому, что родители сказали «надо». Но вот пользы от такого обучения – ноль. Кроме того, даже сильный интерес может угаснуть, если у ребенка не будет получаться выполнять задания – сначала он начнет искать решения в интернете, списывать у соседа по парте, а затем и вовсе бросит учебу.
Наша задача – разжечь интерес к программированию. Как мы это делаем?
- Во-первых, визуализируем информацию: графики, диаграммы, таблицы, схемы – все это позволяет значительно лучше воспринимать материал.
- Во-вторых, практикуем «игровые» задания. Речь идет не только об обучении 6-классников, но и вполне взрослых ребят – даже на курсе «Программирование на C++» наши студенты чаще пишут игры, чем прикладные приложения.
- И, в-третьих, мы ставим конкретные цели. Ими могут стать создание интернет-магазина при изучении web-программирования, разработка приложения «Рабочее место врача-офтальмолога» на занятиях по Python, создание анимационного ролика на курсе «Пользователь ПК». Цель должна быть четкой, достижимой и измеряемой – это значительно подстегивает интерес.

Практика. Наши занятия на 80% состоят из реальных заданий. Мы не зубрим главы из методичек, не читаем полуторачасовых лекций, не заставляем учить названия всех библиотек, подключаемых к среде разработки. Все, что студент забудет в теории, он легко найдет в Гугле, прочитает в документации или просто спросит у преподавателя. Но мы даем «боевые» задачи, решение которых приближает к главной цели – освоить программирование на практике, понять, как эти навыки можно применить в профессиональной деятельности.
Мотивация. Со временем интерес может угаснуть, и наша обязанность – постоянно поддерживать мотивацию. Здесь работают разные методы: простая похвала после удачного решения задачи и ободрение при неудачах, знакомство ребят с реальными историями успеха их старших «коллег». Иногда к нам приходят руководители и сотрудники IT-компаний Новосибирска и Омска и рассказывают школьникам о том, как круто и престижно работать в этой сфере.
Конечно, замотивировать 100% студентов нелегко. Но мы к этому стремимся.
Анализ результатов. Курсы программирования с нуля должны привести к конкретному результату, которым является итоговый проект, выполняемый в конце каждого года обучения. Проект становится настоящим стартом в профессию, показателем качества знаний и навыков, полученных выпускником.
Разумеется, мы практикуем не только итоговый, но и промежуточный контроль знаний, однако и здесь делается упор на практику – в течение учебного года ребята выполняют реальные задачи, изучают чужой код (мы называем это Code review), проходят тесты.

Не менее важна и обратная связь – наши преподаватели организуют чаты в slack’e, где студент в любое время может задать вопрос и получить ответ. Кроме того, мы всегда в диалоге и по другим каналам связи – ВКонтакте, по email и по телефону.
Итак, какими должны быть «правильные» курсы обучения программированию? Они должны иметь четкую цель, уделять большое внимание практике, разжигать интерес и поддерживать мотивацию. И тогда – все получится.