StudArctic Forum 4 (4): 14 - 19, 2016
DOI: 10.15393/j102.art.2016.621 УДК 374
http:// saf.petrsu.ru
Деятельность Клуба творчества программистов в обучении школьников
Алькин Руслан Валерьевич Студент
Петрозаводский государственный университет
Петрозаводск, Россия
Аннотация. В статье описана инновационная практика взаимодействия школьников и студентов в обучении олимпиадному программированию, осуществляемому Клубом творчества программистов ПетрГУ. Обобщён опыт коллективной работы студентов по организации образовательных программ, интеллектуальных соревнований, летних школ и других форм раннего приобщения детей к освоению программирования и математики.
Ключевые слова: дополнительное образование детей, олимпиадное программирование, Association for Computing Machinery (ACM, Ассоциация Вычислительной Техники), творческие задачи, сезонные школы по программированию, профориентация, мотивация к обучению.
The club of programmers arts activity in school education
Alkin Ruslan Valerjevich Student
Petrozavodsk State University Petrozavodsk, Russia
E-mail: [email protected]
Abstract. This article describes an innovative practice of interaction between pupils and students in training Olympiad programming which is carried by Club of creativity of programmers in PetrSU. The experience of collective work of students on the organization of educational programs, intellectual competitions, summer schools and other forms of early initiation of children to the development of programming and mathematics is generalized in this text.
Keywords: additional children's education, Olympiad programming, the ACM, creative tasks, seasonal school programming, career guidance, motivation to learn.
Предпосылки появления потребности в дополнительном образовании
Знаний, которые даются в школе, не всем ученикам достаточно, многие хотят изучить что-то выходящее за рамки стандартной программы или углубиться в какую-то иную тематику, их интересующую. Так есть кружки по математике, по шахматам, а есть олимпиадное программирование. Это достаточно молодая сфера, обусловленная, прежде всего, математикой и возникновением компьютеров. Олимпиадное программирование помогает думать, рассуждать и формализовать свои идеи. Этого зачастую не хватает школьникам. Кроме того, оно показывает школьникам современные тенденции в передовой сфере, коей являются IT.
Организация дополнительного образования в ПетрГУ
Федеральным государственным бюджетным образовательным учреждением высшего образования "Петрозаводский государственный университет" (ПетрГУ) совместно с
StudArctic Forum 4 (4): 14 - 19, 2016 ISSN 2500-140Х
http://saf.petrsu.ru
государственными и муниципальными учреждениями дополнительного образования детей и школами в 2016 году создано объединение «STEM-кластер системы дополнительного образования Республики Карелия» (далее - Кластер) как добровольное объединение образовательных организаций, общественных объединений, учреждений различных организационно-правовых форм и форм собственности, основанное на принципах равноправия, коллегиальности принимаемых решений и общей ответственности за их результаты, осуществляющее свою деятельность в соответствии с законодательством Российской Федерации, нормативными правовыми актами Республики Карелия и Петрозаводского городского округа в области образования, уставами организаций, входящих в Кластер. Одним из ключевых звеньев созданной организационно-управленческой модели является государственное бюджетное образовательное учреждение дополнительного образования Республики Карелия «Ресурсный центр развития дополнительного образования» (ГБОУ ДО РК РЦРДО Ровесник), который на протяжении многих лет поддерживает программы и проекты Клуба творчества программистов ПетрГУ.
Чему учит Клуб творчества программистов
Клуб творчества программистов (далее - КТП) занимается обучением студентов и школьников в области олимпиадного программирования, а также подготовкой и проведением олимпиад и чемпионатов по спортивному программированию, международных сборов (для тренировок команд к чемпионату мира). Олимпиадное программирование - это решение математических задач, решение которых выражено через написание программ.
Есть три основных компонента, которые необходимы для олимпиадного программирования. Первое - это задачи. Для обучения студентов и школьников участники КТП придумывают задачи. Задачи часто имеют оптимизационный характер, также это может быть задача на комбинаторику, теорию графов, аналитическую геометрию, теорию кодирования и т.д. Второй компонент - участники, которые решают задачи. Для этого им необходимо прочитать условие, составить математическую модель, изучить теорию, необходимую для решения поставленной математической задачи, решить её, то есть составить алгоритм, который делает то, что просят. Третьим компонентом является система, расположенная на удалённом сервере, которая будет проверять правильность решения участника, то есть запускать программу, которую участник отослал на проверку, с разными входными данными.
У КТП есть своя тестирующая система, написанная чемпионом мира ACM Денисом Денисовым, расположенная на своём сервере. Она проверяет решения участников по различным задачам, информация о которых есть на сервере. Все задачи, которые там есть, придуманы участниками КТП. Под информацией о задаче подразумевается следующее: условие задачи (в формате latex), авторское решение (на каком-либо языке программирования, поддерживаемом сервером), чекер - программа, которая проверяет решение участника по данной задаче, генератор - программа, которая генерирует входные данные, на которых будет тестироваться решение участника.
Для обучения школьников КТП проводит занятия в течение года два раза в неделю. На них ребятам рассказывается математическая теория, которая им пригодится в решении задач. Так же ребята решают задачи, расположенные на сервере КТП, в этом им также помогают на занятиях. Без решения задач теория будет достаточно бесполезной, так как она не запомнится.
Кроме этого, каждый год, начиная с 2001 года, КТП проводит «Карельскую летнюю компьютерную школу» - специализированный профильный лагерь для обучения основам олимпиадного программирования школьников.
Большая часть школьников имеет проблемы с выражением своих мыслей, с их формализацией. В клубе творчества программистов (КТП) решения задач, проявление творчества, выраженного в подходе решения нестандартной задаче, необходимо оформить в виде программного кода, поэтому формировать свои мысли чётко участники так или иначе
15
StudArctic Forum 4 (4): 14 - 19, 2016 ISSN 2500-140Х
http://saf.petrsu.ru
научатся. Практика работы со школьниками показывает, что, прорешав определённое число задач, взгляд ребят на окружающий их мир меняется. Они начинают задумываться о многих вещах, подмечать детали, видеть математику в окружающем их мире. Помимо участия в олимпиадах различного уровня, к которым КТП несомненно подготавливает школьников, основной целью можно назвать раскрытие глаз современных школьников на математику и использование компьютера как средство, помогающее в решении задач.
Кто учит в Клубе творчества программистов
Петрозаводский государственный университет занимает ведущие позиции в сфере IT-образования России. О высоком качестве подготовки выпускников университета, работающих в IT, свидетельствуют многочисленные положительные отзывы работодателей, а также опубликованные данные исследовательского центра Superjob: ПетрГУ вошел в топ-20 лучших вузов России на основе сравнения среднего уровня доходов специалистов, получивших дипломы российских вузов в период с 2009 по 2014 год. Востребованность и успешность лучших программистов, подготовленных в Петрозаводском государственном университете, определяется не только высоким уровнем приобретённых знаний и умений, но и такими компетенциями как креативность, развитое критическое мышление, умение решать нестандартные задачи и логически мыслить, навыки командной работы.
Высокий уровень интеллектуального и личностного потенциала студентов ПетрГУ, обучающихся по направлениям бакалавриата и магистратуры в сфере IT, достигается не только в учебном процессе, но и благодаря сложившейся в университете системе поддержки идей и начинаний студентов, преподавателей и творческих коллективов.
В 1998 году по инициативе Владимира Алексеевича Кузнецова, профессора кафедры прикладной математики и кибернетики математического факультета ПетрГУ, в университете сложилась группа студентов и молодых преподавателей, увлекшихся олимпиадным программированием - Клуб творчества программистов.
Начавшись 20 лет назад с первых тренировок студентов Петрозаводского университета, спектр коллективной деятельности клуба постоянно расширялся: в него вошли школьные олимпиады, включая организацию городских этапов Всероссийской олимпиады школьников по информатике, летние компьютерные школы для детей, сборы, соревнования программистов различного уровня. Благодаря этой работе рос уровень знаний и умений участников, которые узнавали и изучали новые для них алгоритмы и языки программирования, учились решать сложные олимпиадные задачи. Кроме того, сборы и другие мероприятия способствовали сплочению коллектива, предоставляли возможность проявить характер и уровень каждого участника. На этой основе формировались студенческие и школьные команды для участия в различных соревнованиях в сфере программирования.
Среди наиболее ярких спортивных достижений клуба можно отметить достижения команд ПетрГУ, удостоенных серебряной медали и бронзовых медалей Международного студенческого чемпионата мира по программированию (ACM ICPC). Команды ПетрГУ успешно входили в состав сборной команды России в финале чемпионата мира начиная с 2002 год. В 2007 году (Токио, Япония) стали бронзовыми призерами, в 2008 (Канада) - снова стали бронзовыми призерами, а в 2010 году команда Петрозаводского государственного университета «Wx» (Денис Денисов, Илья и Алексей Николаевский) стала абсолютным Чемпионом России и завоевала серебряные медали чемпионата мира по командному программированию среди студентов. В этом году команда ПетрГУ в очередной раз вышла в финал мира.
Важно и то, что, завершив учёбу в университете, члены Клуба творчества программистов продолжают участвовать в его программах, растить смену.
Деятельность Клуба творчества программистов ПетрГУ по организации тренировочного процесса для сильнейших студенческих команд высоко оценивается в России и на международном уровне. Начиная с января 2002 года и по настоящее время дважды в год - в период зимних и летних каникул - Петрозаводский государственный университет становится
StudArctic Forum 4 (4): 14 - 19, 2016 ISSN 2500-140Х
http://saf.petrsu.ru
международным центром подготовки студентов в области спортивного программирования. Суммарно за это время в ПетрГУ повысили уровень своей профессиональной квалификации более 4-х тысяч студентов российских и зарубежных вузов.
Круг университетов, желающих принять участие в сборах, постоянно расширяется, поэтому сложившийся на общественных началах совет тренеров устанавливает квоты участия в Петрозаводских сборах для представителей сильнейших команд вузов России, отдавая приоритет участникам очередного финала Чемпионата мира. Два раза в год в Петрозаводск приезжают более 40 команд. Среди них финалисты чемпионата мира из России, Украины, Белоруссии и Казахстана. В разные годы в сборах принимали участие команды университетов Финляндии, Японии, Польши и США. Допущенные к сборам российские вузы проводят отборочные соревнования среди своих команд за право поездки в Петрозаводск. Длительная подготовка и строгий отбор гарантируют дисциплину и заинтересованность участников сборов.
Высокий рейтинг и авторитет тренировочных сборов формируется благодаря сложившимся традициям их проведения и жесткому регламенту. Сборы продолжаются 11-12 дней, из которых не более двух отводятся для отдыха. Все остальные являются днями контестов. Рабочий день участников начинается с 5-часового контеста, составленного из 10-12 новых оригинальных задач, затем проводится разбор задач и их дорешивание. Таким образом, в течение сборов участники решают около ста сложнейших задач, которые составляются тренерами и отбираются на тренерском совете.
«Благодаря таким соревнованиям, престиж и авторитет Петрозаводского госуниверситета растет с каждым годом», - отметил Глава Республики Карелия А.П.Худилайнен.
Ниже представлены некоторые отзывы непосредственных участников сборов разных лет:
- Команда Университета Вроцлава (Польша): «Эти соревнования всемирно известны и многие команды хотят принять в них участие, у нас получилось. Нам понравилось, потому что здесь мы получили новый опыт».
- Геннадий Короткевич, представитель команды СПбГУ ИТМО: «Задания следуют общим тенденциям Чемпионата мира. Уровень задач и команд традиционно высок».
Опыт и Петрозаводского государственного университета и достигнутые результаты доказывают, что в командное программирование, являясь мощным средством интеллектуального развития студенческой молодёжи, выявления и государственной поддержки талантливой молодёжи, содействует повышению качества подготовки специалистов высшей квалификации в области IT-технологий.
В чём преимущества работы студентов и школьников для обеих сторон и каковы проблемы
В настоящее время занятия со школьниками, начиная с 12 лет, ведут сильнейшие олимпиадные программисты университета, включая участников первых команд на международных сборах. Учёба проводится по системе лекционных и практических занятий 2-3 раза в неделю. Существует несколько групп, определяемых годом обучения, каждая их них характеризуется темами, которые там проходят. Так же группа может делиться на подгруппы по возрасту старший и младший, в зависимости от класса, в котором учатся школьники.
1. Первый год обучения:
Знакомство с таким понятием как алгоритм, тренировка навыков формального описания решения задач, изучение базовых вещей дискретной математики, тренировка нестандартного мышления. Кроме того, идёт изучения языка C++. К концу года ребята могут уверенно писать и решать несложные задачи на графы, динамическое программирование, а также идейно несложные реализационные задачи. В младшей группе (< 9 класса) объясняется так же школьная программа, чтобы школьники быстрее могли нагнать старшую группу.
1. Второй год обучения:
Изучение основных алгоритмов и структур данных, своеобразная «таблица умножения» в олимпиадном программировании. Школьники начинают многое изучать самостоятельно.
StudArctic Forum 4 (4): 14 - 19, 2016 ISSN 2500-140Х
http://saf.petrsu.ru
1. Третий год обучения
Усложнённые алгоритмы, самые современные структуры данных, математическое обоснование многих фактов, используемых в ACM. Школьники направлены в основном на решение задач, идёт индивидуальная подготовка. В таком режиме продолжается изучение дальше.
За 3-5 лет учёбы в КТП школьники приобретают не только знания, но и навыки квалифицированной работы, осваивают значительную часть не только образовательной, но и компетентной программы вуза, что даёт им возможность успешно продолжать учёбу не только в ПетрГУ, но и в других сильнейших российских вузах. За это время происходит большой отсев школьников. Некоторые понимают, что это занятие не их вообще, кто-то изначально приходил из-под палки родителей. Также есть люди, которые всё понимают в теории, но имеют большие проблемы с практикой. Зачастую они находят себя в команде, выступая, например, на Всероссийской олимпиаде школьников, где они будут думать, а право писать код предоставят сокомандникам. Изначально, школьникам, пришедшим на первый год, приходится побороть себя. Многие привыкли к тому, что им абсолютно всё объясняется в школе. Тут же им приходится понимать часть лекции дома самостоятельно, чтобы «переварить» её целиком. К середине второго года обучения эта проблема у большинства школьников уходит. Второй проблемой можно назвать слабую подготовку школьников к чтению специальной литературы. Она кажется им очень сложной и запутанной (большинству), но к началу 3 года обучения эта проблема опять-таки потихоньку исчезает, и ребята начинают изучать самостоятельно некоторые алгоритмы.
В конце полугодия у школьников проводится 2 зачёта. Один теоретический, где ребята устно рассказывают преподавателям теорию, услышанную на лекциях. Этот зачёт помогает проверить, насколько глубоко ребята поняли материал, осознают ли они его. Второй зачёт -практический. Он проводится в форме контеста, ребятам даются от 3 до 5 задач (придуманные студентами-преподавателями) и 2-3 часа на их решение. Это помогает выявить навыки кодирования и придумывания решений за короткое время. Среди задач на контест обязательно есть задача, которую по ощущениям преподавателей должны решить все (это призвано в первую очередь поднять их самооценку), задача, которую не должен решить никто (это для того, чтобы не было зазнаек), и другие «нормальные» задачи. Некоторые из них больше направлены на проверку умения кодировать, а другие - на умение думать. Так же существует возможность заработать так называемый «автомат». Условие его получения преподаватель для своей группы определяет сам. Например, желающему необходимо решить все задачи, предложенные в течение года, и также самостоятельно изучить что-то достаточно сложное, реализовать в виде кода и рассказать теорию (а что именно изучить, определяет преподаватель).
Вследствие того, что преподаватели КТП - это студенты, которые являются действующими олимпиадниками, у школьников есть возможность изучать актуальный олимпиадный материал, а не пользоваться устаревшим. Год от года меняется мода на задачи, некоторые алгоритмы становятся неактуальными, им на смену приходят более оптимальные современные методы. Например, а этом году в мире ACM есть мода на чисто математические задачи, где используются теоремы из теории чисел, графов и т.д., и чисто реализационные. В прошлых годах была мода на структуры данных. Причины появления моды могут быть различны. Например, в Уральском федеральном университете была придумана новая структура данных, под названием «дерево подпалиндромов», которая была представлена на сборах в Петрозаводске. Вследствие этого была мода на строки и структуры данных. Из-за того, что студенты-преподаватели КТП постоянно участвуют в международных сборах, о которых говорилось выше, поэтому все самые новые тенденции в мире олимпиадного программирования известны петрозаводским школьникам.
Существенный вклад в обучение помимо занятий в течение года вносят летний сборы, более пятнадцати лет организуемые в школе посёлка Эссойла. Помимо образовательной
StudArctic Forum 4 (4): 14 - 19, 2016 ISSN 2500-140Х
http://saf.petrsu.ru
программы школьники и студенты укрепляют здоровье и становятся сполочённым коллективом.
Студенты по возрасту отличаются от школьников всего на несколько лет, поэтому язык, на котором они общаются (имеется в виду русский язык, сленг и т.д.) мало отличается от того, на котором говорят школьники (особенно старших классов), поэтому школьники легче понимают студентов. Так же ведётся активное взаимодействие школьников со студентами через социальные сети, что позволяет добиться более индивидуального подхода, школьник не чувствует себя наедине со своими проблемами, он всегда может задать вопрос преподавателю через соц. сеть. Конечно, не все свободно задают вопросы, некоторые стеснятся, думают, что их вопросы слишком «глупые», что, конечно же, не так. Это ещё одно решение проблем, возникающих в процессе обучения. Таким образом, школьники обретают в лице преподавателей «старших братьев и сестер», с которыми они всегда могут посоветоваться в той или иной проблеме. Это один из важных плюсов такого взаимодействия. Для студентов же пользу приносит несколько факторов данного взаимодействия. Есть очевидная польза: материал, рассказанный кому-то, становится более понятным самому преподавателю, и все «подводные камни» обсуждаемой темы потихоньку выплывают на поверхность. Ещё один важный плюс для студента - это общение со школьниками, которые могут рассказать о текущем положении дел в школах, о том, что и как там преподаётся. Это даёт возможность редактировать программу для усиления внимания тем или иным «белым пятнам» в образовании школьников, а также у студентов есть представление о том, как развивается общество, ибо это есть как раз изменение поведения и взглядов молодого поколения.
Список литературы:
1. Винокурова Н. М. Управление развитием профориентационной деятельности университета// Университетское управление: практика и анализ // Выпуск 5 (99), 2016
2. Интернет ресурс: https://habrahabr.ru/post/124428/ (15.12.2016)
References:
1. Vinokurova N. M. Upravlenie razvitiem proforientacionnoj dejatel'nosti universiteta// Universitetskoe upravlenie: praktika i analiz // Vypusk 5 (99), 2016
2. Internet resurs: https://habrahabr.ru/post/124428/ (15.12.2016)
© 2016 Алькин Р.В.