Методичка для преподавателя информатики
10 класс, 1-я четверть (8 уроков)
Темы:
- Алгоритмы и структуры данных: углубление в сортировки (быстрая сортировка, пирамидальная сортировка), поиск, алгоритмы на графах (поиск в глубину, поиск в ширину).
- Программирование: углубленное объектно-ориентированное программирование (ООП) — работа с классами, наследование, инкапсуляция, полиморфизм.
- Введение в сетевые технологии: основы сетевых взаимодействий, протоколы (HTTP, FTP), основы работы с сетями и Интернетом.
Урок 1: Алгоритмы сортировки — повторение и углубление
Цель:
Повторить основные алгоритмы сортировки, углубиться в понятие быстрой и пирамидальной сортировки.
План урока:
- Повторение базовых алгоритмов сортировки (10 мин).
- Сортировка вставками, выбором, пузырьком — краткое напоминание.
- Понимание сложности алгоритмов: O(n), O(n²), O(log n).
- Быстрая сортировка (Quicksort) (15 мин).
- Принцип работы алгоритма, рекурсия и разбиение массива.
- Оценка времени выполнения, реализация на Python или другом языке программирования.
- Пирамидальная сортировка (Heapsort) (15 мин).
- Введение в структуру данных “куча” (heap), построение и сортировка.
- Практическая реализация алгоритма.
Практическая работа:
Написание программ для быстрой и пирамидальной сортировки.
Домашнее задание:
Реализовать быструю и пирамидальную сортировки для заданных наборов данных и сравнить их по производительности.
Урок 2: Алгоритмы поиска — линейный и бинарный поиск
Цель:
Разобрать и применить линейный и бинарный поиски, их особенности и применение в программировании.
План урока:
- Линейный поиск (5 мин).
- Простой подход к поиску в неупорядоченных массивах.
- Оценка сложности: O(n).
- Бинарный поиск (10 мин).
- Условия использования бинарного поиска (упорядоченные массивы).
- Оценка сложности: O(log n), примеры использования.
- Практическая работа (25 мин).
- Реализация программ с линейным и бинарным поиском, тестирование на различных наборах данных.
Домашнее задание:
Реализовать бинарный поиск для большого упорядоченного массива и провести тесты производительности.
Урок 3: Алгоритмы на графах — поиск в глубину (DFS)
Цель:
Познакомить с основами работы с графами, научить реализовывать алгоритм поиска в глубину.
План урока:
- Что такое графы? (10 мин).
- Вершины и ребра, типы графов (ориентированные и неориентированные).
- Применение графов в реальной жизни: социальные сети, карты, маршрутизация.
- Алгоритм поиска в глубину (DFS) (10 мин).
- Принцип работы алгоритма, использование рекурсии.
- Примеры задач, решаемых с помощью DFS.
- Практическая работа (20 мин).
- Реализация DFS для графов, поиск связных компонентов.
Домашнее задание:
Применить DFS для решения задачи о нахождении пути в лабиринте или другой задачи с графами.
Урок 4: Алгоритмы на графах — поиск в ширину (BFS)
Цель:
Научить реализовывать и применять алгоритм поиска в ширину для различных задач.
План урока:
- Алгоритм поиска в ширину (BFS) (10 мин).
- Разбор принципа работы, отличие от DFS.
- Оценка сложности, применение в поиске кратчайшего пути.
- Применение BFS (10 мин).
- Примеры задач: маршруты в графах, минимальное количество шагов в лабиринте.
- Практическая работа (20 мин).
- Реализация BFS, нахождение кратчайшего пути в графе.
Домашнее задание:
Решить задачу по нахождению кратчайшего пути между вершинами графа с использованием BFS.
Урок 5: Углубленное объектно-ориентированное программирование (ООП) — классы и объекты
Цель:
Научить работать с классами и объектами в программировании, создать первые классы с конструкторами.
План урока:
- Повторение основных концепций ООП (5 мин).
- Классы, объекты, методы, атрибуты.
- Создание классов и объектов (15 мин).
- Создание первого класса, использование конструктора для инициализации.
- Примеры создания и работы с объектами в Python или другом языке программирования.
- Практическая работа (20 мин).
- Реализация классов и объектов для задачи управления библиотекой или простой игры.
Домашнее задание:
Создать класс, описывающий студентов с атрибутами (имя, возраст, класс), реализовать методы для изменения этих атрибутов.
Урок 6: Наследование и инкапсуляция
Цель:
Познакомить учеников с концепциями наследования и инкапсуляции в ООП.
План урока:
- Наследование в ООП (10 мин).
- Определение наследования, создание дочерних классов.
- Примеры использования наследования для расширения функционала.
- Инкапсуляция (10 мин).
- Принцип скрытия данных и методов от внешнего мира.
- Примеры инкапсуляции: модификаторы доступа (public, private, protected).
- Практическая работа (20 мин).
- Создание классов с наследованием и инкапсуляцией.
Домашнее задание:
Создать базовый класс и два дочерних, применить наследование для расширения их функционала.
Урок 7: Полиморфизм и абстракция в ООП
Цель:
Познакомить с полиморфизмом и абстракцией, научить применять их в программировании.
План урока:
- Полиморфизм в ООП (10 мин).
- Принцип полиморфизма, примеры работы с одноименными методами в разных классах.
- Абстракция (10 мин).
- Что такое абстракция, как создавать абстрактные классы и методы.
- Практическая работа (20 мин).
- Реализация примеров с полиморфизмом и абстракцией.
Домашнее задание:
Реализовать полиморфизм в рамках задачи с созданием разных типов геометрических фигур, которые могут рассчитывать свои параметры.
Урок 8: Введение в сетевые технологии — основы сетей и протоколов
Цель:
Познакомить учеников с сетевыми технологиями, принципами работы сетей и основными протоколами.
План урока:
- Основы сетей (10 мин).
- Локальные и глобальные сети, IP-адресация, маршрутизация данных.
- Сетевые протоколы (15 мин).
- Введение в HTTP и FTP, назначение и работа.
- Примеры взаимодействия клиента и сервера через HTTP-запросы.
- Практическая работа (15 мин).
- Работа с простыми HTTP-запросами с использованием браузера или программы (например, Postman).
Домашнее задание:
Исследовать работу HTTP-запросов с помощью доступных инструментов и представить отчет о наблюдениях.
Эта методичка позволит ученикам 10-го класса глубже понять алгоритмы, структуры данных, объектно-ориентированное программирование и сетевые технологии.