Скоро Введение в олимпиадное программирование [2022] [Высшая инженерная школа СПбПУ] [Елена Крылова, Лев Стояновский]

Статус
В этой теме нельзя размещать новые ответы.
VkurseBot

VkurseBot

Модератор
20 Сен 2020
0
781
50
Голосов: 0
#1
Введение в олимпиадное программирование [2022]
Высшая инженерная школа СПбПУ (Санкт-Петербургский Политехнический Университет)
Елена Крылова, Лев Стояновский


Спортивное программирование – особый вид деятельности, увлекательный и азартный. Олимпиады по программированию бывают индивидуальными и командными, бывают официальными, дающими льготы при поступлении в ВУЗ, и совсем «домашними».

Главное отличие олимпиадного программирования от обычного – необходимость быстро анализировать многословные условия задач, выбирать из обширного набора решаемые, добиваться верного результата любыми средствами.

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

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

Теоретический материал излагается преимущественно на алгоритмическом языке. Языками практических заданий являются С++, Visual Basic, Pascal, Python, C# и Java (учащийся может работать на любом из этих языков). Практики существенно больше, чем теории. Чередуется командная и индивидуальная работа.

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

Стилистика курса – креативность, соревновательность, сотрудничество.

Спортивное программирование - увлекательная и азартная интеллектуальная игра, а преуспевшие в ней могут добыть неплохие бонусы при поступлении в ВУЗы. Курс знакомит с правилами олимпиад, учит читать условие задачи, оценивать её сложность, планировать тактику, организовывать работу команды. Цель - дать старт дальнейшему саморазвитию ученика, обеспечив его необходимыми начальными знаниями и опытом. Курс для тех, кто уже умеет программировать.

Курс адресован школьникам 9-10 классов, уже владеющих навыками структурного и процедурного программирования.

В результате обучения учащиеся получат следующие знания, умения и навыки:
1. Навыки работы с системами автопроверки, применяемыми на олимпиадах по программированию.
2. Навыки анализа объёмных постановок задач, примерной оценки сложности решения.
3. Умение использовать в программировании математические знания, анализировать свойства чисел.
4. Умение организовывать структурированные данные, размер которых определяется в ходе работы программы.
5. Навыки оценки вычислительной сложности алгоритма, объёма используемой при его реализации памяти.
6. Знания некоторых стандартных алгоритмов, часто применяемых в спортивном программировании.
7. Навыки организации командной работы на олимпиаде.
8. Оперативная информация о доступных олимпиадах по спортивному программированию, их особенностям и правилам.

Занятие 1 - Введение
  • Особенности спортивного программирования.
  • Олимпиады по программированию: виды, правила, способы оценки ответов.
  • Примеры задач.
  • Способы организации ввода и вывода, применяемые на олимпиадах.
  • Оценка начального уровня учащихся – индивидуальная мини-олимпиада.
Занятие 2 - Искусство выбора решаемой задачи
  • Примеры олимпиадных пакетов задач.
  • Техника работы с условием задачи.
  • Тренинги (индивидуальные и командный) по оценке сложности задач.
Занятие 3 - Математика в программировании
  • Примеры задач, где решение находится математически проще, чем программно.
  • Краткая сводка полезных программисту сведений из математики.
  • Решение задач.
  • Командный тренинг.
Занятие 4 - Основные типы данных
  • Числовые типы данных, их возможности и особенности.
  • Символы и строки.
  • Работа со «слишком большими числами».
  • Стандартные действия по анализу свойств чисел.
  • Командный тренинг – решение задач на технику работы с числами.
Занятие 5 - Использование больших объёмов данных
  • Массивы. Организация динамических массивов.
  • Полезные алгоритмы, связанные с массивами.
  • Проблема ограничений по памяти при олимпиадном программировании.
  • Обзор специализированных типов данных (стеки, списки) и инструментов для их реализации.
  • Индивидуальный тренинг – технически сложные задачи.
Занятие 6 - Перебор вариантов как метод поиска решения
  • Способы организации перебора.
  • Простой перебор с параметром, с заданным числом параметров.
  • Индуктивный перебор: генерация варианта на основе предыдущего.
  • Индивидуальный тренинг.
Занятие 7 - Перебор вариантов как метод поиска решения (продолжение)
  • Рекурсия как способ организации перебора.
  • Альтернативы рекурсии.
  • Эффективность по времени, примеры.
  • Командный тренинг с выбором задач из большого набора.
Занятие 8 - Тестирование программы. Организация работы команды
  • Тестовые данные в олимпиадном программировании.
  • Самотестирование программы. Типы тестовых данных в зависимости от способа оценки результатов.
  • Варианты распределения ролей в команде.
  • Командный тренинг - тактический разбор пакета заданий реальной олимпиады.
Занятие 9 - Оптимизация поиска решения
  • Способы ускорения перебора вариантов.
  • «Жадные алгоритмы», условия их применимости.
  • Командный тренинг с выбором задач из большого набора.
Занятие 10 - Графы и деревья
  • Примеры задач, моделируемых посредством графов.
  • Способы представления графов в программе.
  • Обзор некоторых алгоритмов, связанных с графами.
  • Решение задач
Занятие 11 - Командная олимпиада по программированию

Занятие 12 - Разбор заданий командной олимпиады

Индивидуальная олимпиада по программированию – экзамен

 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.

О нас

Слив платных курсов - скачать бесплатно

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

VKURSE.INFO регулярно публикует:

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

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

Быстрая навигация

Меню пользователя