Северо-Западный административный округ

Направление ПРОГРАММИРОВАНИЕ

Направление Программирование

Таблица 1 Тематический план

№ п/п

Модуль

Наименование раздела

Количество часов

1 полугодие 10 класса

1

Алгоритмы и структуры данных

Оценка сложности алгоритмов.

6

2

Алгоритмы сортировки

6

3

Элементарные структуры данных.

12

4

Алгоритмы поиска

6

5

Практика программирования

Введение в язык программирования

2

6

Вычисления.

2

7

Ветвления.

2

8

Циклические алгоритмы.

2

9

Процедуры.

2

10

Функции.

2

11

Рекурсия и рекурсивные алгоритмы.

2

12

Массивы.

2

13

Символьные строки..

2

14

Работа с файлами.

2

15

Написание программного кода с использованием языков программирования, определения и манипулирования данными

14

2 полугодие 10 класса

16

Алгоритмы и структуры данных

Двоичное дерево поиска.

6

17

Сбалансированные деревья поиска

4

18

Хеширование

6

19

Практика программирования

Рецензирование кода (code review).

4

20

Системы контроля версий.

16

21

Хранение и обработка информации в базах данных

Введение в базы данных (БД).

2

22

Многотабличные базы данных.

2

23

Основные понятия БД.

2

24

Таблицы.

2

25

Системы управления БД и принципы работы с ними.

2

26

Просмотр и редактирование БД.

2

27

Проектирование и создание БД.

4

28

Введение в SQL.

4

29

Извлечение информации из таблиц

4

30

Соединение таблиц

4

1 полугодие 11 класса

1

Алгоритмы и структуры данных

Целочисленные алгоритмы.

Деревья. Деревья поиска. Обход дерева. Использование связанных структур.

Графы. «Жадные» алгоритмы. Алгоритм Дейкстры. Динамическое программирование.

16

2

Практика программирования

Проверка и отладка программного кода

Разработка процедур проверки работоспособности и измерения характеристик программного обеспечения

Проверка работоспособности программного обеспечения

16

3

Основы проектирования программного обеспечения

Жизненный цикл программного обеспечения

Качество программного обеспечения

Анализ требований к программному обеспечению

Документирование программного обеспечения

16

4

Разработка приложений,
интегрированных в ИТ-инфраструктуру

Подключение и взаимодействие с системами управления базами данных

Протоколы передачи данных между компонентами клиент-серверной архитектуры

Разработка клиент-серверных приложений

16

2 полугодие 11 класса

1

Практика программирования

Рефакторинг и оптимизация программного кода

16

2

Основы проектирования программного обеспечения

Разработка технических спецификаций на программные компоненты и их взаимодействие

Обеспечение качества программных систем

Основные принципы проектирования программного обеспечения

16

3

Разработка приложений,
интегрированных в ИТ-инфраструктуру

Особенности работы приложений под управлением различных
операционных систем, сборка дистрибутивов приложений

Защищенное хранение данных в файлах с ограниченным доступом в различных операционных системах

Подготовка и защита этапов учебного проекта

32

Краткое содержание разделов:

  1. Оценка сложности алгоритмов. Необходимость оценки сложности программ. Порядок роста. Константная, линейная, логарифмическая, квадратичная сложность. Наилучший, средний и наихудший случай. Оценка времени работы алгоритмов. Оценка алгоритма по памяти. Анализ алгоритмов с ветвлениями и циклами.
  2. Алгоритмы сортировки. Алгоритмы сортировки, основанные на сравнении: сортировка слиянием, быстрая сортировка. Оценка сложности алгоритмов сортировки. Оценка время работы алгоритмов сортировки.
  3. Элементарные структуры данных. Стек. Использование списка. Вычисление арифметических выражений с помощью стека. Проверка скобочных выражений. Очереди, деки.
  4. Алгоритмы поиска. Последовательный поиск. Двоичный поиск в отсортированном массиве. Оценка сложности алгоритмов поиска.
  5. Введение в язык программирования. Простейшая программа. Переменные. Типы данных. Размещение переменных в памяти. Арифметические выражения и операции. Этапы решения задач на компьютере. Формализация и алгоритмизация поставленных задач
  6. Вычисления. Деление нацело и остаток. Вещественные значения. Стандартные функции. Случайные числа.
  7. Ветвления. Условный оператор. Сложные условия
  8. Циклические алгоритмы. Цикл с условием. Циклы с постусловием. Циклы по переменной. Вложенные циклы
  9. Процедуры. Процедуры с параметрами. Локальные и глобальные переменные
  10. Функции. Вызов функции. Возврат нескольких значений. Логические функции.
  11. Рекурсия и рекурсивные алгоритмы. Имитация цикла с помощью рекурсии. Рекуррентные соотношения. Ханойские башни. Анализ рекурсивных функций.
  12. Массивы. Ввод и вывод массива. Перебор элементов. Алгоритмы обработки массивов. Поиск в массиве. Срезы массива. Сортировка массивов.
  13. Символьные строки. Операции со строками. Поиск в строках. Примеры обработки строк. Преобразование число-строка. Строки в процедурах и функциях. Рекурсивный перебор.
  14. Работа с файлами. Работа с текстовым файлом: чтение, запись, дозапись. Работа с бинарными файлами.
  15. Написание программного кода с использованием языков программирования, определения и манипулирования данными. Решение и разбор задач.
  16. Двоичное дерево поиска. Обход дерева поиска. Поиск элемента. Поиск минимума и максимума. Вставка и удаление элементов.
  17. Сбалансированные деревья поиска. Обзор сбалансированных деревьев, АВЛ-дерево, Splay-дерево. Операции со сбалансированными деревьями поиска.
  18. Хеширование. Хеш-таблицы с закрытой и открытой адресацией. Свойства хеш-таблицы. Хеширование в современных языках программирования.
  19. Рецензирование кода. Оформление программного кода в соответствии с установленными требованиями. Руководство по стилю. Техники рецензирования кода.
  20. Системы контроля версий. Контроль версий. Коммит. Добавление изменений в репозиторий. Базовые команды Git: синтаксис и опции. Состояния файлов в Git. Удаление и перемещение файлов. Просмотр истории изменений. Ветки в Git. Совместная работа. Проект на Github. Fork и Pull Request.
  21. Введение в базы данных (БД). Понятие базы данных (БД), информационной системы. Типы информационных систем. Транзакции. Модели данных. Таблицы. Индексы. Целостность базы данных.
  22. Многотабличные базы данных. Ссылочная целостность. Типы связей. Реляционная модель данных. Отношения. Математическое описание базы данных. Нормализация.
  23. Основные понятия БД. Запись, поле, типы полей. Простой и составной ключ.
  24. Таблицы. Работа с готовой таблицей. Создание таблиц. Связи между таблицами. Запросы. Конструктор запросов. Критерии отбора.
  25. Системы управления БД и принципы работы с ними. Реляционные и нереляционные базы данных.
  26. Просмотр и редактирование БД. Формы и отчёты.
  27. Проектирование и создание БД. Поэтапное создание проекта БД по заданию преподавателя.
  28. Введение в SQL. Назначение и преимущества. Базовый синтаксис, типы данных и операторы. Выражения. Создание и удаление БД. Создание и удаление таблиц. Добавление записей
  29. Извлечение информации из таблиц. Запрос. Команда SELECT FROM. Получение уникальных данных DISTINCT. Условные запросы WHERE. Предикат LIKE. Сортировка и группировка запросов. ORDER BY. GROUP BY. HAVING.
  30. Соединение таблиц. Виды объединений (JOIN)