Загрузка
UP

Методичка для преподавателя информатики

11 класс, 1-я четверть (8 уроков)

Темы:

  1. Алгоритмы и структуры данных: работа с графами, деревьями, хэш-таблицами, динамическое программирование.
  2. Программирование: сложное ООП — шаблоны, интерфейсы, многопоточность, обработка исключений.
  3. Введение в проектное программирование: архитектура программного обеспечения, моделирование систем, UML-диаграммы.

Урок 1: Алгоритмы работы с графами — поиск кратчайшего пути

Цель:
Изучить алгоритмы поиска кратчайшего пути в графах, такие как алгоритм Дейкстры.

План урока:

  1. Основы графов (10 мин).
    • Представление графов: списки смежности и матрицы смежности.
    • Задача поиска кратчайшего пути в графе.
  2. Алгоритм Дейкстры (15 мин).
    • Принцип работы алгоритма, пример его использования.
    • Время работы алгоритма и его оптимизация.
  3. Практическая работа (20 мин).
    • Реализация алгоритма Дейкстры на выбранном языке программирования (например, Python, C++).

Домашнее задание:
Завершить реализацию алгоритма и протестировать его на примерах.


Урок 2: Динамическое программирование

Цель:
Изучить основы динамического программирования на примере задач оптимизации.

План урока:

  1. Понятие динамического программирования (10 мин).
    • Отличие от жадных алгоритмов и метода полного перебора.
    • Пример задачи с динамическим программированием (задача о рюкзаке).
  2. Применение динамического программирования (10 мин).
    • Основные шаги: определение подзадач, рекуррентные соотношения, мемоизация.
  3. Практическая работа (20 мин).
    • Реализация задачи с динамическим программированием.

Домашнее задание:
Решить задачи на динамическое программирование (например, задача о наибольшей возрастающей подпоследовательности).


Урок 3: Структуры данных — деревья и хэш-таблицы

Цель:
Изучить деревья и хэш-таблицы, их применение и алгоритмы работы с ними.

План урока:

  1. Основы деревьев (10 мин).
    • Двоичные деревья, деревья поиска (BST), балансировка деревьев (AVL, красно-черные деревья).
  2. Хэш-таблицы (10 мин).
    • Принцип работы хэш-таблиц, коллизии и методы их разрешения.
  3. Практическая работа (20 мин).
    • Реализация базовых операций с деревьями и хэш-таблицами (вставка, удаление, поиск).

Домашнее задание:
Завершить реализацию алгоритмов и подготовить примеры работы.


Урок 4: Сложное ООП — шаблоны и интерфейсы

Цель:
Погрузить учеников в работу с шаблонами (generics) и интерфейсами в объектно-ориентированном программировании.

План урока:

  1. Шаблоны (Generics) (10 мин).
    • Понятие шаблонов в ООП, использование generics для создания универсальных классов и функций.
    • Примеры использования generics на выбранном языке (C++, Java).
  2. Интерфейсы и абстрактные классы (10 мин).
    • Различия между интерфейсами и абстрактными классами, применение в проектировании программ.
  3. Практическая работа (20 мин).
    • Реализация простых программ с использованием шаблонов и интерфейсов.

Домашнее задание:
Разработать несколько классов с использованием интерфейсов и шаблонов.


Урок 5: Многопоточность и обработка исключений

Цель:
Изучить основы многопоточности и обработки исключений в программировании.

План урока:

  1. Многопоточность (10 мин).
    • Основы работы с потоками, синхронизация потоков, проблемы гонки потоков (race condition).
    • Использование многопоточности для оптимизации выполнения программ.
  2. Обработка исключений (10 мин).
    • Принципы обработки ошибок и исключений в программировании.
    • Конструкции try-catch-finally в разных языках.
  3. Практическая работа (20 мин).
    • Реализация многопоточной программы с обработкой исключений.

Домашнее задание:
Завершить многопоточные задачи и протестировать обработку исключений в программах.


Урок 6: Введение в проектное программирование — архитектура ПО

Цель:
Познакомить учеников с основами проектирования программного обеспечения и его архитектуры.

План урока:

  1. Основы архитектуры ПО (10 мин).
    • Модульность, разделение ответственности, принципы SOLID.
    • Шаблоны проектирования (паттерны) и их применение.
  2. Моделирование систем (10 мин).
    • Разработка архитектуры системы: слои приложения, компоненты и взаимодействие.
  3. Практическая работа (20 мин).
    • Построение архитектуры простого проекта.

Домашнее задание:
Создать архитектуру собственного программного проекта с использованием принципов SOLID.


Урок 7: UML-диаграммы для моделирования систем

Цель:
Изучить базовые UML-диаграммы для моделирования систем и программного обеспечения.

План урока:

  1. Введение в UML (10 мин).
    • Основные виды диаграмм: диаграмма классов, диаграмма последовательности, диаграмма компонентов.
    • Примеры их использования для описания архитектуры системы.
  2. Практическая работа (20 мин).
    • Построение диаграммы классов и диаграммы последовательности для проектируемого ПО.

Домашнее задание:
Завершить построение UML-диаграмм для проекта.


Урок 8: Подведение итогов — презентация проектов и архитектур

Цель:
Подведение итогов работы за четверть, презентация разработанных архитектур и проектов.

План урока:

  1. Презентация проектов (30 мин).
    • Представление архитектуры ПО, описание моделей и методов, использованных в проекте.
  2. Анализ и обсуждение (10 мин).
    • Вопросы и обсуждение представленных проектов, разбор сильных и слабых сторон.
  3. Подведение итогов (10 мин).
    • Итоговая оценка проектов, обсуждение дальнейших тем и задач.

Домашнее задание:
Подготовить полный отчет по проекту, включая UML-диаграммы и описание архитектуры.


Эта методичка обеспечивает углубленное изучение сложных алгоритмов, ООП и проектного программирования, что позволит ученикам развить навыки, необходимые для реальных программных проектов.