Главная ошибка доклада по программированию — обзор языков или технологий без единой написанной строки кода. Текст вида «топ языков программирования» или «что такое программирование» пересказывает общедоступные факты, но не показывает, что автор умеет писать и проверять код сам. На защите такой доклад не готовит ни к одному практическому вопросу, потому что в нём просто нечего показать на экране.
Отдельного школьного предмета «программирование» не существует — тема идёт разделом внутри информатики, начиная примерно с 7–8 класса, и становится заметно глубже в профильных классах и на элективных курсах. Как самостоятельная дисциплина программирование появляется в колледже на специальностях, связанных с разработкой программного обеспечения, и в вузе — на направлениях информатики, программной инженерии и прикладной математики. Прежде чем писать текст, стоит понять, для какого уровня он готовится: школьный доклад про информатику в целом и вузовский доклад про конкретный алгоритм — разные по глубине работы.
Вторая частая ошибка — путать такую работу с докладом по информатике. Информатика — предмет шире: туда входят устройство компьютера, сети, кодирование информации и работа с данными. Эта же тема сужена до языков, алгоритмов и кода — если задание требует рассказа об устройстве процессора или истории вычислительной техники в целом, это уже материал для другой работы, а не для доклада о написанной программе.
Что ждут на разных уровнях
| Уровень | Что ждут | Источники и материал |
|---|---|---|
| Школа (информатика, элективный курс) | разбор одного алгоритма или языка с простым примером кода | 1–2 источника, учебник информатики, собственная короткая программа |
| Колледж (специальности разработки) | рабочий код с пояснением логики, сравнение двух подходов | 2–3 источника, документация языка, собственный проект |
| Вуз (информатика, программная инженерия) | анализ сложности алгоритма, замер и обоснование результата | 3–4 источника, включая научную или техническую литературу, код с измерениями |
Учебная работа целиком — за 3 минуты
- Структура и оформление по ГОСТу
- Уникальный текст
- Готово за 2–3 минуты
Где брать материал
- Официальная документация языка — для Python, Java, C++ и других языков документация точна и регулярно обновляется, в отличие от случайных статей с устаревшими примерами.
- Учебник информатики или алгоритмов своей программы — для базовых понятий: сложности алгоритма, структур данных, принципов языка.
- Собственный код — написанная самостоятельно программа или фрагмент, который можно запустить и показать на выступлении.
- Открытые курсы и книги признанных авторов по алгоритмам — для тем, где нужно сослаться на то, как сложность алгоритма принято обозначать и сравнивать.
Цифры про производительность языков, зарплаты программистов и рейтинги популярности в докладе лучше не приводить без проверенного источника на конкретную дату — такие рейтинги меняются быстрее, чем успевает устареть сам доклад, и без ссылки на источник выглядят как предположение.
Как выбрать тему
Рабочая тема доклада по программированию — это один язык, один алгоритм, одна историческая деталь или собственная написанная программа, а не программирование как область целиком.
- Сортировка пузырьком и быстрая сортировка: сравнение по времени выполнения.
- История одного языка программирования и его создателя.
- Рекурсия на примере собственной программы — вычисление чисел Фибоначчи.
- Стек и очередь: в каких задачах используют каждую структуру.
- Написание простого калькулятора: этапы разработки и логика кода.
- Хеш-таблицы: как устроены и почему поиск в них быстрый.
Полный список тем по группам собран в таблицах ниже — там же указано, что раскрыть по каждой. Общие правила сужения темы для любого предмета разобраны в статье про выбор темы доклада.
Разбор одной темы целиком: сортировка пузырьком и быстрая сортировка
Сужение. «Алгоритмы сортировки» — тема для целого раздела курса. Рабочая формулировка: «Сортировка пузырьком и быстрая сортировка: сравнение по времени выполнения на одинаковом наборе данных».
Источники. Раздел учебника или курса про алгоритмы сортировки, документация языка для функции измерения времени (например, модуль time в Python), собственный код обоих алгоритмов.
Код. Сортировка пузырьком сравнивает соседние элементы массива и меняет их местами, если порядок нарушен, повторяя проход, пока массив не упорядочен полностью — у неё сложность порядка n² от размера массива. Быстрая сортировка выбирает опорный элемент, делит массив на часть меньше и часть больше опорного, и рекурсивно сортирует каждую часть — средняя сложность порядка n log n, то есть она растёт медленнее при увеличении размера данных.
Измерение. Обе функции запускают на одинаковом случайном массиве — например, из 1000, 10 000 и 100 000 чисел — и замеряют время выполнения модулем time, беря среднее значение по нескольким запускам, а не единичный результат. Полученные у себя числа заносят в таблицу: размер массива в одной колонке, время каждого алгоритма в двух других. Указывать конкретные секунды или миллисекунды в тексте доклада можно только из собственного замера на своём компьютере — у другого устройства результат будет другим, и это стоит оговорить на защите.
План. Три пункта: как работает каждый алгоритм и в чём разница подходов, как устроен собственный замер времени выполнения, что показывает результат на разных размерах массива и почему.
Текст. Введение — 3–4 предложения о том, почему сравнение по времени нагляднее, чем простое описание алгоритмов. Середина доклада держится на трёх частях: сама задача сортировки массива, алгоритм каждого подхода с показом кода, и замер — таблица собственных измерений времени выполнения на разных размерах массива. Заключение — вывод о том, что на малых массивах разница в скорости может быть незаметной из-за накладных расходов, а на больших массивах быстрая сортировка заметно выигрывает за счёт меньшего порядка роста числа операций.
Выступление. На слайде показывают код обеих функций и таблицу с собственными измеренными числами — устное описание без этих двух элементов на защите звучит как пересказ определения из учебника. Как готовить само выступление с демонстрацией кода, разобрано в статьях «Как написать доклад» и «Презентация к докладу».
Как оформить код в тексте доклада
Фрагмент кода в докладе оформляют отдельным блоком, а не вставляют в сплошной текст абзаца — это упрощает чтение и показывает, что автор отличает код от обычного текста. Перед блоком кода стоит короткое пояснение, что именно делает программа, а после — что получилось на выходе: число, строка, время выполнения. Комментарии внутри самого кода допустимы, если они объясняют нетривиальный шаг, но не нужны для очевидных строк вроде присвоения переменной.
Если код занимает больше десяти-пятнадцати строк, для устного доклада его стоит сократить до ключевого фрагмента — функции или цикла, который реализует основную идею, — а полный текст программы вынести в приложение. На выступлении читают не весь код построчно, а объясняют логику словами, показывая на экране, какая часть кода отвечает за какой шаг.
Стиль оформления самого кода тоже стоит привести к единому виду: одинаковый отступ для вложенных блоков, понятные имена переменных вместо одиночных букв там, где это не индекс цикла, и согласованный регистр в названиях функций. Код, написанный в разных частях доклада разным стилем — где-то с отступом в два пробела, где-то в четыре, — выглядит как склеенные фрагменты из разных источников, а не как собственная последовательная работа.
Языки программирования
| Тема | Что раскрыть |
|---|---|
| Python и Java: для каких задач подходит каждый язык | синтаксис, область применения, пример простой задачи на каждом языке |
| C++ в системном программировании и разработке игр | почему выбирают этот язык для задач с высокими требованиями к скорости |
| JavaScript и роль языка в работе сайтов | что выполняется в браузере, простой пример скрипта на странице |
| История одного языка программирования и его создателя | страна, период создания, причина появления языка по данным документации |
Алгоритмы и структуры данных
| Тема | Что раскрыть |
|---|---|
| Сортировка пузырьком и быстрая сортировка: сравнение по времени | собственный код и замер на разных размерах массива |
| Поиск в глубину и поиск в ширину на графе | разница обхода, пример на простом графе из нескольких вершин |
| Стек и очередь: в каких задачах используют каждую структуру | принцип работы, один пример задачи для каждой структуры |
| Хеш-таблицы: как устроены и почему поиск в них быстрый | принцип хеширования, сравнение скорости поиска с обычным списком |
Учебная работа по вашей теме — за 2–3 минуты
Титульный лист, введение, главы, заключение и список литературы. Оформление по ГОСТу, готовый файл Word — работа целиком, а не текст для доработки.
- Список литературы по ГОСТу
- Объём выбираете сами
- Уникальный текст
Тему укажете на следующем шаге
История программирования
| Тема | Что раскрыть |
|---|---|
| Ада Лавлейс и первая программа для аналитической машины | что именно было запрограммировано по историческим данным |
| От перфокарт к современным средам разработки | этапы смены способа ввода программы, один конкретный пример техники |
| История создания языка Pascal | причина создания для обучения, особенности синтаксиса |
| Первые языки программирования высокого уровня | чем такой язык отличается от машинного кода, один пример |
Собственный код и практика
| Тема | Что раскрыть |
|---|---|
| Написание простого калькулятора: этапы разработки | логика программы, код, пример работы на конкретных числах |
| Игра «Угадай число»: алгоритм и реализация | логика угадывания, код, число попыток в собственном тесте |
| Скрипт для автоматизации повторяющейся задачи | что делает скрипт, какой код использован, что изменилось после запуска |
| Рекурсия на примере вычисления чисел Фибоначчи | код функции, объяснение рекурсивного вызова, ограничение метода |
| Измерение времени выполнения разных алгоритмов на своих данных | методика замера, собственная таблица результатов |
Как показать код на защите
Живой запуск программы во время выступления рискован: может не оказаться интернета, на чужом компьютере не найдётся нужной версии языка или библиотеки, а компилятор выдаст ошибку, не связанную с темой доклада. Надёжнее один раз запустить код заранее, сохранить результат — число, график, таблицу измерений — и показать на слайде уже готовый результат вместе с текстом программы. Если демонстрация всё же нужна, её стоит заранее проверить на том компьютере или проекторе, где пройдёт защита, а не только на собственном ноутбуке.
Отдельно указывают версию языка и использованные библиотеки — одна и та же конструкция может работать по-разному в разных версиях Python или C++, и вопрос на защите иногда касается именно этой разницы. Если программа использует внешнюю библиотеку, её название и версию приводят рядом с кодом как источник, наравне с книгой или статьёй.
На защите чаще всего спрашивают, почему выбран именно такой алгоритм или язык, а не более очевидный для задачи вариант, и что изменится в результате, если входные данные станут заметно больше или меньше. Короткие ответы на оба вопроса стоит подготовить заранее, опираясь на собственный код и измерения, а не на общие рассуждения о языке в целом.
Частые ошибки
Делают обзор «топ языков» без единой строки кода. Перечисление языков или технологий без собственной программы не показывает, что автор умеет применять материал.
Путают тему про код и алгоритмы с докладом по информатике. Рассказ об устройстве компьютера или истории вычислительной техники в целом относится к другому предмету, а не к работе про код и алгоритмы.
Приводят числа времени выполнения без собственного замера. Цифра про скорость алгоритма без указания, на каком устройстве и как она получена, не проверяется и на защите не выдерживает вопроса.
Используют чужой код без указания источника. Фрагмент, найденный в интернете, допустим как иллюстрация, но если он выдаётся за собственную работу, это быстро вскрывается вопросом о логике конкретной строки.
Вставляют код без объяснения логики. Блок программы без пояснения, что происходит на каждом шаге, выглядит как вставка без понимания, а не как разбор алгоритма.
Берут тему не по уровню работы. Сложный анализ асимптотической сложности в школьном докладе или, наоборот, доклад без единого алгоритма на вузовском уровне не соответствует ожиданиям.
Чек-лист
- Тема сужена до одного языка, алгоритма или собственной программы.
- Понятно, для какого уровня готовится доклад — школа, колледж или вуз.
- В докладе есть собственный код, который можно запустить и показать.
- Если в тексте есть числа времени выполнения, они получены собственным замером.
- Логика каждого фрагмента кода объяснена словами, а не только показана на экране.
- Тема про код и алгоритмы не подменена докладом по информатике в целом.
- Чужой код, если он использован, подписан источником.
- Составлен план из трёх пунктов с опорой на источники и собственный код.
- Заключение содержит обоснованный вывод, а не повтор введения.
- Выступление с демонстрацией кода прочитано вслух и укладывается в отведённое время.
Что дальше
Объём, который код и таблица замеров отнимают у текста, стоит сверить заранее — сколько страниц уместно отвести под листинг, разобрано в статье «Объём доклада». Код и вывод про рост числа операций укладывают в три части текста по правилам из статьи «Структура доклада». Слайд с кодом и готовым результатом замера собирают по советам из статьи «Презентация к докладу». Документацию языка или книгу по алгоритмам в списке источников указывают по правилам из статьи «Список литературы в докладе».
Если алгоритм или язык для доклада уже выбраны, а написать код, замерить время и оформить текст некогда, Нейросова подготовит такую работу с собственным примером кода и замерами.
Часто задаваемые вопросы
Есть ли в школе отдельный предмет «программирование»?
Нужно ли приносить на защиту собственный код?
Как правильно измерить время выполнения программы?
Чем доклад по программированию отличается от доклада по информатике?
Можно ли использовать в докладе код, найденный в интернете?
Нейросова напишет любую учебную работу
Статья помогает сделать самому. Если времени нет — оставьте тему, остальное соберём сами: от плана до списка литературы.
- Структура и оформление по ГОСТу
- Список литературы по ГОСТу
- Уникальный текст, формат Word
- Оплата после предпросмотра