92 lines
9.4 KiB
Markdown
92 lines
9.4 KiB
Markdown
## 40 тем для докладов и презентаций
|
||
|
||
### Раздел 1. Математическая логика в программировании
|
||
1. Логические операторы в языках программирования: от булевой алгебры до ветвлений.
|
||
2. Таблицы истинности и их применение для оптимизации условий в коде.
|
||
3. Законы де Моргана: как упрощать сложные логические выражения в условных операторах.
|
||
4. Схемы приоритетов логических операций (AND, OR, NOT) — почему в Python и Java разные нюансы.
|
||
5. Предикаты и кванторы: проверка условий в массивах и коллекциях (any, all, exists).
|
||
6. Логический вывод в системах проверки типов (TypeScript, MyPy).
|
||
7. Проблема выполнимости булевых формул (SAT) и её роль в тестировании ПО.
|
||
8. Логика Хоара: формальная верификация простых алгоритмов (пред- и постусловия).
|
||
|
||
### Раздел 2. Теория множеств и типы данных
|
||
9. Множества в математике и структуры данных set/hashset: сходства и различия.
|
||
10. Операции над множествами (объединение, пересечение, разность) как аналоги SQL-операторов (UNION, INTERSECT, EXCEPT).
|
||
11. Декартово произведение множеств и его связь с JOIN в реляционных базах данных.
|
||
12. Отношения и функции: что такое «сюръекция» и «инъекция» в контексте отображений в API.
|
||
13. Классы эквивалентности и их применение для группировки данных (MapReduce, группировка в SQL).
|
||
|
||
### Раздел 3. Комбинаторика и теория вероятностей в IT
|
||
14. Комбинаторные принципы в тестировании: попарное тестирование (pairwise testing).
|
||
15. Подсчёт количества паролей: правило суммы и произведения на практике.
|
||
16. Сочетания и бином Ньютона: как работает биномиальная куча в алгоритмах приоритетных очередей.
|
||
17. Размещения и перестановки для генерации тестовых данных (permutations в Python).
|
||
18. Принцип Дирихле (принцип ящиков) и коллизии хеш-функций.
|
||
|
||
### Раздел 4. Теория графов и структуры данных
|
||
19. Графы: матрица смежности vs список смежности — что быстрее для социальных сетей.
|
||
20. Алгоритм Дейкстры и математическое обоснование кратчайших путей.
|
||
21. Обходы графов (DFS/BFS) в поисковых системах и социальных графах.
|
||
22. Эйлеровы и гамильтоновы циклы: задача коммивояжёра и оптимизация маршрутов доставки.
|
||
23. Планарные графы и дизайн печатных плат (PCB layout).
|
||
24. Двудольные графы: рекомендательные системы и задача о назначениях.
|
||
25. Минимальные остовные деревья: алгоритмы Прима и Краскала для построения сетей.
|
||
|
||
### Раздел 5. Алгоритмы, рекурсия и индукция
|
||
26. Математическая индукция — доказательство корректности рекурсивных функций.
|
||
27. Рекуррентные соотношения и анализ сложности рекурсивных алгоритмов (базовый уровень).
|
||
28. Алгоритм быстрой сортировки: доказательство через индуктивный инвариант.
|
||
29. Ханойские башни — классический пример рекурсии и экспоненциальной сложности.
|
||
30. Жадные алгоритмы и матроиды: почему жадность работает для задачи о выборе заявок.
|
||
|
||
### Раздел 6. Булевы функции и цифровая логика
|
||
31. Булевы функции и логические вентили: от математики к цифровым схемам процессора.
|
||
32. СДНФ и СКНФ: минимизация логических схем (карты Карно).
|
||
33. Полные системы булевых функций: почему набор {И, НЕ} — базис для всей цифровой логики.
|
||
34. Сумматор и триггер: как дискретная математика лежит в основе АЛУ.
|
||
|
||
### Раздел 7. Теория кодирования и информационная безопасность
|
||
35. Коды Хэмминга: обнаружение и исправление ошибок в памяти RAM.
|
||
36. Циклические коды и контрольные суммы (CRC) в сетевых протоколах.
|
||
37. Хеш-функции с точки зрения отображения множеств: коллизии и криптостойкость.
|
||
38. Коды Рида-Соломона в QR-кодах и компакт-дисках.
|
||
|
||
### Раздел 8. Формальные языки и автоматы
|
||
39. Конечные автоматы как математическая модель лексического анализатора (регулярные выражения).
|
||
40. Контекстно-свободные грамматики и синтаксический разбор: связь с деревьями вывода в компиляторах.
|
||
|
||
---
|
||
|
||
## Система оценивания доклада и презентации (макс. 100 баллов)
|
||
|
||
Оценивается как содержание, так и защита.
|
||
|
||
### 1. Содержание доклада (40 баллов)
|
||
- **Полнота раскрытия темы (15)** – есть ли введение, основная часть, примеры из ИТ, заключение.
|
||
- **Терминологическая точность (10)** – правильное использование мат. понятий (множества, графы, кванторы и т.д.).
|
||
- **Связь с практикой (10)** – приведены реальные примеры из программирования, баз данных, тестирования, сетей.
|
||
- **Актуальность / примеры из современных технологий (5)** – упоминание конкретных языков, алгоритмов, инструментов.
|
||
|
||
### 2. Качество презентации (30 баллов)
|
||
- **Структура и логика слайдов (10)** – титульный слайд, оглавление, заголовки, заключение, слайд «вопросы».
|
||
- **Визуальное оформление (10)** – читаемый шрифт, минимум текста, схемы/графики вместо длинных формул, единый стиль.
|
||
- **Наглядность примеров (10)** – блок-схемы, графы, таблицы истинности, фрагменты кода (в читаемом виде).
|
||
|
||
### 3. Подача и защита (30 баллов)
|
||
- **Владение материалом (10)** – студент не читает с листа, свободно объясняет термины.
|
||
- **Тайминг (5)** – укладывается в регламент (обычно 5–7 минут).
|
||
- **Ответы на вопросы (10)** – понятные, по существу, демонстрирует понимание.
|
||
- **Привлечение внимания аудитории (5)** – контакт с группой, логические переходы, отсутствие монотонности.
|
||
|
||
### Шкала перевода в оценку.
|
||
- **85–100 баллов** – отлично (5)
|
||
- **70–84** – хорошо (4)
|
||
- **50–69** – удовлетворительно (3)
|
||
- **0–49** – неудовлетворительно (2, но в рамках учебного доклада обычно просят доработать)
|
||
|
||
### Доп рекомендасьен:
|
||
- На 1 слайде – не более 5–7 строк текста.
|
||
- Обязательно приводите маленький пример кода или визуализацию.
|
||
- Для графов используйте простые редакторы (draw.io, Graphviz online).
|
||
- Не перегружайте формулами: лучше одна ключевая формула + пояснение, чем 10 формул без контекста. |