Skip to main content

💻 Программирование в кибербезе

📖 Описание модуля

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

Продолжительность: Целевая аудитория: обучающиеся 7-8 классов
Методологический подход: проектное обучение с элементами игрового программирования

🎯 Планируемые образовательные результаты

Предметные результаты:

 1Основы программирования:
 2- Понимание базовых концепций программирования (переменные, циклы, функции)
 3- Знание основных типов данных и структур в Python
 4- Умение читать и понимать простые программы
 5- Навыки отладки и исправления ошибок в коде
 6
 7Применение в безопасности:
 8- Способность создавать простые инструменты для проверки паролей
 9- Умение автоматизировать проверку файлов и папок
10- Навыки работы с зашифрованными данными
11- Понимание того, как программы могут помочь в обеспечении безопасности

Метапредметные результаты:

 1Логическое мышление:
 2- Разложение сложных задач на простые части
 3- Пошаговое планирование решения проблем
 4- Поиск и исправление ошибок в логике
 5- Систематический подход к решению задач
 6
 7Творческие навыки:
 8- Придумывание новых способов решения задач
 9- Создание пользовательских интерфейсов для программ
10- Адаптация готовых решений под свои нужды
11- Презентация своих программных проектов

Личностные результаты:

 1Самостоятельность:
 2- Способность самостоятельно изучать новые возможности Python
 3- Уверенность в решении технических проблем
 4- Готовность экспериментировать и пробовать новое
 5- Понимание важности практики для освоения программирования
 6
 7Ответственность:
 8- Понимание этических аспектов создания программ
 9- Ответственное отношение к данным других людей
10- Готовность помогать семье и друзьям с техническими задачами

📋 Содержательная структура модуля

Урок 29. Python - язык киберзащитников

 1Первый час: Знакомство с Python
 2
 3Введение в Python:
 4- Почему Python популярен в кибербезопасности?
 5- Установка Python и настройка среды разработки
 6- Знакомство с IDLE или простыми онлайн-редакторами
 7- Первая программа: "Привет, кибербезопасность!"
 8
 9Основы языка:
10- Переменные и их типы (строки, числа, логические значения)
11- Ввод данных от пользователя с помощью input()
12- Вывод информации с помощью print()
13- Простые математические операции
14
15Второй час: Первые программы безопасности
16
17Условные конструкции:
18- Оператор if и принятие решений в программе
19- Сравнение значений и логические операторы
20- Практика: программа проверки силы пароля
21
22Циклы и повторения:
23- Цикл for для повторения действий
24- Практика: генератор случайных паролей
25- Простая программа шифрования методом Цезаря
26
27Домашнее задание:
28- Создать программу "Семейный генератор паролей"
29- Добавить возможность выбора длины и сложности

Урок 30. Структуры данных для анализа угроз

 1Первый час: Работа со списками и словарями
 2
 3Структуры данных:
 4- Списки для хранения множества данных
 5- Словари для организации связанной информации
 6- Поиск и фильтрация данных
 7- Сортировка информации по различным критериям
 8
 9Практические задачи:
10- Анализатор частоты символов (основа криптоанализа)
11- Программа для учета паролей (безопасная версия)
12- Счетчик использования различных типов файлов
13
14Второй час: Обработка текстовых данных
15
16Анализ текста для безопасности:
17- Разбор строк и поиск паттернов
18- Подсчет частоты символов
19- Фильтрация и очистка данных
20- Простые примеры поиска email-адресов
21
22Практические проекты:
23- Анализатор логов (простая учебная версия)
24- Программа поиска подозрительных файлов по расширению
25- Проверка текста на потенциально опасные ссылки
26
27Мини-проект:
28- Создание базы данных семейных паролей (зашифрованной)

Урок 31. Файловый детектив

 1Первый час: Основы работы с файлами
 2
 3Файловые операции:
 4- Открытие, чтение и закрытие файлов
 5- Запись данных в файлы
 6- Режимы работы с файлами (чтение, запись, добавление)
 7- Безопасная работа с файлами (использование with)
 8
 9Практические программы:
10- Программа для ведения журнала безопасности
11- Создание списка важных файлов для резервного копирования
12- Автоматическое создание отчетов о работе компьютера
13
14Второй час: Анализ файловой системы
15
16Исследование файлов:
17- Получение информации о файлах (размер, дата создания)
18- Проверка расширений файлов
19- Поиск дубликатов файлов
20- Создание отчетов о состоянии папок
21
22Проекты безопасности:
23- Программа мониторинга изменений в важных папках
24- Автоматическая проверка файлов на подозрительные расширения
25- Генератор отчетов о цифровой активности семьи
26
27Домашнее задание:
28- Создать "Семейного цифрового помощника" для учета файлов

Урок 32. Метаданные и цифровые отпечатки (2 часа)

 1Первый час: Работа с метаданными
 2
 3Понятие метаданных:
 4- Что такое метаданные и зачем они нужны
 5- Извлечение информации о файлах
 6- Анализ времени создания и изменения файлов
 7- Определение типа файла по содержимому
 8
 9Практические задачи:
10- Программа анализа фотографий (базовые метаданные)
11- Создание каталога файлов с подробной информацией
12- Поиск файлов по дате создания или изменения
13
14Второй час: Цифровые отпечатки и целостность
15
16Хеширование для безопасности:
17- Что такое хеш-функции и зачем они нужны
18- Создание контрольных сумм файлов
19- Проверка целостности данных
20- Обнаружение изменений в файлах
21
22Практические проекты:
23- Программа для создания "цифровых отпечатков" важных файлов
24- Система мониторинга изменений в документах
25- Простая программа для проверки целостности резервных копий
26
27Итоговый проект урока:
28- Создание системы контроля версий для школьных проектов

Урок 33. Сетевой программист (2 часа)

 1Первый час: Основы работы с сетью
 2
 3Введение в сетевое программирование:
 4- Библиотека requests для работы с веб-сайтами
 5- Получение информации с веб-страниц
 6- Проверка доступности сайтов
 7- Простой анализ заголовков HTTP
 8
 9Безопасность сетевых соединений:
10- Проверка SSL-сертификатов сайтов
11- Анализ безопасности соединения
12- Обнаружение подозрительных редиректов
13
14Второй час: Мониторинг сетевой безопасности
15
16Практические программы:
17- Монитор доступности любимых сайтов
18- Проверка SSL-сертификатов школьного сайта
19- Простой анализатор безопасности веб-страниц
20- Уведомления о проблемах с интернет-соединением
21
22Автоматизация сетевых задач:
23- Регулярная проверка состояния сайтов
24- Сбор информации о сетевых ресурсах
25- Создание отчетов о сетевой активности
26
27Домашнее задание:
28- Создать программу мониторинга домашней сети
29- Добавить уведомления о подозрительной активности

Урок 34. Веб-разведчик

 1Первый час: Создание веб-приложений
 2
 3Основы Flask:
 4- Создание простейшего веб-сайта
 5- Формы для ввода данных
 6- Обработка пользовательских запросов
 7- Безопасная передача данных между страницами
 8
 9Веб-интерфейсы для безопасности:
10- Онлайн-генератор паролей для семьи
11- Веб-интерфейс для проверки силы паролей
12- Простая система уведомлений о безопасности
13
14Второй час: Веб-безопасность на практике
15
16Основы веб-безопасности:
17- Проверка пользовательского ввода
18- Защита от простых атак
19- Безопасное хранение данных
20- Принципы создания безопасных веб-форм
21
22Практические проекты:
23- Семейная панель мониторинга интернет-безопасности
24- Веб-приложение для образовательных викторин по безопасности
25- Система советов по безопасному поведению в интернете
26
27Итоговый проект:
28- Создание семейного портала безопасности
29- Интеграция всех изученных функций
30- Красивый интерфейс с помощью HTML и CSS

Урок 35. Криптографические эксперименты

 1Первый час: Классические шифры в Python
 2
 3Реализация классических шифров:
 4- Программирование шифра Цезаря с настраиваемым сдвигом
 5- Создание шифра замены с собственным алфавитом
 6- Программа для шифра Виженера
 7- Анализ частоты букв в тексте (основа криптоанализа)
 8
 9Криптоанализ:
10- Программа для взлома шифра Цезаря
11- Статистический анализ зашифрованного текста
12- Поиск ключевых слов в зашифрованных сообщениях
13
14Второй час: Современная криптография
15
16Библиотека cryptography:
17- Симметричное шифрование файлов
18- Генерация криптографически стойких паролей
19- Создание цифровых отпечатков файлов
20- Безопасное хранение зашифрованных данных
21
22Практические криптографические инструменты:
23- Программа для безопасного хранения заметок
24- Шифровальщик файлов с паролем
25- Генератор QR-кодов с зашифрованной информацией
26- Простая система обмена зашифрованными сообщениями
27
28Этические аспекты:
29- Когда можно и нельзя использовать шифрование
30- Ответственность при создании криптографических программ
31- Важность использования проверенных алгоритмов

Урок 36. Проект - персональный помощник безопасности

 1Первый час: Планирование и архитектура
 2
 3Планирование итогового проекта:
 4- Выбор функций для персонального помощника
 5- Определение целевой аудитории (семья, друзья, одноклассники)
 6- Создание технического задания
 7- Проектирование интерфейса пользователя
 8
 9Возможные компоненты помощника:
10- Модуль генерации и проверки паролей
11- Система напоминаний о цифровой безопасности
12- Мониторинг безопасности домашней сети
13- Образовательные викторины по кибербезопасности
14- Система советов по безопасному поведению в интернете
15
16Второй час: Разработка и презентация
17
18Разработка проекта:
19- Создание основной программы с меню
20- Интеграция различных модулей безопасности
21- Добавление пользовательского интерфейса
22- Тестирование всех функций
23
24Презентация и защита:
25- Демонстрация работы программы
26- Объяснение выбранных технических решений
27- Обсуждение возможных улучшений
28- Планирование дальнейшего развития проекта
29
30Рефлексия и планы:
31- Что было самым сложным в изучении программирования?
32- Какие проекты понравились больше всего?
33- Как программирование может помочь в кибербезопасности?
34- Планы на дальнейшее изучение Python и ИТ-технологий

📊 Система оценивания

Формирующее оценивание:

 1Практические навыки (50%):
 2- Правильность написания программ
 3- Способность отлаживать и исправлять ошибки
 4- Креативность в решении задач
 5- Качество оформления кода и комментариев
 6
 7Понимание концепций (30%):
 8- Объяснение принципов работы программ
 9- Понимание связи программирования и безопасности
10- Способность модифицировать готовые программы
11- Применение изученного к новым задачам
12
13Проектная работа (20%):
14- Качество итогового проекта
15- Презентация и защита решений
16- Работа в команде при групповых заданиях
17- Помощь одноклассникам в решении задач

Критерии оценивания проектов:

 1Отлично:
 2- Программа работает без ошибок и выполняет все заявленные функции
 3- Код написан понятно и содержит осмысленные комментарии
 4- Проект решает реальную задачу безопасности
 5- Ученик может объяснить каждую строчку своего кода
 6
 7Хорошо:
 8- Программа работает с незначительными недочетами
 9- Основные функции реализованы правильно
10- Ученик понимает принципы работы своего кода
11- Проект имеет практическую ценность
12
13Удовлетворительно:
14- Программа работает при помощи учителя
15- Основные концепции программирования усвоены
16- Ученик может создавать простые программы по образцу
17- Понимает важность программирования для безопасности

🔬 Методологические особенности

Педагогические принципы:

  • Принцип практической направленности: каждая программа решает реальную задачу
  • Принцип постепенного усложнения: от простых скриптов к сложным проектам
  • Принцип наглядности: использование примеров из повседневной жизни
  • Принцип сотрудничества: взаимопомощь и программирование в парах

Методы обучения:

  • Программирование в парах: студенты работают вместе над одним компьютером
  • Объяснение “резиновой уточке”: проговаривание кода вслух для поиска ошибок
  • Проектное обучение: создание законченных программных продуктов
  • Геймификация: элементы игры и соревнования в изучении программирования

Технические требования:

 1Программное обеспечение:
 2- Python 3.8+ (бесплатный и доступный)
 3- IDLE, Thonny или VS Code (простые среды разработки)
 4- Онлайн-альтернативы: Repl.it, Trinket для начинающих
 5- Браузер для веб-разработки и тестирования
 6
 7Библиотеки Python:
 8- Стандартная библиотека (random, datetime, os, hashlib)
 9- requests для работы с интернетом
10- Flask для веб-разработки (базовые возможности)
11- cryptography для шифрования (с методическими оговорками)

📈 Ожидаемые результаты модуля

Технические навыки:

  • Способность писать простые программы на Python для решения повседневных задач
  • Понимание основных принципов программирования и алгоритмизации
  • Навыки работы с файлами, данными и интернет-ресурсами
  • Базовые знания веб-разработки и практической криптографии

Развитие мышления:

  • Алгоритмический подход к решению проблем
  • Умение разбивать сложные задачи на простые части
  • Систематический поиск и исправление ошибок
  • Творческий подход к программированию и автоматизации

Практическая польза:

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

🎓 Связь с другими модулями курса

Интеграция знаний:

  • Модуль 1 (Цифровая этика): этичное использование программных инструментов
  • Модуль 2 (Компьютерные системы): автоматизация системных задач
  • Модуль 3 (Криптография): программная реализация шифров и алгоритмов
  • Модуль 4 (OSINT): автоматизация поиска и анализа информации
  • Модуль 5 (Веб-безопасность): создание безопасных веб-приложений

Подготовка к будущему:

  • Модуль 7 (CTF): программирование как ключевой инструмент решения соревновательных задач
  • Профильное обучение: основа для углубленного изучения информатики
  • Профориентация: понимание роли программиста в команде кибербезопасности
  • Жизненные навыки: автоматизация повседневных задач и цифровая грамотность