Примерная программа по олимпиадной информатике представляет собой следующее. Математические основы информатики
Вид материала | Примерная программа |
- Элективный курс Математические основы информатики, 18.01kb.
- Рабочая программа элективного курса для 10 класса по информатике и икт «Математические, 45.88kb.
- Примерная программа по олимпиадной информатике Всероссийских олимпиад школьников построена, 204.16kb.
- Программа по информатике для специальных (коррекционных) классов VII вида 5 класс Пояснительная, 1447.84kb.
- Примерная программа дисциплины Математические основы психологии Специальность «050706., 323.74kb.
- Программа спецкурса по информатике для 10-11 классов составители: учитель информатики, 122.08kb.
- Примерная программа подготовки водителей транспортных средств категории "C" общие положения, 721.06kb.
- Программа профильного курса информатики 10-11 класс пояснительная записка, 62.72kb.
- Планирование, содержание и особенности внеклассной работы по информатике. Кабинет информатики., 10.41kb.
- Примерная программа среднего (полного) общего образования по информатике базовый уровень, 149.29kb.
Примерная программа по олимпиадной информатике представляет собой следующее.
- Математические основы информатики
- Функции, отношения и множества
- Функции
- Отношения (рефлексивность, симметричность, транзитивность, эквивалентность)
- Множества (диаграммы Венна, дополнения)
- Обратная функция, композиция *
- Лексикографический порядок *
- Декартовы произведения *
- Вполне упорядоченные множества **
- Мощность и счетность множества. Конечные и бесконечные
множества **
- Функции
- Основные геометрические понятия
- Точка, прямая, отрезок, вектор, угол
- Треугольник, прямоугольник, многоугольник
- Выпуклые многоугольники
- Декартовы координаты в евклидовом пространстве
- Евклидово расстояние *
- Векторное и скалярное произведение на плоскости *
- Точка, прямая, отрезок, вектор, угол
- Основы логики
- Логические переменные, операции, выражения
- Таблицы истинности
- Булевы функции
- Формы задания и синтез логических функций *
- Преобразование логических выражений *
- Минимизация булевых функций **
- Основные законы логики суждений **
- Логика предикатов **
- Логические переменные, операции, выражения
- Основы вычислений
- Основы вычислений:
- Основы вычислений:
- Функции, отношения и множества
- Правила суммы и произведения
- Арифметические и геометрические прогрессии *
- Числа Фибоначчи *
- Принцип «включения-выключения» **
- Рекуррентные соотношения *
- Матрицы и действия над ними **
- Методы доказательства
- Прямые доказательства
- Доказательство методом «от противного»
- Доказательство методом исключения
- Доказательство через контрпример
- Математическая индукция *
- Структура формальных доказательств **
- Прямые доказательства
- Основы теории чисел
- Простые числа
- Деление с остатком
- Наибольший общий делитель
- Основная теорема арифметики *
- Взаимно простые числа *
- Делимость. Кольцо вычетов по модулю **
- Простые числа
- Основы алгебры
- Многочлены и операции над ними. Решение квадратных уравнений. Теорема Виета *
- Общий случай теоремы Виета. Симметрические многочлены **
- Понятие группы **
- Теоремы о гомоморфизме и изоморфизме **
- Многочлены и операции над ними. Решение квадратных уравнений. Теорема Виета *
- Основы комбинаторики
- Перестановки, размещения и сочетания:
- Перестановки, размещения и сочетания:
- Основные определения
- Тождество Паскаля *
- Биномиальная теорема *
- Коды Грея: подмножества, сочетания, перестановки **
- Таблицы инверсий перестановок **
- Разбиения на подмножества. Числа Стирлинга **
- Скобочные последовательности **
- Теория графов
- Типы графов
- Маршруты и связность
- Деревья
- Операции над графами *
- Остовные деревья *
- Раскраска графов *
- Эйлеровы и гамильтоновы графы *
- Покрытия и независимость **
- Укладка графов. Плоские (планарные) графы **
- Двусвязность графа. Мосты, блоки, точки сочленения **
- Связь ориентированных ациклических графов и отношений порядка. Транзитивное замыкание **
- Двудольные графы **
- Потоки и сети **
- Типы графов
- Основы теории синтаксического анализа
- Обратная польская запись
- Синтаксический анализ простых выражений *
- Регулярные выражения, конечные автоматы **
- Обратная польская запись
- Основы теории вероятностей
- Понятие вероятности и математического ожидания *
- Аксиомы теории вероятностей **
- Основы вычисления вероятностей **
- Понятие вероятности и математического ожидания *
- Основы теории игр
- Понятие игры и результата игры
- Простейшие игры
- Простейшие стратегии игры *
- Игры на матрицах **
- Решение игровых задач с использованием функции Гранди **
- Понятие игры и результата игры
- Разработка и анализ алгоритмов
- Алгоритмы и их свойства
- Понятие алгоритма
- Концепции и свойства алгоритмов
- Запись алгоритма на неформальном языке
- Понятие алгоритма
- Структуры данных
- Простые базовые структуры
- Множества
- Последовательности
- Списки
- Неориентированные графы *
- Ориентированные графы *
- Деревья *
- Пирамида и дерево отрезков **
- Сбалансированные деревья **
- Хэш-таблицы и ассоциативные массивы **
- Бор **
- Простые базовые структуры
- Основы анализа алгоритмов
- Нотация О большое *
- Стандартные классы сложности *
- Асимптотический анализ поведения алгоритмов в среднем и крайних
случаях *
- Компромисс между временем и объемом памяти в алгоритмах **
- Использование рекуррентных отношений для анализа рекурсивных алгоритмов **
- NP-полнота **
- Нотация О большое *
- Алгоритмические стратегии
- Алгоритмы полного перебора
- "Жадные" алгоритмы *
- Алгоритмы "разделяй и властвуй" *
- Перебор с возвратом *
- Эвристики **
- Алгоритмы полного перебора
- Рекурсия
- Понятие рекурсии
- Рекурсивные математические функции *
- Простые рекурсивные процедуры *
- Реализация рекурсии *
- Рекурсивный перебор с возвратами **
- Понятие рекурсии
- Фундаментальные вычислительные алгоритмы
- Простые численные алгоритмы
- Классические комбинаторные алгоритмы
- Алгоритмы с подмножествами: генерация, восстановление по номеру и построение номера, генерация следующего и предыдущего (прибавление и вычитание единицы)
- Алгоритмы последовательного и бинарного поиска
- Алгоритмы с сочетаниями и перестановками (генерация, восстановление по номеру и построение номера, генерация следующего и предыдущего) *
- Квадратичные методы сортировки (сортировка методом выбора, сортировка вставками) *
- Сортировка подсчетом за линейное время *
- Алгоритмы сортировки за время O(N log N) (быстрая сортировка, пирамидальная сортировка, сортировка слиянием) **
- Цифровая сортировка **
- Алгоритм вычисления номера слова в лексикографически упорядоченном множестве перестановок его символов **
- Арифметика многоразрядных целых чисел **
- Простые численные алгоритмы
- Числовые алгоритмы
- Разложение числа на простые множители
- Решето Эратосфена *
- Алгоритм Евклида *
- Расширенный алгоритм Евклида. Способы реализации алгоритма без деления **
- Решение линейных сравнений с помощью алгоритма Евклида **
- Эффективная реализация решета Эратосфена (O(n)) **
- Эффективная проверка числа на простоту **
- Быстрые алгоритмы разложения чисел на простые множители.
Ро-эвристика **
- Разложение числа на простые множители
- Алгоритмы на строках
- Поиск подстроки в строке. Наивный метод *
- Алгоритмы поиска подстроки в строке за O(N+M) **
- Периодические и циклические строки **
- Алгоритм поиска нескольких подстрок за линейное время **
- Поиск подстроки в строке. Наивный метод *
- Алгоритмы на графах
- Вычисление длин кратчайших путей в дереве
- Обход графа в ширину и в глубину
- Способы реализации поиска в ширину (“наивный” и с очередью) *
- Проверка графа на связность *
- Алгоритмы поиска кратчайшего пути во взвешенных графах *
- Топологическая сортировка графа, нахождение компонент сильной связности и построение диаграммы порядка **
- Циклы отрицательной длины – критерий наличия, поиск **
- Задача о синхронизации времени и задача о системе неравенств **
- Алгоритм поиска эйлерова цикла (в том числе лексикографически минимального) **
- Нахождение транзитивного замыкания графа **
- Алгоритмы нахождения взвешенных остовных деревьев **
- Алгоритмы отыскания компонент двусвязности, точек сочленения, мостов с помощью поиска в глубину **
- Алгоритм нахождения максимального паросочетания и минимального вершинного покрытия в двудольном графе **
- Поиск максимального потока в сети **
- Вычисление длин кратчайших путей в дереве
- Динамическое программирование
- Основная идея динамического программирования. Рекурсивная реализация и развертывание в цикл *
- Задачи с монотонным направлением движения в таблице *
- Задача о рюкзаке – решение методом динамического программирования *
- Оптимизация решения задачи динамического программирования на примере задачи о рюкзаке (исключение лишних параметров) **
- Восстановление решения в задачах динамического программирования **
- Общая схема решения задач динамического программирования **
- Основная идея динамического программирования. Рекурсивная реализация и развертывание в цикл *
- Алгоритмы теории игр
- Динамическое программирование и полный перебор как методы решения игровых задач **
- Игры на ациклическом графе **
- Оценка позиций. Альфа-бета отсечение **
- Динамическое программирование и полный перебор как методы решения игровых задач **
- Геометрические алгоритмы
- Алгоритмы определения совпадения точек, лучей, прямых и отрезков
- Представление точек, прямых и отрезков на плоскости *
- Нахождение расстояний между объектами на плоскости **
- Алгоритмы определения пересечения отрезков на плоскости **
- Алгоритмы вычисления площади многоугольника с заданными координатами вершин. Случай целочисленной решетки (формула Пика) **
- Алгоритмы построения выпуклой оболочки (алгоритмы Грэхема и Джарвиса) **
- Окружности на плоскости, пересечение их с другими геометрическими объектами **
- Эффективный алгоритм нахождения пары ближайших точек на
плоскости **
- Алгоритмы определения совпадения точек, лучей, прямых и отрезков
- Алгоритмы и их свойства
- Основы программирования
- Языки программирования
- Классификация языков программирования
- Процедурные языки
- Основы синтаксиса и семантики языков высокого уровня *
- Формальные методы описания синтаксиса: форма Бэкуса-Наура **
- Объектно-ориентированные языки **
- Классификация языков программирования
- Основные конструкции программирования
- Переменные, типы, выражения и присваивания
- Основы ввода/вывода
- Операторы проверки условия и цикла
- Функции и передача параметров *
- Структурная декомпозиция **
- Переменные, типы, выражения и присваивания
- Переменные и типы данных
- Концепция типа данных как множества значений и операций над ними
- Свойства объявлений (связывание, область видимости, блоки и время
жизни) *
- Обзор проверки типов *
- Концепция типа данных как множества значений и операций над ними
- Типы структур данных
- Примитивные типы
- Массивы
- Записи *
- Стратегии выбора подходящей структуры данных *
- Представление данных в памяти **
- Статическое, автоматическое и динамическое выделение памяти **
- Указатели и ссылки **
- Связанные структуры **
- Методы реализации стеков, очередей и хэш-таблиц **
- Методы реализации графов и деревьев **
- Примитивные типы
- Механизмы абстракции.
- Классы и объекты, замыкания *
- Процедуры, функции и итераторы как механизмы абстракции *
- Механизмы параметризации (ссылки и значения) *
- Модули в языках программирования *
- Классы и объекты, замыкания *
- Особенности программирования фундаментальных алгоритмов.
- Стратегии решения задач
- Роль алгоритмов в процессе решения задач
- Стратегии реализации алгоритмов *
- Реализация рекурсии *
- Стратегии отладки **
- Стратегии решения задач
- Языки программирования
- Средства ИКТ
- Цифровая логика
- Системы счисления
- Компьютерная арифметика
- Логические схемы *
- Системы счисления
- Представление данных в памяти компьютера
- Биты, байты и слова *
- Представление числовых данных **
- Системы с фиксированной и плавающей точкой **
- Представление со знаковым битом и в дополнительном коде **
- Представление нечисловых данных (коды символов, графические данные) **
- Представление массивов и записей **
- Биты, байты и слова *
- Организация работы компьютера
- Принципы фон Неймана
- Управляющее устройство: выборка инструкций, декодирование и выполнение *
- Набор инструкций и виды инструкций (манипуляция данными, управление, ввод-вывод) *
- Форматы инструкций **
- Режимы адресации **
- Механизм вызовов и возвратов из процедур **
- Ввод-вывод и прерывания **
- Принципы фон Неймана
- Устройство памяти компьютера
- Организация основной памяти и операции с ней
- Иерархия памяти *
- Кодирование данных, сжатие данных и целостность **
- Кэш-память **
- Организация основной памяти и операции с ней
- Взаимодействие и коммуникации
- Интерфейс пользователя. Основы ввода-вывода информации. Основы скоростного клавиатурного ввода.
- Введение в сетевые технологии
- Внешняя память, физическая организация и устройства *
- Прямой доступ к памяти **
- Интерфейс пользователя. Основы ввода-вывода информации. Основы скоростного клавиатурного ввода.
- Цифровая логика
- Операционные системы
- Основы операционных систем
- Роль и задачи операционных систем
- Функционирование типичной операционной системы
- Директории: содержимое и структура
- Именование, поиск, доступ, резервное копирование *
- Роль и задачи операционных систем
- Основные функции операционных систем
- Абстракции, процессы и ресурсы *
- Организация устройств *
- Защита, доступ и аутентификация *
- Абстракции, процессы и ресурсы *
- Управление памятью
- Обзор физической памяти и аппаратного обеспечения, предназначенного для управления памятью *
- Страничная и сегментная организации памяти **
- Кэширование **
- Обзор физической памяти и аппаратного обеспечения, предназначенного для управления памятью *
- Основы операционных систем
- Основы технологии программирования
- Программные средства и окружения
- Среды программирования
- Инструментальные средства тестирования *
- Среды программирования
- Проверка соответствия программного обеспечения
- Основы тестирования программ
- Создание тестового плана и генерация тестов *
- Тестирование методом "черного ящика" и "белого ящика" *
- Тестирование элементов, интеграционное, системное тестирование и проверка соответствия **
- Основы тестирования программ
- Программные средства и окружения
- Методы вычислений и моделирование
- Основы вычислительной математики
- Основные методы вычислительной математики
- Основные методы вычислительной математики
- Основы вычислительной математики
- вычисление периметра и площади плоских фигур
- вычисление объема плоских фигур *
- вычисление значения и корней функции *
- Арифметика с плавающей точкой *
- Вычисление функций с шагом. Метод сеток **
- Ошибка, устойчивость, сходимость**
- Введение в моделирование
- Понятия модели и моделирования
- Основные типы моделей
- Компоненты компьютерной модели и способы их описания: входные и выходные переменные, переменные состояния, функции перехода и выхода, функция продвижения времени *
- Основные этапы и особенности построения компьютерных моделей *
- Основные этапы использования компьютерных моделей при решении практических задач *
- Понятия модели и моделирования
- Компьютерные сетевые технологии
- Сети и телекоммуникации.
- Сетевые устройства
- Среды передачи данных
- Использование паролей и механизмов контроля доступа
- Использование сетевых ресурсов
- Сетевые архитектуры *
- Вопросы качества обслуживания: производительность, восстановление после сбоев **
- Сетевые устройства
- Беспроводные сети.
- Специфические проблемы беспроводных и мобильных компьютеров
- Установка программ на мобильные и беспроводные компьютеры *
- Беспроводные локальные сети и линии связи *
- Специфические проблемы беспроводных и мобильных компьютеров
- Сети и телекоммуникации.
Список рекомендуемой литературы
- Алексеев А.В., Беляев С.Н. Подготовка школьников к олимпиадам по информатике с использованием веб-сайта: учебно-методическое пособие для учащихся 7-11 классов. – Ханты-Мансийск: РИО ИРО, 2008. – 284 с.
- Андреева Е.В., Босова Л.Л., Фалина И.Н. Математические основы информатики. Элективный курс: Учебное пособие. – М.: БИНОМ. Лаборатория Знаний, 2007.
– 312 с.
- Арсак Ж. Программирование игр и головоломок. – М.: Наука, 1990. – 224 с.
- Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — Пер. с англ. — М.: Мир, 1979. — 536 с.
- Бентли Д. Жемчужины творчества программистов: пер. с англ. – М.: Радио и связь, 1990. – 224 с.
- Босова Л.Л., Босова А.Ю., Коломенская Ю.Г. Занимательные задачи по информатике. – М.: БИНОМ. Лаборатория знаний. 2007. – 119 с.
- Брудно А.Л., Каплан Л.И. Московские олимпиады по программированию/ Под ред. акад. Б.Н. Наумова.- 2-е изд., доп. и пераб. – М.: Наука, гл. ред. физ.-мат. лит., 1990. – 208 с.
- Великович Л.С., Цветкова М.С. Программирование для начинающих. – М.: БИНОМ. Лаборатория знаний. 2007. – 287 с.
- Волчёнков С.Г., Корнилов П.А., Белов Ю.А. и др. Ярославские олимпиады по информатике. Сборник задач с решениями. – М.: БИНОМ. Лаборатория знаний. 2010. – 405 с.
- Долинский М.С. Алгоритмизация и программирование на Turbo Pascal: от простых до олимпиадных задач: Учебное пособие. – СПб.: Питер Принт, 2004. – 240 с.
- Задачи по программированию /С.М. Окулов, Т.В. Ашихмина, Н.А. Бушмелева и др.; Под ред. С.М. Окулова. – М.: БИНОМ. Лаборатория знаний, 2006. – 820 с.
- Златопольский Д. М. Программирование: типовые задачи, алгоритмы, методы. – М.: БИНОМ. Лаборатория знаний, 2007. – 223 с.
- Иванов С.Ю., Кирюхин В.М., Окулов С. М. Методика анализа сложных задач по информатике: от простого к сложному // Информатика и образование. 2006. №10.
С. 21 – 32.
- Кирюхин В.М. Всероссийская олимпиада школьников по информатике. М.: АПК и ППРО, 2005. –212 с.
- Кирюхин В.М. Информатика. Всероссийские олимпиады. Выпуск 1. – М.: Просвещение, 2008. – 220 с. – (Пять колец).
- Кирюхин В.М. Информатика. Всероссийские олимпиады. Выпуск 2. – М.: Просвещение, 2009. – 222 с. – (Пять колец).
- Кирюхин В.М. Информатика. Всероссийские олимпиады. Выпуск 3. – М.: Просвещение, 2010. – 201 с. – (Пять колец). (Планируется к выпуску в конце 2010 года).
- Кирюхин В.М. Информатика. Международные олимпиады. Выпуск 1. – М.: Просвещение, 2009. – 239 с. – (Пять колец).
- Кирюхин В.М., Окулов С. М. Методика анализа сложных задач по информатике // Информатика и образование. 2006. №4. С. 42 – 54.
- Кирюхин В.М., Окулов С. М. Методика анализа сложных задач по информатике // Информатика и образование. 2006. №5. С. 29 – 41.
- Кирюхин В.М., Окулов С. М. Методика решения задач по информатике. Международные олимпиады. – М.: БИНОМ. Лаборатория знаний, 2007. – 600 с.
- Кирюхин В.М., Цветкова М.С. Всероссийская олимпиада школьников по информатике в 2006 году. – М.: АПК и ППРО, 2006. – 152 с.
- Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ.
– М.: МЦНМО, 1999. – 960с.
- Меньшиков Ф.В. Олимпиадные задачи по программированию. – СПб.: Питер, 2006. – 315 с.
- Московские олимпиады по информатике. 2002 – 2009. / Под ред. Е.В. Андреевой, В.М. Гуровица и В.А. Матюхина. – М.: МЦНМО, 2009. – 414 с.
- Окулов С.М. Основы программирования. – М.: БИНОМ. Лаборатория знаний, 2005. – 440 с.
- Окулов С.М. Программирование в алгоритмах. – М.: БИНОМ. Лаборатория знаний. 2002. – 341 с.
- Окулов С.М. Дискретная математика. Теория и практика решения задач по информатике: учебное пособие. – М.: БИНОМ. Лаборатория знаний. 2008. – 422 с.
- Окулов С.М. Алгоритмы обработки строк: учебное пособие. – М.: БИНОМ. Лаборатория знаний, 2009. – 255 с.
- Окулов С.М., Лялин А.В. Ханойские башни. – М.: БИНОМ. Лаборатория знаний. 2008. – 245 с. (Развитие интеллекта школьников).
- Пинаев В.Н. Олимпиадные задачи по программированию: Учебное пособие / РГАТА. – Рыбинск, 1997. – 41 с.
- Просветов Г.И. Дискретная математика: задачи и решения: учебное пособие. – М.: БИНОМ. Лаборатория знаний. 2008. – 222 с.
- Пупышев В.В. 128 задач по началам программирования. – М.: БИНОМ. Лаборатория знаний. 2009. – 167 с.
- Рейнгольд Э. Комбинаторные алгоритмы: теория и практика / Э. Рейнгольд, Ю. Нивергельт, Н. Део. – М.: Мир, 1980. – 476 с.
- Скиена С.С., Ревилла М.А. Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям. – М.: Кудиц-образ, 2005. – 416 с.
- Столяр С.Е., Владыкин А.А.. Информатика. Представление данных и алгоритмы. – СПб.: Невский Диалект; М.: БИНОМ. Лаборатория знаний. 2007. –382 с.
- Сулейманов Р.Р. Организация внеклассной работы в школьном клубе программистов: методическое пособие. – М.: БИНОМ. Лаборатория знаний. 2010.
– 255 с.
- Уэзерелл Ч. Этюды для программистов. – М.: Мир, 1982. – 288 с.
- Шень А. Программирование: теоремы и задачи. – М.:МЦНМО, 1995. – 264 с.