Как Яндекс.Лицей учит школьников программированию

Начальное профессиональное образование, не дожидаясь университета.

Хотя в Москве и других регионах проходят олимпиады по программированию и хакатоны для школьников, мест, где ребят систематически учат программированию, все еще немного. Яндекс.Лицей, который открылся уже в 128 учебных заведениях в городах России и Казахстана, пытается исправить ситуацию. Учебный процесс выстроен так, что ученики восьмых и девятых классов получают основы профессии разработчика и могут делать проекты для школы, фриланса или просто для себя.

«Мы хотели не занудно, но серьезно и последовательно дать детям начальное профессиональное образование, не дожидаясь университета, — рассказывает директор Яндекс.Лицея Марина Суслова. — Чтобы разработчиков базового уровня в стране было много и профессия была доступна, независимо от того, где ты находишься».

Ничего лишнего

Чтобы уложить подготовку начинающего программиста в двухгодичный курс, который ученики совмещают со школой, создатели программы решили сосредоточиться на прикладных знаниях. Четырех часов в неделю не хватит, чтобы узнать о программировании всё, но это и не нужно. Задача Яндекс.Лицея в том, чтобы дать детям в руки инструмент, с помощью которого они получат возможность разрабатывать собственные проекты или заниматься фрилансом наравне с начинающими специалистами.

«Есть Python, есть компьютер, давайте мы научимся с этим работать, не погружаясь в сложные материи. Тут как с автомобилем. Вам не обязательно знать, как устроен дизельный двигатель, чтобы им пользоваться, — объясняет методист Яндекс.Лицея Александр Паволоцкий. — Наше обучение — это первая ступень на пути развития разработчика».

На занятиях не рассказывают, как устроена память в компьютере, зато учат справляться со сложными задачами и искать нестандартные пути решения 

Большинство курсов и кружков, связанных с программированием, сосредоточены либо на проектах, либо на олимпиадах и спортивных состязаниях, для которых нужны специфические умения. В Яндекс.Лицее говорят не о спорте, а о профессии.

«Если в спорте есть только одно правильное решение, то в жизни к задаче можно подойти по-разному, — говорит Александр Паволоцкий. — Предположим, вам нужно покрасить стену. Ее можно покрасить по-разному и при этом добиться правильного, хорошего результата вне зависимости от выбранного метода».

Язык программирования Python выбрали для курса с той же целью — он легче дается новичкам и широко используется в разных областях, в том числе в статистике и аналитике. «Неважно, кем ты будешь через пять лет, физиком, разработчиком или экономистом, но ты уже получишь огромное преимущество перед всеми своими сверстниками», — поясняет Марина Суслова.

Кроме того, Python хорош быстрыми результатами. «Ты можешь не быть профессиональным разработчиком, но сможешь написать несколько строк кода, и у тебя отобразятся молекулы на экране, или сможешь построить несложную нейронную сеть, чтобы она что-то спрогнозировала, — добавляет Александр Паволоцкий. — Python очень универсален. Он не идеален, завтра могут появиться более совершенные технологии. Главное, что у нас учат базовым элементам профессии». 

Боевые условия 

Все необходимое для учеников собрано в единую систему управления обучением — LMS. Задания, материалы учебника и диалоги с преподавателями находятся там. «Когда школьник начинает учиться в Яндекс.Лицее, у него есть компьютер, у него есть живой учитель, с которым можно пообщаться, и у него есть все современные инструменты коммуникации. Он может обойтись без тетрадок», — объясняет Марина Суслова. 

Задачи, главный инструмент проверки знаний лицеистов, тоже сформулированы не так, как привыкли в школе. Иногда условия неоднозначны и специально написаны в общих чертах, понять, что именно имел в виду автор задачи, можно благодаря примерам, которые прилагаются к каждому заданию. Лицеисты такие «не школьные» задания не любят, зато, прорешав их, получат преимущество перед сверстниками, которые, оказавшись на работе, будут искать однозначное решение, как в учебнике. 

Лицеисты становятся внимательнее к деталям, лучше читают условия задач, что оказывается полезно не только в IT — несколько выпускников рассказывали, что удивились, насколько легко им удалось сдать ГИА

Школа самостоятельности

Благодаря автоматической проверке кода в решении задач, ребята сразу понимают, что допустили ошибку, и могут попробовать ее исправить, не дожидаясь, пока учитель проверит решение, скажет, что оно неправильное, и просто поставит плохую оценку. Придется подумать головой. При этом попыток может быть много (один ученик попытался решить задачу перебором, выяснил, что попыток дается сто). Так происходит и с домашними работами, и с практикой в классе: пока кто-то, попав в тупик, тянет руку и ждет помощи от учителя, другой уже разберется с ошибкой, внимательно перечитает условия задачи, справится и пойдет дальше. 

Даже система внутреннего рейтинга лицеистов построена так, чтобы подталкивать детей к самостоятельному решению сложных задач

У них есть необходимый минимум заданий, которые нужно делать в классе и дома. Если выполнить их идеально, можно стать отличником, но далеко не первым в рейтинге. Дороже всего для рейтинга оказываются сложные дополнительные задачи. Их можно решать в свободное время, чтобы попрактиковаться и набить руку. Помогать с ними учитель не имеет права — только направлять. И чем больше задач ученик решил без посторонней помощи, тем выше он поднимается в рейтинге. 

Ученики привыкают рассчитывать на свои силы и не ждать, пока кто-то придет и поведет их за руку. «В жизни часто бывает, что продукт нужно улучшить, но никто не говорит тебе как. Нет готового решения, никто не написал тебе план, — объясняет Александр Паволоцкий. — Приходится самому придумывать метрики, проверять их, доказывать, что они работают. И если после изменений продукт действительно стал лучше, значит решение было правильным».