В. А. Матюхин, Доклад на конференции в Физтехе

From MathMoth
Jump to: navigation, search

Транскрипт доклада В. А. Матюхина на конференции в Физтехе.

Летняя Компьютерная Школа

Я расскажу о Летней Компьютерной Школе. Побывав у вас здесь [на конферкнции в Физтехе] в понедельник, я понял, что моя задача резко усложняется, потому что в этой аудитории, наверно, большинство из вас знает, что это такое. Я постараюсь сделать так, чтобы доклад оказался интересен тем, что успешно используется уже лет десять, расскажу чуть-чуть из внутренней кухни, расскажу чуть-чуть из того что мы пытаемся делать, ну а насколько это получается, судить скорее вам.

Летняя Компьютерная Школа создавалась как лагерь, в котором учат программированию но при этом в последнее время это действительно школа, и довольно серьезная. Школа существует на данный момент уже 12 лет. В последние годы у нас проводятся 2 летние смены и 1 зимняя.

Летняя смена — это около 200 участников в каждой из смен. Это 21 день на базе какого-то из лагерей.

Зимняя смена — это скорее порядка 100 участников, 10 дней в новогодние праздники, включая сам Новый Год. Но в зимнюю смену мы берем только школьников, которые были у нас летом. Зимняя смена — это некоторое дополнение, шаг в сторону, может быть. Это такое мероприятие для своих, но летняя смена абсолютно открыта.

Длительность школы — 21 день. Из них 17 учебных, день заезда, день отъезда и два выходных в течении смены. Каждый день устроен следующим образом: с утра с завтрака до обеда 4 обязательных часа занятий: 2 часа практики, 2 часа теории, а после обеда — спецкурсы. Всё послеобеденное время у детей. Они выбирают самостоятельно, как им распорядиться. Это спецкурсы, это возможность самостоятельно работать за компьютерами, это спортивные мероприятия. Это, наконец, возможность просто полежать в кроватке, подумать, осознать то, о чем рассказывалось, пообщаться с друзьями. После 5 часов компьютерные классы открыты, но но спецкурсы не проводятся; проводятся больше воспитательные мероприятия. После ужина компьютерные классы мы закрываем и чтобы дети увидели, что вокруг лето.

В течение смены проводится обязательно командная олимпиада и и в конце дети сдают очень большой зачет, который занимает 2 дня. Обычно 2 дня даются на подготовку к зачету, день они сдают теорию, а день сдают практику. А как показывает опыт, за эти 4 дня: 2 дня зачета и 2 дня подготовки к зачету дети осознают примерно половину того материала, что им рассказывалось. Вторую половину они понимают в процессе. Это очень важные дни и очень важно, чтобы ребенок на них оставался.

Зачисление

Зачисление у нас происходит по вступительной работе. Я в конце еще расскажу, на что мы обращаем внимание при поступлении. У нас довольно большой конкурс, но это зависит от того, как его оценивать. Заявки можно их считать очень по разному. В прошлом году в системе у нас зарегистрировалось 900 человек. Если выбросить тех, кто не справился указать свою фамилию — остается 700 человек. А дальше мы стараемся взять почти всех, у кого во вступительной работе написано что-либо разумное. Т.е. вступительная работа — скорее не способ конкурсного отбора, а заслон для тех, кому наша летняя школа не нужна, кто попал случайно, или у кого родители хотят, чтобы он туда поехал, а он сам не умеет или не хочет. Если отбросить нулевые работы, то остается около 550 человек. Дальше, выбрать 450 из 550 уже получается не очень жестко, хотя не всех, кого хочется взять мы все-таки взять можем. Мы берем 400 человек. Столько остается в списке зачисленных из 450, так как кто-то отказывается.

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

Учебный процесс

Мы делим школьников на учебные параллели. Учебная параллели — это то, что в школе называется «классы». Мы не привязываемся к классам, а делим школьников по уровню знаний, потому что в области программирования в каком классе школьник далеко не всегда определяет, что он знает и чему его надо учить.

За годы существования школы у нас более-менее выстроились программы учебных параллелей. Это не значит, что они такие и не меняются. Мы каждый год стараемся что-то менять, хотя костяк, видимо, уже выстроился.

Если считать по учебным часам, то надо умножать наши 17 учебных дней на 4 часа. Учебных часов больше в дни зачетов и олимпиад. Всего у нас получается больше 70 обязательных учебных часов, что вполне соответствует школе, где дается 2 часа в неделю. Это практически учебный год.

За счет интенсивности прочность знаний у нас гораздо меньше, чем в школе. Михаил Сергеевич правильно сказал, что очень многие школьники у нас тему услышали, но писать совершенно не научились. Мы на это идем совершенно умышленно, чтобы сильным школьники, которые к нам приезжают, не нужно было тормозить. А слабые школьники если захотят — разберутся, а не захотят — значит им это не надо. Вообще говоря, создавая летнюю школу, мы ориентировались на то, что некоторые школьники приезжают из регионов, где учиться почти не с кем, почти не у кого. И наша цель была дать им материал, чтобы целый год школьник мог его осознавать, и через год, прорешав те задачи, которые он не успел прорешать и разобравшись в своих лекциях, он бы приезжал опять и продолжал учиться. В реальности, большинству школьников есть где учиться и это сейчас не так актуально, но такая тенденция у нас осталась. Может быть, так и надо.

Теория — это обсуждение алгоритмов, оценка их сложности, обсуждение особенностей реализации, разбор задач.

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

В последние годы у нас появилась еще одна новая вещь — школьник сдает решение в систему автоматической проверки, и там решение получает не статус «OK» т.е. задача зачтена, а статус «Принято к проверке». После чего преподаватель вручную смотрит на программу и ставит ей либо «OK» либо «Отклонено». Так мы боремся за то, чтобы программы были красивыми. Иногда школьник сдает задачу раз 10, пока его код не будет принят, потому что преподаватель ему пишет: «У тебя в строке такой-то не хватает 2 пробелов». Школьник добавляет 2 пробела. Преподаватель говорит: «Ну теперь у тебя в следующей строке не хватает 2 пробелов,» и так далее.

Понятно, что стиль написания программ, где какие пробелы ставить — это вопрос часто очень вкусовой. И обычно он остается на на усмотрение преподавателей. Где-то преподаватели формулируют строгие правила и их вывешивают на страничках, что соответствует норме. Где-то они просто смотрят глазами и оценивают

Школьники у нас, как правило, пишут на тех языках, на которых они писали, когда к нам поступили. Кто пишет на Си — тот пишет не Си, кто пишет на Паскале — тот пишет на Паскале, кто пишет на Питоне — тот пишет на Питоне. Мы не переучиваем и не заставляем детей писать на каком-то языке. Мы не привязываемся к языку программирования при преподавании. Мы стараемся писать какие-то кусочки кода, если мы их пишем, или на каком-нибудь псевдокоде, или на одном из языков программирования. У меня в группе было четверо сишников и 8 паскалистов. Я строго чередовал языки и одну программу писал на Паскале, а другую на Си. Иногда мы с утра голосовали, на чем писать первую программу.

Работа с системой автоматической проверки

Системы автоматической проверки хорошо известны и здесь рассказывать много не нужно. Эта технология сейчас много где применяется, и мы ее тоже активно используем.

Учебные параллели

Исходно, у нас было 4 учебные параллели.

Параллель D предполагает начальное знакомство с языком программирования. То есть, грубо говоря, когда школьник что-то умеет, но массивы имеет право ещё не знать. Причем там есть жесткое ограничение. Мы туда берем, кажется, самый старший 8 класс. Иногда в виде исключения девятиклассников берем, но редко.

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

Параллель B — это некоторые продвинутые алгоритмы.

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

В некоторый момент нам этих параллелей стало не хватать и появились промежуточные параллели: C', B', и A'.

Что такое A' я сформулировать вообще не умею — это где-то между B и A.

C' - это параллель между D и C. То есть, школьник сортировку еще пишет неуверенно, но язык программирования все-таки более-менее знает. То есть массивы с ним проходить не нужно. В этом году в параллели C' был поставлен эксперимент. Всей параллели сказали, что да, конечно, здорово, что вы умеете на каких-то своих языках программирования писать, а мы вас сейчас всех научим Питону. И первые 2 или 3 дня были посвящены изучению Питона, А дальше пошел стандартный курс алгоритмического программирования, но уже с учетом этой специфики.

Про проект B' хочу рассказать чуть-чуть больше. Эта параллель позиционировалась как параллель для тех, кто в C уже учился, в B его брать не нужно, потому что писать он не научился. Эта параллель учит писать. Эта параллель, которая, как у нас говорят «выпрямляет руки», то есть если школьник всё вроде-бы понимает, а руки кривые и написать не может. Это главная параллель по выпрямлению рук. Там вроде-бы не проходят ничего нового и занимаются повторением материала из параллели C. Но повторением бывает с сюжетом. То есть они берут сюжет — задачи про вуз, и дальше у них идет много много задач про вуз, где возникает комбинаторика, какие-нибудь графы, и еще что-нибудь. Теория в этой параллели устроена так, что идет практика, дальше идет теоретическое занятие, на котором половину времени разбираются сегодняшние задачи — как их нужно было писать Половину времени разбираются завтрашние задачи — как их нужно будет писать. После этого школьники их пишут. У них это не получается. На следующий день им доразбирают задачи. Вот такой разбор задач и на этом фоне повторение тем, и изучение чего-то нового. Если смотреть по эффективности получения дипломов на заключительном этапе Всероссийской Олимпиады, то это почти наиболее эффективная параллель.

Ошибки при поступлении

Школьники склонны себя переоценивать. Стандартная ошибка при зачислении и у школьников, и у учителей: если мы смотрим заявку, и школьник пишет, что он хочет поступить в параллель B', то это всегда означает, что школьника надо брать в C. Если школьник пишет, что его надо брать в C, то его надо брать в C'.

Давным давно мы сделали один раз очень хитрую вещь. Когда у нас еще не было таких устоявшихся параллелей, мы ощутили проблему, что почти всех школьников надо брать на параллель ниже. Если всех школьников брать на параллель ниже, то они огорчаются, начинают писать слезные письма, что вот меня взяли не в ту параллель, и так далее. И мы параллель, которая должна была быть A назвали в какой-то год параллелью Z, и самых сильных школьников взяли туда. А дальше то, что должно было быть B мы назвали A, то что должно было быть C, мы назвали B. И в результате школьники по букве попали ровно туда, куда они хотели. Сейчас, когда параллели устоялись, если мы сделаем такую перенумерацию, все запутаются окончательно. Поэтому таких смелых шагов мы не делаем.

Но всем учителям я хочу сообщить — не стремитесь совать школьников в более сильную параллель. Пусть он попадет в параллель, где он половину материала знает. Зато он задачи сможет порешать. Задачи у нас такие, что если он материал знает, то еще не факт, что он задачи решит.

Если в школьном курсе я, рассказав какой-нибудь алгоритм сортировки, даю 5 задач, из которых четвертая — напиши сортировку а пятая — напиши сортировку с каким-нибудь условием, то в ЛКШ, если тема — квадратичная сортировка, то первая задача — это напиши сортировку, вторая задача — это напиши сортировку каких-нибудь 3 массивов по 3 ключам сразу, третья задача — там нужно еще сильно подумать, пока ты увидишь, причем тут сортировка, а четвертая задача — это вообще что-нибудь такое.

Поэтому, если школьник решает на практике 2 задачи, это уже хорошо. Но если школьник знал эту тему, он может решить 3 или 4. Ему будет про что подумать, не беспокойтесь.

Зато мы имеем несколько довольно плохих эффектов. Школьник поехал в C. Он чего-то там послушал, но программу не осилил. А на следующий год его в B' брать? Ну вот B' эту проблему как раз решает.

Ну допустим, взяли мы его в B', а он программу не освоил. Теорию может быть даже знает, а программы писать не умеет. На следующий год брать его в B — он там ничего не освоит. Если бы он поехал в С, то он спокойно бы эти темы прослушал, разобрался, и на следующий год его можно было бы брать в B'. Другой пример, школьник, семиклассничек, едет в C. Прекрасно. Восьмиклассничек едет в B. А девятиклассничек A, понятно что, не потянет. И мы вунуждены ему отказать. Или, хорошо даже, сильный школьник в 9 классе едет в A. А в 10 классе мы ему отказываем с формулировкой — слишком умный. В смысле, в A уже учился. У нас еще иногда бывает группа A0 для кандидатов на Международ. В эту группу ему еще совсем совсем рано.

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

Программа параллелей

Вот примерная программа параллелей. Я выписал программы параллелей B и C — взял список вопросов к зачету и чуть-чуть его сократил и объединил.

Обучение в D начинается: первая лекция —

  • стиль программного кода,
  • целые числа, условный оператор.

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

  • циклы, одномерные массивы, двухмерные массивы, символы, строки, работу с файлами, процедуры и функции.
  • линейный поиск и сортировку,
  • рекурсию,
  • поиск делителя числа, проверка на простоту, алгоритм Евклида.

И параллельно в параллели D идут такие математические темы которые сейчас стали знать хуже, может быть, чем было раньше.

  • системы счисления, признаки делимости, логика, графы, комбинаторика.

Параллель C — то же самое.

  • (Первая лекция, первые полчаса) правила оформления программ.
  • Структуры данных: стек, очередь, дек, куча;
  • Поиск линейный и бинарный;
  • Сортировки квадратичные, сортировка подсчетом и дальше алгоритмические сортировки: слиянием, быстрая сортировка, сортировка с помощю кучи;
  • Динамическое программирование (Это у нас 2-3 дня)
  • Перебор
  • Комбинаторика: генерация всех объектов, генерация следующего в иерархическом порядке объекта, генерация объекта по номеру, генерация номера по объекту; и рассматриваются разные комбинаторные объекты: перестановки, сочетания, правильные скобочные последовательности и ещё что ни будь.
  • Большой раздел графов: представление в памяти, обход в ширину, обход в глубину, топологическая сортировка, кратчайшие пути, Алгоритмы Дейкстры и Флойда.
  • Геометрия

Про геометрию идет некоторая борьба. Иногда ее из параллели C убирают, иногда добавляют. Причина добавление её в параллель C, заключается в том, что на олимпиадах часто бывают геометрические задачки, а если их вообще не знают, как писать то как бы надо потратить день или два, рассказать детям, чтобы они в этом месте не проваливались. С другой стороны, когда у нас в параллели C бывают 7-8-классники то тема геометрии идет у них очень тяжело, и в этом смысле ее хочется из параллели C вынести выше

Готовясь к сегодняшнему рассказу, я обнаружил, что у нас на самом деле нигде в реальности наша учебная программа не выложена и сделал некоторый шаг в этом направлении. На сайте http://lksh.ru мы вчера выложили страничку со ссылками на видео-курсы лекций ЛКШ. В 2008 году на нас вышел интернет-университет «Интуит», и их операторы приехали, всю летнюю школу жили у нас и записывали на видео наши лекции в таком виде, как оно есть. Дальше они разбили это по лекциям, написали оглавление, и у них на сайте это есть. Кажется, у них можно заказать диск, но это платно, а с сайта можно получить бесплатно. Ссылки на те курсы, которые были в 2008 году сейчас у нас на сайте размещены. Мы постараемся в ближайшее время, ну может быть через год, разместить примерные учебные программы параллелей. Чтобы было проще ориентироваться при выборе параллели, куда поступать. Видео-лекции, может быть, окажутся полезными, но имейте в виду — это лекции, которые читались так, как они читались. Их никто специально не делал так, чтобы это было шедевром. Если в этот день преподаватель не выспался, то значит вы наблюдаете в течение 2 часов невыспавшегося преподавателя. Конечно, к этим курсам было бы полезно иметь и наши практические задачи. Если у кого есть деньги в летнюю школу, то всегда в конце смены мы выдаем диск с архивом. Публично мы наши задачи не публикуем, хотя никакого секрета в них нет.

В этом году у нас есть 2 экзотические параллели, причем одна из них уже существует уже 2 года.

Параллель компьютерной безопасности — это результат того, что некоторые студенты, довольно близкие нам, один из которых наш выпускник, занимающиеся в университете компьютерной безопасностью и участвующие в соревнованиях по компьютерной безопасности, вышли на нас и предложили научить этому школьников. Они набрали параллель и чему-то там их учили. В нашей учебной структуре эта параллель находится примерно на уровне параллели B. То есть практику дети должны сдать такую же, как в параллели B.

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

Признаком того, что школьников учат в этой смене было 2 факта. В некоторый момент в параллели K мы обнаружили, что кто-то Интернет имеет, и поняли, что их чему-то учат. А второе, когда мы обнаружили, что параллель K действительно чему-то учит, был случай с одним из наших преподавателей, который является ещё и сотрудником сайта «ВКонтакте». Он обнаружил, что его аватор ВКонтакте изменился, причем он сам ее не менял. Выяснилось, что школьники параллели K поймали летающую через WiFi информацию с куками от ВКонтакте и с помощью этого получили доступ к его страничке, выдали себя за него и поменяли ему фотографию. (Реплики: Выгнали? Преподавателя? И после этого ваши компьютеры еще работают? Ну зачем им ломать, наоборот.)

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

Другой интересный наш эксперимент — 'параллель промышленного программирования'. На самом деле, понятно, что всё олимпиадное программирование — это некоторая вырожденная сфера. Я выражу сейчас свое личное мнение, что школьные олимпиады позволяют заинтересовать школьников, привлечь их к изучению программирования и теории алгоритмов. А дальше есть такое логическое продолжение — студенческие олимпиады. Школьники, привыкшие играть в олимпиаду, продолжают играть в студенческую олимпиаду. Хотя на самом деле студенческие олимпиады давно выродились в некоторый довольно специфический профессиональный спорт.

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

Нашлись школьники, учившиеся уже в параллели A, сказавшие: «Мы этого не хотим. Мы хотим продолжать решать олимпиадные задачи». И у меня был культурный шок. Я начал довольно сильно опасаться, а то ли мы делаем в области олимпиадного программирования.

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

Требования к поступающим в параллель были довольно высокие, а именно, это был аналог параллели A. На этом уровне писать программы уже более менее умеют. Ну вот, мы собрали детей и в течение смены писали с ними некий программный продукт, который так или иначе заработал к концу смены. В качестве преподавателей в этой параллели работали Владимир Михайлович Гуровец, который устроился в местный Google, и известен как школьный учитель, много что сделавший в области олимпиадного программирования. А также сотрудники фирм «Яндекс», «Google», «ВКонтакте», то есть люди, которые умеют делать сами промышленное программирование.

Программирование шло на Питоне. При этом дети этого уровня, как показала практика, за день его освоили. То, что это был Питон им особых проблем не доставило.

Внеучебная деятельность

Школа популярна не только по своей учебной но и тому, что происходит после обеда, и собственно, внеучебное. И это, на мой взгляд, немаловажный факт того, что мы делаем. С обеда до ужина компьютерные классы открыты и доступны школьникам для дорешивания задач. У нас каждый день 2-3-4 спецкурса в параллели, спортивные игры, кино-, музыкальные и танцевальные клубы, ну и свободное время. Мы не обязываем детей куда бы то ни было ходить. При этом, школьники приезжающие в первый раз как правило тратят время на дорешивание, на хождение на спецкурсы или на отдых в домике. А приезжающие во второи и третий раз обнаруживают, что в ЛКШ много всего интересного.

Проблемах школьника: «Я хочу сюда, сюда, и сюда. Как мне быть. Не разорваться же.» То, что мы параллелим много разных интересных мероприятий, это наша принципиальная позиция, потому что в каждом мероприятии кому-то может быть интересно. Мы стараемся создать ситуацию, чтобы у школьника было минимум времени, когда ему скучно. У него в каждый момент был выбор, что он может пойти туда, сюда, или сюда. То есть, сначала мы думали: «Но вот это же интересное мероприятие. Его не надо ни с чем параллелить.» А потом пришли к тому, что всегда всё должно быть несколько разных возможностей.

Что такое спецкурс? Спецкурс — это всё, что угодно. Это сюжеты из математики или теории алгоритмов, не вошедшие в основные курсы. Очень много спецкурсов по разным языкам программирования: Дельта для паскалистов, C++ для паскалистов, Питон, PHP, всякая экзотика типа BF. Бывают спецкурсы по физике, бывают по лингвистике, бывает даже первая медицинская помощь. У нас врач посмотрел, посмотрел и сказал: «Давайте я тоже прочту спецкурс.» Веревочный курс — это когда детей на первом занятии учат вязать узлы, на втором занятии учат залезать на сосну, а на третьем занятии (Реплика: учат слезать с сосны) учат ходить с сосны на сосну по веревке.

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

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

Во вторых, в ЛКШ принято учиться. В ЛКШ не принято: «О, занятия кончились! Ура! Побегу.» У нас бывают дети, которые приезжают сюда пообщаться. Действительно, занятия кончились и они пошли заниматься всякими внеучебными интересными делами. Но в общем и целом в ЛКШ учиться принято, и это «принято» передается от старших к младшим. Младшие приезжают. Параллель D у нас бывает очень разная. Но они чувствуют общую атмосферу и считают, что здесь так принято. Второе, у нас нет отдельных воспитателей. У нас преподаватели являются воспитателями.

Наша учебная параллель часто состоит из нескольких групп. Учебные группы имеют от 10 до 15 человек. На группу приходится 2 преподавателя. Как правило, старший преподаватель — это тот, кто уже умеет читать лекции. Это студенты старших курсов, аспиранты, преподаватели. Младшие преподаватели — это студенты младших курсов, как правило, наши выпускники. Они лекции читает плохо, но им доверяется читать лекции, чтобы они учились. Они те, кто помогает детям на практике, те, кто основной наш моторчик всякой внеучебной жизни. И поскольку преподаватели проводят со школьниками весь день.

Вот сейчас преподаватель пошел на веревочный курс. Школьники заинтересовались: «Что это» и пошли вместе с ним. Если преподавателю что-то интересно, то школьники это довольно активно подхватывают.

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

Уникальность еще в том, что к нам приезжают школьники из разных регионов. Они приезжают своими региональными компаниями. Мы селим школьников по учебным параллелям. То есть, мы региональные компании довольно сильно разбиваем. Дальше школьник общается со своей параллелью, общается со своим регионом, общается с друзьями своих друзей из своего региона. А дальше получается так, что когда у нас в зимнюю смену, например, приезжают школьники, которые были в разных летних сменах, то проходит день, и опять все всех знают. За счет того, что из регионов ребята ездят в разные смены, но знают друг друга. Вот это всё мгновенно происходит. Если на человеке футболка ЛКШ на любом мероприятии, то к нему можно подойти пообщаться. Атмосфера общая.

Поступление

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

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

Важно заполнить тематическую анкету очень честно. Тогда и учебная параллель будет определена правильно, и относиться к вам будут нормально.

Вступительная работа состоит как правило из 2 частей: из теории и практики, и важно порешать и ту, и другую. Теория — это обычно 3-4-5 задачек по математике или теории алгоритмов. Там обычно бывает и то, и другое. И мы смотрим, насколько ребенок не только умеет писать программы, но что он пишет в решении задач, насколько он умеет обосновывать свои решения. Если там написан только ответ, то это очень плохое решение. К сожалению, в последнее время мы вынуждены брать детей, если у них хотя бы одна задача теории решена. Вот если ни одной задачи теории нормально не решено, то это отказ, даже если у него вся практика решена.

Практику они сдают в проверяющую систему. Она проверяется в режиме реального времени проверяется, и там можно понять, сколько решено. Мы не требуем решить всё для своей параллели. Опять же, если решена только одна практика, ребенка не берем в лагерь.

Теоретическая часть проверяется потом, и школьники не видят, что они написали. Я вам честно скажу — это ужас.

Но опять же, у нас нет никаких строгих формальных критериев. Мы проверяем о ребенке неформально всю информацию, которая у нас есть: участие в олимпиадах, его класс, его регион его тематическую анкету, его практику, его теорию. Всё это смотрится в совокупности. Если у ребенка слабая вступительная, но он из экзотического региона, то есть из региона, откуда детей почти не бывает, то мы его берем с большей вероятностью, чем ребенка из СНУЦ МГУ, который ничего не знает. В СНУЦ МГУ у него куча возможностей учиться, и в этом случае он получит отказ с большей вероятностью.

Стандартная ошибка, которую совершают год из года — поделиться решением или сдать чужую программу. Или где-нибудь на форуме написать: «Люди, а как решается такая задача». Дальше на форуме получить какое-нибудь решение. Дальше с этого форума 3 человека его взяли и сдали. Так же как на заочном туре открытой олимпиады по программированию, мы в конце делаем автоматическую проверку на списывание. А именно, мы все программы сравниваем друг с другом на похожесть. Сначала в автоматическом режиме, а потом те программы, которые похожи просматриваем глазами.

Как правило, если у 2 детей программы похожи, то у них похоже больше одной задачи Сначала, когда идет автоматическая проверка, школьники идентифицируются вообще по номерам. Когда эти номера начинаешь расшифровывать, всегда оказывается один и тот же регион. Совпадение не значит идентичность. Дети пытаются шифроваться: меняют переменные, меняют структуру. Но мы тоже умные. У нас автоматическая проверка много чего отслеживает. Пусть вступительная работа будет не такой сильной, но нас интересует, чтобы она была сделана самостоятельно.

Опять же очень массовая проблема — всё делать в последний момент. Проверено, в последний день количество заявок часто удваивается. Но если в ЛКШ надо порешать вступительную работу, то в последний день проверяющая система работает очень очень интенсивно. По традиции, мы в последний день часов в 6 вечера объявляем что ребята, мы идем к вам навстречу и продлеваем срок приема вступительной работы на 2-3-4 дня. Это многим помогает. Но всё равно всегда находятся опоздавшие.

Набор у нас в апреле. У нас обычно дается 2-3-4 недели на заполнение заявки. Это активный олимпиадный срок, когда дети ездят на всякие всероссийские олимпиады. И дальше они начинают нам писать слезные письма, вот я неделю был на Всероссийской олимпиаде, поэтому не усрел решить задачу. Пожалуйста продлите мне срок сдачи задачи. Наша вступительная рассчитана на то, что ее выполняют 2-3 дня максимум. При том, что на нее дается 3-4 недели. Поэтому все эти слёзные письма мы игнорируем.

Стоимость

Теперь я расскажу вещь, которая совсем инсайдерская. Стоимость путевки у нас, для тех, кто не знает, в этом году на летнюю смену, 21 день, была 27000 рублей. В зимнюю смену, на 10 дней, была — 14000 рублей Много это или мало и как оценивать.

Эта стоимость рассчитана из того, что путевка покрывает полностью всё. В нашей летней школе на 4 детей приходится 1 взрослый. И естественно, со взрослых мы не берем ничего, и даже платим какую-то символическую зарплату преподавателю. Естественно, это бремя ложится на детей.

С другой стороны, в последние годы у нас появляются какие-то спонсоры. И мы предоставляем скидки, во первых, за олимпиадные успехи. Как правило, в зачет идут Открытая Олимпиада по Программированию, Московская Олимпиада по Информатике, Всероссийская Олимпиада по Информатике. Больше скидок дается москвичам просто потому, что у нас есть целевое московское финансирование. Но, в общем, и школьникам России мы какие-то скидки предоставляем.

А дальше у нас есть такое понятие, как социальная скидка. Если у школьника тяжелое финансовое положение То его родители пишут нам email, и как-то указывают нам причины. Просто нет денег — такое заявление имеет очень мало шансов. Но если ребенок без отца, или известно, что родители работают в селе таком-то в бюджетной сфере, а ребенок еще имеет какие-то олимпиадные успехи, то такое письмо имеет большие шансы, что мы за счет спонсорских средств, которые у нас есть в ограниченном количестве, скидка будет предоставлена. мы не предоставим скидки всем, кто просит, но в рамках имеющихся средств мы стараемся скидки предоставлять. И в общем, стараемся сделать так, чтобы школьники содержательно хорошие к нам попадали.

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

Мы не требуем никаких формальных справок или заявлений и действуем здесь довольно неформально. И стараемся всегда искать какие-то варианты и помогать детям.

Наши участники

У нас есть неформальный сайт [1], по фамилии одного из наших теперь преподавателей, а бывшего ученика Антона Полднева. Неформальный — значит совсем неофициальный. Он создан Антоном Полдневым, который поднял с сайта списки зачисленных за все годы, кроме первых 2 лет. По тем годам, где удалось найти диски с фотографиями всех участников, он все фотографии тоже закачал себе в систему. У него есть полный алфавитный список всех людей, которые когда-либо были в ЛКШ с фотографиями и с указанием, в каких сменах и в каком качестве они были. Сейчас в базе 3692 фотографии и 1695 людей включая школьников и преподавателей.

ЛКШ в рекламе не нуждается

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

Сначала мы отказываем тем, кто не заполнил фамилию, потом тем, у кого нет вступительной потом доходим до того, что у нас остается примерно 550 человек, когда разумные критерии уже кончились а мест 450. Ста людям мы отказываем.

Мы не увеличиваем стоимость. Хотя можно было бы легко регулировать просто подняв стоимость так, что заплатить готовы ровно столько человек, сколько нам нужно. Однако, поднимая стоимость, мы сменим контингент людей, на которых мы ориентируемся. Мы будем очень рады, если где-то будет создано что-то аналогичное.

Выбор лагеря

Мы пробовали проводить ЛКШ в разных разных местах. Мы остановились на том, что в этом году у нас 2 смены прошли на базе отдыха «Берендеевы Поляны» Костромской области. И в следующем году обе смены видимо будут там же. Мы пробовали проводить в Подмосковье, на базе учебных центров. Мы пробовали проводить на базе лагеря в Саратовской области. К сожалению, мы сталкивались с тем, что на базе лагеря почти всегда есть проверка СЭС, а им надо, чтобы всё было идеально. То, что у детей занятия, никого не интересует. Вот сейчас к нам приезжает СЭС, поэтому все дети бегут заправлять кровати. Когда СЭС приезжает, никого в компьютерном классе быть не должно. И много других проблем.

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

А база отдыха «Берендеевы Поляны», с которой мы работаем с 2005 года в свое время была приобретена некоторыми нашими коллегами с тем, чтобы проводить там разные летние школы. В другое время там проводятся другие летние школы. Сейчас там разумный директор. Там всё сделано под то, что нужно было приятно работать. Там действительно хорошо. (Реплика: там негде купаться.)

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

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