Школа программирования СПбГУ

В Санкт‑Петербургском государственном университете готовят высококлассных специалистов в области IT-технологий. Кроме знаний, полученных рамках освоения основных образовательных программ, для обучающих созданы условиях для более глубокого изучения различных областей программирования, а также для участия во всероссийских и международных интеллектуальных соревнованиях по программированию. Внеучебные тренировочные занятия по олимпиадному программированию проводятся в СПбГУ на трех площадках высококвалифицированными тренерами. Три раза в год проводятся командные чемпионаты Университета, где обучающиеся могут продемонстрировать свои знания и бросить вызов новым задачам.

График и место проведения тренировочных занятий

Все занятия сейчас проводятся в онлайн формате. Для получения доступа к видеоконференции напишите в личные сообщения группы

Для студентов:

  • Вторник с 17:30 до 20:00
  • Четверг с 18:00 до 20:00
  • Суббота в 17:30 до 20:00

Для школьников:

Занятия временно не проводятся

Тренерский состав

Андрей Сергеевич Лопатин — тренер по программированию СПбГУ.


Помощники тренера по программированию:

  • Горбачев Егор Андреевич
  • Казменко Иван Сергеевич
  • Лопатина Анна Сергеевна
  • Марков Александр Дмитриевич
  • Райский Андрей Евгеньевич
  • Савченко Александр Владимирович
  • Спирин Егор Сергеевич

Область применения знаний, полученных в СПбГУ

  • Задачи вычислительной геометрии (2d, 3d, n-мерная): поиск пересечений различных кривых (прямых, второго порядка и высших порядков), выпуклых оболочек и слоёв, триангуляций, триангуляция Делоне и диаграмма Вороного, метод движущейся прямой и др.
  • Оптимизационные задачи на строках: поиск образцов (в т. ч. множественный), суффиксные структуры данных (суфф. массив/суфф. дерево/суфф. автомат) и их применения, хеширование, дерево палиндромов, поиск ред. расстояния (в т.ч. с использованием SSE)
  • Задачи динамического программирования (в т.ч. на подмножествах, деревьях)
  • Жадные алгоритмы, матроиды
  • Задачи с использованием структур данных (дерево отрезков, в т.ч. с отложенными операциями, дерево Фенвика, сбалансированные деревья: декартовы, АВЛ, красно-чёрные, 2-3, splay и др.; B-деревья)
  • Задачи по теории чисел (в т. ч. криптографические)
  • Задачи по теории игр (игры для 2-х и n игроков, теория Гранди, теория Смита и их применения, равновесие Нэша)
  • Задачи линейной алгебры (решение СЛУ, нахождение собственных чисел и векторов и др.)
  • Задачи линейного программирования
  • Задачи выпуклого программирования
  • Нахождение корней уравнений (двоичный/троичный поиск, градиентный спуск, метод Штурма и др.)
  • Комбинаторные задачи
  • Оптимизационные задачи на графах (поиск кратчайших расстояний, паросочетаний, задача о назначениях, задачи о потоках в сетях и разрезах, в т. ч. минимальной стоимости, деревья Гомори-Ху, проверка планарности и нахождение укладки, поиск компонент связности, двусвязности и k-связности, эйлеров и гамильтонов путь, топологическая сортировка)
  • Задачи численного интегрирования, решение дифференциальных уравнений, в т. ч. в частных производных
  • Задачи вариационного исчисления
  • Методы оптимизации перебора (backtracking, метод ветвей и границ, iterative deepening)
  • Задачи теории вероятностей, производящие функции
  • Рандомизированные алгоритмы оптимизации
  • Методы решения неточных задач (метод отжига, генетические алгоритмы, метод муравьиных колоний и др.)
  • Нейронные сети (теоретические основы)
  • Методы оптимизации (использование кеша, особенностей процессора, инструкций SSE)
  • Методы автоматического тестирования
  • Список дополнительных умений:
  • Системное администрирование (windows/linux)
  • Построение больших компьютерных сетей (промышленного размера)
  • Список областей практического применения (неполный):
  • Обработка больших (гигантских) объёмов информации
  • Задачи логистики (в том числе, с учётом пробок в реальном времени) и составления расписаний
  • Задачи вычислительной биологии
  • Задачи распознавания изображений/видео и аудио
  • Контекстная реклама и рекомендации пользователю
  • Задачи борьбы со спамом и со взломом
  • Задачи математической статистики и аналитики
  • Финансовые задачи
  • Разработка криптографических систем передачи данных и систем надёжного хранения информации
  • Задачи упаковки объектов (раскроя)
  • Применение в медицинской среде (задачи моделирования распространения эпидемий, эффективности действия лекарств и т. д.)
  • Разработка эффективных протоколов передачи данных
  • Интернет вещей

История успеха

2022 год

Под руководством А.С. Лопатина команда «LOUD Enough» команда нашего взяла бронзовую медаль! Студенты Бочков Иван Александрович, Гаевой Никита Сергеевич, Макаров Владислав Маратович в составе команды «LOUD Enough» решили 8 задач на финальном соревновании и вошли в ТОП10 лучших команд в мире!

2019 год

Под руководством А.С. Лопатина команда SPb SU: 25 (Дмитрий Беличенко, Никита Быков, Семен Петров) стала чемпионом Северной Евразии ICPC 2019 и вышла в финал чемпионата мира.
А так же бронзовыми медалистами стали команды:
SPb SU: LOUD Enough (Иван Бочков, Никита Гаевой, Владислав Макаров)

SPb SU: The Quick Burgers (Даниил Фёдоров, Степан Филиппов, Владислав Мильшин)

 

2018 год

Под руководством А.С. Лопатина команда "SPb SU 5" (Александр Гребенников, Екатерина Фадеева, Андрей Заварин) получила бронзовую медаль на Northern Eurasia ICPC Finals 2018-2019

 

2017 год

Под руководством А. С. Лопатина команда СПбГУ заняла IV место (золотая медаль) на Чемпионате мира по программированию ACM ICPC.
Команда: Игорь Пышкин, Айдар Сайранов, Станислав Ершов.

 

2016 год

Под руководством А. С. Лопатина команда СПбГУ заняла I место на Чемпионате мира по программированию ACM ICPC.
Команда: Игорь Пышкин, Алексей Гордеев, Станислав Ершов.

 

2014 год

Под руководством А. С. Лопатина команда СПбГУ заняла I место на Чемпионате мира по программированию ACM ICPC.
Команда: Дмитрий Егоров, Павел Кунявский, Егор Суворов.

 

2013 год

Под руководством А. С. Лопатина команда СПбГУ заняла V место (серебро) на Чемпионате мира по программированию ACM ICPC.
Команда: Дмитрий Егоров, Павел Кунявский, Егор Суворов.

 

2011 год

Под руководством А. С. Лопатина команда СПбГУ заняла IV место (золото) на Чемпионате мира по программированию ACM ICPC и завоевала звание чемпионов Европы. 
Команда: Валентин Фондаратов, Алексей Левин, Арсений Смирнов.

 

2010 год

Под руководством А. С. Лопатина команда СПбГУ заняла IX место (серебро) на Чемпионате мира по программированию ACM ICPC.
Команда: Антипов, Алексей Левин, Арсений Смирнов.

 

2009 год

А. С. Лопатин занял I место на открытом личном Чемпионате по программированию Top Coder Open в номинации Marathon Match.

Под руководством А. С. Лопатин команда СПбГУ заняла III место (золото) на Чемпионате мира по программированию ACM ICPC.
Команда: Юрий Петров, Олег Давыдов, Сергей Копелиович.

 

2008 год

Под руководством А. С. Лопатина команда СПбГУ заняла XI место (бронза) на Чемпионате мира по программированию ACM ICPC.
Команда: Юрий Петров, Олег Давыдов, Сергей Копелиович.

 

2006 год

Под руководством А. С. Лопатина команда СПбГУ заняла VI место (серебро) на Чемпионате мира по программированию ACM ICPC.
Команда: Виталий Вальтман, Сергей Банкевич, Глеб Леонов.

 

2001 год

А. С. Лопатин в составе команды СПбГУ занял I место на Чемпионате мира по программированию ACM ICPC.
Команда: Николай Дуров, Андрей Лопатин, Виктор Петров.

 

2000 год

А. С. Лопатин в составе команды СПбГУ занял I место на Чемпионате мира по программированию ACM ICPC.
Команда: Николай Дуров, Андрей Лопатин, Олег Етеревский.

Уважаемые универсанты! Обращаем ваше внимание на то, что не все публикации отображаются на Главной странице. Часть публикаций размещается в соответствующих разделах сайта.