Привет хабраюзер, меня зовут Климов Николай и сегодня я расскажу вам о нашей школе - Летней Школе Юных Программистов имени А.П. Ершова (сокращенно ЛШЮП). Она довольно известна в узких кругах (в основном в IT и университетской тусовке Новосибирска), но на хабре о ней мало кто слышал. Пришло время исправить этот недочет.

Шутка ли, первая наша школа проводилась в далеком 1976 году. Я думаю, что мы самая старая действующая школа программирования в России. Возможно даже и в мире (но тут не поручусь, этот факт нужно исследовать).

Чем мы отличаемся от других школ

"Мы не учим, мы создаем обстановку, чтобы Вы научились сами." - Один из наших негласных принципов

В обычных школах программирования обучение выглядит примерно так. Есть расписание, стандартный план занятий. Ученики слушают лекции, изучают на них алгоритмы и структуры данных. После лекции идет семинар, где они в группе ~10-15 человек на практике пробуют какой-то язык программирования, решают задачки. После занятий возвращаются домой с домашним заданием. К концу школы пишется индивидуальный проект или, если школа с олимпиадным уклоном, проходит олимпиадный контест.

У нас все по-другому.

Утром все выходим на линейку, узнаем последние новости и расписание на день
Утром все выходим на линейку, узнаем последние новости и расписание на день

Начнем с того, что у нас нет никаких домашних заданий, так как нет никакого дома. На время школы преподаватели с учениками выезжают на 2 недели в какой-нибудь лагерь, где едят, программируют, разговаривают, развлекаются вместе. Фактически находятся друг с другом 24/7.

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

Моя мастерская в процессе работы
Моя мастерская в процессе работы

Базовая ячейка школы - мастерская. В мастерской "мастер" (иногда вместе с "подмастерьем") анонсирует проект, которым они собираются заниматься. Все ученики школы в первый день выбирают в какой мастерской они хотят работать следующие 2 недели. Обычно в школе обучаются чуть меньше 100 учеников на ~17 мастерских. В среднем на мастерскую приходится 4-6 учеников, больше 6 на мастера брать не позволяем.

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

Благодаря такой свободе у нас огромное количество самых разных проектов. Каждый год у нас есть мастерская на лого для ребят 4-6 классов. Есть большой костяк "мастерских начального уровня". Так мы между собой называем мастерские, в которых ребята изучают первый "серьезный" язык и пишут какой-то нетривиальный проект. Популярный пример такой мастерской - написание архиватора Хаффмана на Си. И есть мастерские для более опытных, где частенько пишутся довольно крутые проекты. В них обычно попадают ребята, которые ездят к нам не первый год (а таких очень много).

Мастерская @YuriPanchul в 2017
Мастерская @YuriPanchul в 2017

Некоторые примеры тем мастерских:

  • Клон игры DOOM на ascii символах в терминале.

  • Создание своих микросхем на Verilog.

  • Множество мастерских по написанию компиляторов и интерпретаторов.

  • Система по автоматическому доказательству геометрических теорем.

  • Разные приложения генетических алгоритмов.

  • Реализация Forth-машины для микроконтроллеров.

  • 3d рендер на CPU по замечательным статьям @haqreu (https://habr.com/ru/post/248153/).

  • Управление и решение задач на Lego NXT.

  • Каждый год есть несколько мастерских по геймдеву. От простых flappy bird клонов, до сетевых игр или мирами с процедурной генерацией. Часто с самописными же движками.

И ещё много-много всего.

Жизнь ученика на ЛШ

Расписание типичного дня в ЛШЮП
Расписание типичного дня в ЛШЮП

Как видите, большую часть дня занимает работа в мастерской. Бывает к нам приезжают лекторы из города и в 12 часов начинается общая лекция. Лекции бывают самые разные. Кто-то читает про архитектуру компьютера или интересные алгоритмы. А кто-то рассказывает о вещах из других областей - биология, биоинформатика, физика.

После ужина наступает свободное время. Кто-то смотрит фильмы (мы показываем что-нибудь хорошее на проекторе), кто-то играет в настолки или на улице. А кто-то продолжает работу в мастерской. Это уже не обязательно, но всегда находятся несколько человек, кто будет фигачить проект все свободное время (сам был таким).

Но это не вся активность. На 3-4 день у нас проходит мероприятие "показ визиток". Каждая мастерская готовит сценку или юмористическую постановку на тему того, что они делают в мастерской.

А в середине школы наступает выходной день, как же без него? В этот день мастера организуют разные спортивные состязания и игры. Но главным мероприятием всегда было КВН, где несколько команд от учеников соревнуются с командой мастеров в юморе.

Ученики стараются выиграть КВН
Ученики стараются выиграть КВН
Мастера не отстают =)
Мастера не отстают =)

Но развлечения развлечениями, а главное все-таки работа в мастерских. И ближе к концу школы все начинают потихоньку напрягаться, так как подходит дедлайн - сдача проектов. Все ветки мерджатся в мастер (обязательно с криками "да откуда опять конфликт!"), в срочном порядке фиксятся баги, проект проверяется на работоспособность, по необходимости вставляются костыли. В общем обычная предрелизная чехарда.

В последний день школы у нас проходит конференция. К ней ученики готовят презентацию, где рассказывают что они делали, что получилось и что не успели.

(Проводить конференцию в удаленном формате было в новинку, получилось много накладок. Из плюсов - впервые осталось видео процесса. В описании видео есть таймкоды)

После конференции проходит некая официальная часть, учеников награждают грамотами, а особо отличившихся дипломами. Потом наступает последнее мероприятие - вечерний костер. Ради него даже отбой сдвигается на один час.

К сожалению, в последние годы противопожарные правила в лагерях ужесточились и настоящий костер больше устраивать нельзя (фото 2012 года). Но песни под гитару, общение остались, а это главное.
К сожалению, в последние годы противопожарные правила в лагерях ужесточились и настоящий костер больше устраивать нельзя (фото 2012 года). Но песни под гитару, общение остались, а это главное.

А как вы справляетесь в ковидные времена?

Много того, о чем я написал, касается именно оффлайн школы. К сожалению, последние 2 года мы живем немного в другом мире.

Если сказать кратко - было непросто. Отсутствие четких планов, индивидуальный подход, "зажигание" учеников - все это очень здорово, но плохо переносится на удаленный режим. Лично мне больше всего не хватало живого общения на темы не касающиеся проекта напрямую. Часто бывало так, что я начинал рассказывать про работу рекурсии и стека, но ученикам было скучно и рассказ как-то сам переходил на техники взлома через stack overflow и защиту от них. На удаленке сложно заводить разговор "не по теме".

Для удаленной работы пришлось сильно перестраиваться. Слишком молодых не брали (только после 7 класса) и вообще сократили количество учеников, подбирали темы мастерских для асинхронной работы (где можно просто объяснить что делать и заниматься уже ревью PR с периодическими созвонами). В целом эти школы 2020-2021 прошли довольно неплохо, но её дух был все-таки не тот.

А что в этом году?

В этом году мы, наконец-то проведем школу вживую! Правда есть нюансы. До последнего не было понятно сможем ли провести оффлайн школу, а когда поняли, что можем, уже не успевали договориться с лагерями (обычно этим начинаем заниматься ещё весной). Поэтому у нас будет не "круглосуточное" обучение, а дневное, на базе центра "Альтаир" Академгородка. Количество мастерских в этот раз тоже будет чуть меньше, чем обычно (но больше, чем в ковидные времена).

Школа будет проходить в 2 этапа. 11 июля начнется "подготовительный этап", на котором будут онлайн лекции по языкам. 15 числа будет проходить "олимпиада", по результатам которой ребята будут зачисляться в мастерские. Основной этап школы - с 18 июля по 30 июля на площадке центра "Альтаир", Новосибирск.

Подробности и контакты можно узнать на сайте - https://ssyp.ru

Заключительные мысли

Я сам был учеником в ЛШ в далеких 2007-2009 годах. А потом, как поступил в вуз, начал ездить уже в роли мастера. И моя история тут не уникальна, почти все мастера были учениками этой школы, а большая часть учеников ездит много лет подряд. А это лучший показатель того, что ребята довольны. Мне кажется учредителям школы удалось создать (а нам сохранить) свою особую атмосферу обучения.

Если искать аналогии этой атмосферы, то мне постоянно в голову приходит НИИЧАВО. Место где помимо непосредственно знаний, ты зажигаешься интересными задачами и ещё более интересными людьми вокруг тебя. Место, где работая, приходит понимание, что ты вполне способен делать крутые вещи, которые раньше казались волшебством.

Если думаете чем занять своих детей на каникулах, welcome.

Комментарии (11)


  1. andrejjm78
    21.06.2022 15:33
    +4

    Самая древняя детская школа программирования - это ЗШЮЛК (заочная школа юных любителей кибернетики) при Малой Академии Наук Крыма "Искатель". Летние лагеря еще в 60х годах были. Я был в 1979г самым младшим на летних сборах. Занятия на летних сборах были чисто теоретические, ЭВМы были очень большими и при больших организациях. А вот море и горы вокруг Партенита (п. Фрунзенское) - это незабываемо, в следующие годы я научился без штопора открывать винишко, мы нашли лазейки на генеральские пляжи при военных санаториях... Хорошо, что не убились на склонах Медведь-горы. Еще хотели добраться до артековцев и поколотить их, чтоб не задирали носы, но не вышло. А вот от местных хулиганов получили... Дяденьки из института кибернетики, конечно, много интересного рассказывали о науке, но пацаны есть пацаны.


    1. myxo Автор
      21.06.2022 18:32
      +1

      Интересно, не знал о ней. В 70е вообще было немало интересных проектов по взаимодействию научных институтов и школы.


      1. andrejjm78
        21.06.2022 21:43

        Основная книжка "Введение в кибернетику" Касаткин В.Н. 1976г. Изучали системы счисления, Булеву алгебру, логические схемы (И-НЕ, триггеры, счетчики...), составление алгоритмов, языки были ФОРТРАН, АЛГОЛ, что-то еще. Машины Тьюринга и Поста, алгоритмическую систему Маркова... А программы писали на Фортране, это переносилось на перфокарты... Какая-нибудь БЭСМ чего-то распечатывала. Это не то что сейчас...


      1. req
        22.06.2022 16:52

        Всё так, проектов и экспериментов было много, а школ не осталось...
        так что ЗШЮЛК не считается в контексте вашей статьи.

        Тут школа проводилась более 40 раз. Ничего подобного нигде нет


    1. req
      21.06.2022 20:50
      +1

      Какие задачи решали, на какой технике работали тогдашние пацаны?


      1. andrejjm78
        21.06.2022 21:47

        персоналок не было, были БЭСМ, я успел даже поиграться на многопроцессорном "Эльбрусе" с водяным охлаждением. на микросхемах 100 и 133 серий.


  1. Delsian
    21.06.2022 17:11
    +2

    Перепись старперов. :) Преподавал в 1988-1991 годах, там же впервые вживую увидел Цивилизацию Сида Мейера :)


    1. myxo Автор
      21.06.2022 18:34
      +1

      Тут ещё можно YuriPanchul позвать, а то, кажется, хабр сломал упоминание юзеров в статьях.


      1. YuriPanchul
        21.06.2022 18:37

        Я получил


  1. seerIgorS
    21.06.2022 18:23

    Если ребенок поедет из другого города (в 2000 км от Новосибирска) , то проживание и питание будет за счет родителей?


    1. myxo Автор
      21.06.2022 18:29
      +1

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