Зачем нужен словарь терминов программирования
Словарь нужен, чтобы ребёнок и взрослый говорили об одной программе одними словами: «цикл не останавливается» понятнее, чем «оно всё время повторяется». Точное слово помогает и спросить учителя, и найти ответ в справке.
Многие термины пришли из английского и звучат непривычно: «баг», «дебаг», «IDE». Другие похожи на обычные слова, но значат более узкую вещь: «строка» в программировании — это текст в кавычках, а не строчка в тетради, «список» — особый тип данных, а не перечень покупок. Поэтому словарь полезен не только новичку, но и родителю, который хочет понять, о чём рассказывает ребёнок после занятия.
Слова разбиты на 6 групп: основы, данные, управление порядком действий, функции и модули, ошибки, инструменты. Внутри группы термины идут от простого к сложному. Каждое объяснение короткое; если понятие разобрано подробно в отдельном уроке, рядом есть ссылка.
Термины программирования здесь даны в том значении, в каком их использует школьная информатика и официальная документация Python. Определения не стоит воспринимать как формулировки для зачёта: в разных учебниках они звучат по-разному. Если формулировки расходятся, не нужно выбирать «единственно верную» — важно понимать, что за ними стоит одно и то же действие или объект.
Основы: алгоритм, программа, синтаксис
Алгоритм — это точный порядок действий для решения задачи, а программа — тот же алгоритм, записанный на языке, понятном компьютеру. С этих 8 слов начинается любой курс информатики.
| Термин | Что значит |
| Алгоритм | Последовательность понятных шагов, которая приводит к результату. Рецепт пирога — тоже алгоритм. |
| Исполнитель | Тот, кто выполняет команды: компьютер, робот, Черепашка на уроке информатики. |
| Команда | Одно указание исполнителю: «вперёд 10», print("Привет"). |
| Программа | Алгоритм, записанный на языке программирования, который компьютер может выполнить. |
| Исходный код | Текст программы, который пишет человек. Его можно читать, менять и копировать. |
| Язык программирования | Набор слов и правил для записи программ: Python, C++, Паскаль, Scratch. |
| Синтаксис | Правила записи: где ставить скобки, двоеточия и кавычки. |
| Программист | Человек, который придумывает алгоритмы и записывает их в виде кода. |
По федеральной образовательной программе основного общего образования на уроках информатики в 8 классе изучают исполнителей Робот, Черепашка и Чертёжник[1]. Исполнитель с небольшим набором команд — удобный способ понять, что такое алгоритм, ещё до первой строки на Python. Подробнее об этом рассказывает статья про алгоритмы для детей.
Данные: переменная, тип, список
Данные — это всё, с чем работает программа: числа, слова, ответы «да» и «нет». Для их хранения и обработки есть 10 базовых понятий, и почти все встречаются уже в первой программе.
| Термин | Что значит |
| Переменная | Имя, под которым программа хранит значение. В ochki = 0 переменная называется ochki. |
| Присваивание | Запись значения в переменную знаком =. |
| Значение | То, что лежит в переменной: число 5, слово «кот». |
| Тип данных | Вид значения: целое число int, дробное float, строка str. |
| Целое число | Число без дробной части: 7, −3, 0. |
| Строка | Текст в кавычках: "Привет". |
| Логическое значение | Истина или ложь: True и False. |
| Список (массив) | Набор значений по порядку: [3, 1, 4]. |
| Индекс | Номер элемента в списке или строке. Счёт идёт с нуля. |
| Словарь | Набор пар «ключ — значение»: {"кот": 4}. |
Переменную часто объясняют как «коробку с надписью». Метафора хороша для начала, но держаться за неё долго не стоит: в Python точнее сказать «ярлык»: имя указывает на значение, и два имени могут указывать на один и тот же список. Подробно о правилах имён — в уроке про переменные в Python. Массивом в школьной программе называют то, что в Python называется списком; разница в деталях, а смысл одинаковый.
Управление: условие, цикл, итерация
Если программа должна что-то выбрать или повторить, используются условия и циклы. Это 8 терминов, без которых не обходится ни одна игра и ни одна задача с перебором.
| Термин | Что значит |
| Условие | Проверка, ответ на которую «да» или «нет»: x > 5. |
| Ветвление | Выбор, какую часть программы выполнить: if, elif, else. |
| Сравнение | Операция, которая сопоставляет два значения: ==, <, >=. |
| Цикл | Повторение команд: for или while, в Scratch — «повторить». |
| Тело цикла | Команды, которые повторяются; в Python они сдвинуты отступом. |
| Итерация | Один проход цикла. Цикл из 10 повторов делает 10 итераций. |
| Счётчик | Переменная, которая считает шаги или найденные элементы. |
| Бесконечный цикл | Цикл, условие которого никогда не становится ложным. |
Исследователи Brennan и Resnick относят последовательности, циклы, события, параллельность, условия, операторы и данные к базовым понятиям вычислительного мышления[2]. Почти все они есть в этом словаре. «События» и «параллельность» лучше всего видны в Scratch, где несколько спрайтов действуют одновременно и реагируют на нажатие флажка.
Функции, модули и объекты
Функция — это именованный кусок кода, который можно вызвать много раз. Вокруг неё сложилось 10 терминов, и их полезно различать, потому что «аргумент» и «параметр» часто путают даже взрослые.
| Термин | Что значит |
| Функция | Подпрограмма с именем. В Python создаётся словом def. |
| Вызов | Запуск функции по имени со скобками: len("кот"). |
| Параметр | Имя в описании функции, которое примет входное значение. |
| Аргумент | Конкретное значение, переданное при вызове. |
| Возвращаемое значение | Результат, который функция отдаёт словом return. |
| Встроенная функция | Готовая функция языка: print, len, sum. |
| Модуль | Файл с готовыми функциями, который подключают через import. |
| Библиотека | Набор модулей для одной области: графика, математика, игры. |
| Объект | Значение вместе с его действиями. В Python объектами являются даже числа. |
| Метод | Действие объекта, вызываемое через точку: "кот".upper(). |
def privet(imya):
return "Привет, " + imya + "!"
print(privet("Маша"))
Здесь imya — параметр, "Маша" — аргумент, строка «Привет, Маша!» — возвращаемое значение. В официальной документации Python эти слова используются именно так[3]. Больше примеров — в уроке про функции в Python.
Ошибки: баг, отладка, исключение
Баг — это ошибка в программе, из-за которой она работает не так, как задумано. Поиск и исправление багов называется отладкой, и для этого процесса есть ещё 5 полезных слов.
| Термин | Что значит |
| Баг | Ошибка в программе. От английского bug — «жук». |
| Отладка | Поиск и исправление ошибок; по-английски debugging, отсюда «дебаг». |
| Синтаксическая ошибка | Нарушение правил записи, из-за которого программа не запускается. |
| Исключение | Ошибка во время работы: деление на ноль, неверный индекс. |
| Traceback | Сообщение Python об ошибке: в каком файле, в какой строке и что случилось. |
| Трассировка | Пошаговое выполнение программы вручную с записью значений переменных в таблицу. |
| Тест | Пример входных данных с заранее известным правильным ответом. |
Ошибиться не стыдно: отладка — обычная часть работы любого программиста. Прятать баг или переписывать программу с нуля не стоит: почти всегда ошибку можно найти за несколько шагов. Как читать сообщение об ошибке и искать её по шагам, рассказано в статье об отладке программ.
Инструменты: компилятор, интерпретатор, IDE
Чтобы текст программы превратился в действия компьютера, нужен переводчик — компилятор или интерпретатор. Ещё 5 слов описывают, где и как программист пишет код.
| Термин | Что значит |
| Компилятор | Программа, которая переводит весь код целиком в машинные команды до запуска. Так работает C++. |
| Интерпретатор | Программа, которая читает и выполняет код по ходу дела. Так обычно запускают Python. |
| IDE (среда разработки) | Программа для написания кода: редактор, запуск и поиск ошибок в одном окне. IDLE — простая IDE для Python. |
| Редактор кода | Окно, где набирают программу, с подсветкой слов и отступами. |
| Консоль | Окно для текстового ввода и вывода; в IDLE она называется Shell. |
| Комментарий | Пояснение в коде, которое компьютер пропускает. В Python начинается с #. |
| Отступ | Пробелы в начале строки. В Python они показывают, какие строки входят в блок. |
Процессор понимает только машинные команды, поэтому текст на любом языке он выполняет только после перевода — компилятором или интерпретатором. Python Software Foundation распространяет стандартный интерпретатор вместе с IDLE, и для первых программ ничего другого устанавливать не нужно. Как компьютер выполняет машинные команды и где хранится программа во время работы, объясняет статья о том, как устроен компьютер.
Как запоминать новые слова
Чтобы термин закрепился, его нужно не перечитать, а вспомнить и применить: попробуйте объяснить слово своими словами и найти его в собственной программе. Это работает лучше, чем заучивание списка.
Исследование Roediger и Karpicke показало, что попытка вспомнить материал закрепляет его надёжнее, чем повторное чтение[4]. Для словаря это значит простую игру: закройте правую колонку таблицы и попробуйте объяснить термин, потом проверьте себя. Возвращаться к игре стоит через несколько дней, а не десять раз подряд за вечер: обзор Cepeda и соавторов показывает, что повторение с перерывами работает надёжнее, чем повторение подряд. Родителю хороший приём — попросить ребёнка рассказать, что делает его программа, используя хотя бы 3 слова из этого словаря. Когда ребёнок объясняет, он сам замечает, где понимание ещё неточное.
Когда словарь не поможет
Не стоит ждать, что знание слов заменит практику: словарь объясняет, как называются вещи, но не учит их делать. Вот 4 ситуации, где нужен другой путь.
- Программа не работает. Знание слова «отладка» не найдёт ошибку — нужно запустить код и прочитать последние 2 строки сообщения.
- Ребёнку 6–7 лет. Термины ему не нужны: в ScratchJr достаточно собирать блоки и видеть результат.
- Подготовка к ОГЭ. На экзамене из 16 заданий нет вопросов «дайте определение», важно уметь решать.
- Профессиональный жаргон. Словарь охватывает 50 школьных понятий; слова из взрослой разработки здесь не собраны.
Миф: «Слово „баг“ появилось, когда в компьютер залетела моль». История с насекомым в реле знаменита, но инженеры называли неполадки «жуками» и раньше. Подтверждения, что термин возник именно тогда, не существует.
Миф: «Сначала нужно выучить все термины программирования, а потом писать код». Это не подтверждается опытом обучения: слова запоминаются, когда за ними стоит собственная программа. Начинать стоит с проекта, а словарь держать под рукой.
Чего делать нельзя
Нельзя превращать словарь в экзамен для ребёнка: термины — инструмент, а не цель. Вот шесть правил, которые помогут использовать его с пользой.
- Нельзя требовать заучивания определений слово в слово — важнее понимать смысл.
- Не следует путать параметр и аргумент в объяснениях: первый в описании функции, второй — при вызове.
- Не стоит называть любую ошибку «вирусом» — это другое понятие, вирус — вредоносная программа.
- Не стоит переводить английские слова в коде на русский:
ifиprintпишутся только так. - Не допускается смеяться над «неправильными» словами ребёнка: лучше спокойно назвать правильный термин.
- Не следует учить больше 5 новых слов за одно занятие — их будет трудно удержать.
Если хочется понять, зачем вообще учить детей этим понятиям, прочитайте о том, что такое вычислительное мышление: эту идею как навык для всех описала Jeannette Wing[5].
Источники
[1] Приказ Минпросвещения России от 18.05.2023 № 370 «Об утверждении федеральной образовательной программы основного общего образования».
[2] Brennan K., Resnick M. New frameworks for studying and assessing the development of computational thinking // Proceedings of the 2012 Annual Meeting of the American Educational Research Association. Vancouver, 2012.
[3] The Python Tutorial (официальная документация Python 3). Python Software Foundation.
[4] Roediger H. L., Karpicke J. D. Test-enhanced learning: Taking memory tests improves long-term retention // Psychological Science. 2006. Vol. 17, № 3. P. 249–255.
[5] Wing J. M. Computational thinking // Communications of the ACM. 2006. Vol. 49, № 3. P. 33–35.
[6] Cepeda N. J., Pashler H., Vul E., Wixted J. T., Rohrer D. Distributed practice in verbal recall tasks: A review and quantitative synthesis // Psychological Bulletin. 2006. Vol. 132, № 3. P. 354–380.
Вопросы и ответы
Сколько терминов программирования нужно знать школьнику?
Для первых программ хватает двух-трёх десятков: алгоритм, переменная, тип, условие, цикл, функция, список, ошибка. Остальные не нужно учить заранее: они приходят по мере того, как растут проекты.
Чем компилятор отличается от интерпретатора?
Компилятор переводит всю программу заранее и создаёт готовый исполняемый файл. Интерпретатор переводит и выполняет код по ходу, поэтому ошибка в середине обнаружится только при запуске этой строки.
Почему программисты говорят по-английски?
Большинство языков программирования и документации создано на английском, поэтому слова вроде «баг» и «дебаг» прижились без перевода. У многих есть русские аналоги: ошибка, отладка.
Массив и список — одно и то же?
В школьном курсе — почти да. В Python есть только список, он может хранить значения разных типов и менять длину. В C++ и Паскале массив обычно строже: один тип и заданная длина.
Что такое «код» в разговоре родителей и детей?
Обычно имеется в виду исходный код — текст программы. «Кодить» — разговорное «программировать», а «код» в Scratch — это собранные из блоков скрипты.
Где найти определения, если слова здесь нет?
Для слов, связанных с Python, — в официальной документации, в разделе глоссария. Для школьной информатики — в учебнике, по которому занимается класс.