Как учиться

Информатика в школе: что учить и в каком порядке

«С чего вообще начинать?» — так родители формулируют вопрос, и по интонации сразу слышно, из какой они ситуации. Одни спрашивают про семиклассника, который объявил, что будет программистом, и ничего к этому не добавил. Другие про десятиклассника, которому информатика нужна для поступления, а писать программы он не умеет: школа выдавала ему таблицы и кодирование, а до кода дело либо не дошло, либо дошло на паре уроков. Здесь собрана карта предмета по классам, порядок тем для тех, кто учится программировать, и ответы на организационные вопросы: где запускать код, какой язык брать, что нужно от компьютера.

Статья обзорная, кода в ней почти нет. Каждая тема, которую я называю, разобрана отдельным текстом, и ссылки стоят по ходу дела.

Из чего состоит школьный предмет

Родители нередко ждут от информатики одного программирования и удивляются, открыв учебник: там кодирование, двоичная система, таблицы, базы данных, логика. Программирование — одна из линий предмета, причём не самая длинная по часам.

Точная раскладка по классам зависит от рабочей программы школы и от учебника (у разных авторов одни и те же темы сдвинуты на год), поэтому ниже типовая картина; расписание вашей школы может от неё отличаться. Свою программу лучше сверить с учителем.

В пятом и шестом классах предмет чаще всего про компьютер как инструмент: набрать текст, сделать презентацию, посчитать в таблице. В части школ тогда же появляются исполнители и блочные среды вроде Scratch, где программу собирают из готовых кусочков. Что именно проходят в этих классах, разобрано в статье про информатику в 5–8 классе.

Седьмой и восьмой — время, когда начинается собственно «информатика»: кодирование информации, системы счисления, логика, понятие алгоритма и блок-схемы. К восьмому классу обычно добираются до первых программ: на школьном алгоритмическом языке, на Pascal или на Python, смотря какой выбрала школа.

В девятом классе всё подчинено ОГЭ. Для тех, кто выбрал информатику, это практическая часть на компьютере — таблица и программа; как она устроена, описано в статье про структуру ОГЭ по информатике.

В десятом и одиннадцатом классах программирование становится главным навыком: на ЕГЭ без него трудно обойтись и в последней задаче, и во многих заданиях с файлами. Экзамен 2027 года сдают нынешние одиннадцатиклассники; дату назовёт приказ, пока она предварительная — конец мая, начало июня, и актуальное лежит в статье про расписание ЕГЭ-2027. Устройство самого экзамена и список языков — в статье про структуру ЕГЭ по информатике.

Что такое программа и алгоритм, если без терминов

Алгоритм — последовательность действий, которую можно выполнить, не думая, потому что каждое действие понятно и однозначно, а конец у неё наступает. Рецепт борща почти алгоритм. «Посолить по вкусу» уже нет: исполнитель без вкуса на этом месте остановится. Дорога до школы тоже алгоритм, если записана как «дойти до перекрёстка, повернуть налево, пройти два дома», и не алгоритм, если записана как «идти, пока не увидишь школу» (вдруг её закрывает автобус).

Программа — тот же алгоритм, записанный на языке, который понимает компьютер. Компьютер при этом исполнитель особого склада: у него нет ни вкуса, ни здравого смысла, и он сделает ровно то, что написано, включая глупость. Если программа выдала странный результат, она почти всегда выполнила именно свои инструкции, и вопрос в том, что мы в них написали. Привычка так на это смотреть — половина всего, что называют умением программировать. Как записывают алгоритмы схемами и словами, разобрано в статье про алгоритмы и блок-схемы.

Где запускать код

Ничего покупать не надо, и это приятная новость. Способов четыре, и для первых недель подходит любой:

  • Установить Python с официального сайта python.org: вместе с ним ставится простая среда IDLE, в которой можно писать и запускать программы
  • Поставить Thonny, учебную среду со встроенным Python: она показывает значения переменных во время работы
  • Открыть онлайн-интерпретатор прямо в браузере: ничего не ставится, подходит для самых первых проб, но файлы с программами там хранятся хуже, а перенести их потом на свой компьютер нужно будет вручную
  • Пользоваться средой из школьного кабинета

Я бы начинал с Thonny: ребёнок видит, как значения меняются по строкам, а не гадает, что внутри. Онлайн-интерпретатор хорош на вечер-два, потом нужен свой каталог с файлами: программы придётся сохранять, пересылать и возвращаться к ним.

Ещё одна бытовая мелочь, которая окупается: заведите на компьютере одну папку для программ и называйте файлы по темам, например «условия-1» и «циклы-2». К ним возвращаются при повторении, а именно эти файлы потом уходят репетитору в чат, и разобрать присланное «программа2-новая-final» не сможет никто, включая автора.

Какой язык брать

Python, и с тем, что это выбор по умолчанию, согласны не все: у любителей C++ найдётся пара хороших возражений. Но Python короче остальных, прощает лишние мелочи, работающая программа на нём появляется в первый же вечер, и он есть в списке языков на экзамене (точный состав на свой год смотрите в спецификации). Школьный алгоритмический язык и Pascal нормально учат идее программы, но если ребёнок собирается дальше, то язык придётся менять, а смена языка посреди подготовки стоит дороже, чем кажется: на новом языке сначала теряется скорость, а ошибки, которые уже были изжиты, возвращаются в другом виде.

Если школа учит не на Python, полезно разделить: для школьных оценок писать на школьном языке, для собственного навыка — на Python, и держать это в голове как два разных занятия. Сравнение Python и C++ для тех, кто нацелен на экзамен, разобрано в статье Python или C++ для ЕГЭ по информатике.

Что нужно от компьютера и как заниматься онлайн

От компьютера нужно немного: любой ноутбук или настольный компьютер, на который ставится Python, то есть Windows, macOS или Linux. Телефон подходит для знакомства на пару вечеров, но писать на нём программы дольше неудобно, а на экзамене работают за компьютером. Печатать на клавиатуре придётся много, и скорость набора со временем начинает влиять на всё остальное.

Для онлайн-занятий добавляются камера и микрофон. Проверить их можно заранее, не входя в комнату занятия, и стоит сделать это до первого занятия. Вход в комнату открывается за 10 минут до начала занятия и остаётся открытым после конца ещё 30 минут.

Одно ограничение платформы надо знать до того, как вы выберете формат. В видеокомнате нет демонстрации экрана и общей доски, и занятия не записываются, то есть репетитор не видит, что происходит на экране ученика. Для программирования это значит, что работа идёт через файлы: ученик пишет программу, сохраняет её и присылает файлом в чат (чат открывается после того, как репетитор получил ваш контакт, прикладывается до пяти файлов, каждый до 20 МБ). Рядом в сообщении полезно написать, что программа должна была сделать и что она сделала, и приложить пример ввода. Репетитор читает код, а объясняет голосом. Некоторым ученикам нужен человек, который сидит рядом и смотрит в экран, и такой формат платформа не заменит; если это ваш случай, лучше знать об этом заранее.

Порядок тем

Школьный учебник идёт обычно так: сначала алгоритмы и блок-схемы, потом язык. Для самостоятельной подготовки я бы поставил наоборот: первая программа, которая что-то спрашивает и что-то отвечает, должна появиться раньше, чем блок-схема. Тринадцатилетнему блок-схема в начале кажется пустым ритуалом, пока он ни разу не написал программу, которая с ним спорит; после этого та же схема становится удобным способом записать то, что у него уже в голове. Поэтому блок-схемы идут рядом со всем остальным и отдельным блоком не проходятся.

Остальные темы выстраиваются по зависимостям:

Список без цикла бесполезен, поэтому списки идут после циклов. Строка устроена почти как список символов, и разбираться с ней удобнее, когда индексы уже знакомы. Функции откладываются до момента, когда программа стала настолько длинной, что без них неудобно: введённые раньше, они превращаются в украшение. А условия вместе с логикой и таблицами истинности вообще удобнее держать в соседних занятиях: условие в программе — это то самое логическое выражение, только записанное кодом.

Для тех, кто смотрит в сторону олимпиад, порядок тот же, но глубина и темп выше; об этом отдельная статья про подготовку к олимпиаде по информатике.

Дальше идёт то, что строится на основе: работа с файлами, сортировки и поиск, рекурсия, графы и основы баз данных и запросов. Часть этих тем встречается в первой части экзамена; какие именно и где, показывает карта первой части ЕГЭ по информатике.

Как понять, что дело движется, и когда нужен репетитор

Видеокурс или самоучитель вытягивают первый месяц, и этого достаточно, чтобы решить, нравится ли ребёнку предмет. Дальше они упираются в одну проблему: программа, которая падает с сообщением об ошибке, учит сама (сообщение читают и чинят), а программа, которая тихо считает не то, не учит ничему, потому что ученик не видит, что она ошибается. Здесь нужен человек, который прочтёт код и найдёт, где логика разошлась с задачей. На это уходит несколько минут у опытного читателя и несколько вечеров у новичка.

Если цель — экзамен, репетитор нужен и по другой причине: он знает, что спросят, и не даст тратить время на то, что не пригодится. Как выбирать преподавателя для подготовки к ЕГЭ, разобрано в статье про выбор репетитора; для информатики к этим признакам добавляется ещё один: пусть он при вас прочтёт короткую вашу программу и скажет, что в ней не так.

Начать поиск:

Просмотренные уроки и прочитанные главы почти ничего не измеряют. Измеряет одно: может ли ученик без подсказки написать программу в десять строк по задаче, которую видит впервые. Если нет, значит, он понял объяснение, но ещё не научился делать сам, и это нормальная стадия, которую нельзя пропустить. Лечится она количеством маленьких задач, написанных своими руками, а не лишним просмотренным видео.

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

Вопросы и ответы

Нужна ли сильная математика, чтобы программировать в школе? Достаточно арифметики и привычки проверять себя. Математика понадобится позже, в отдельных темах: переборе, системах счисления, комбинаторике.

С какого класса начинать, если ребёнок интересуется сам? Раньше седьмого класса полезнее блочные среды вроде Scratch и логические задачи: настоящий язык вроде Python становится по силам примерно с седьмого-восьмого, когда ребёнок уже держит в голове переменные и условия. Если он из блоков вырос и сам просит настоящий язык раньше, мешать не надо. Если же вопрос возник в десятом классе, начинать нужно сейчас, и решает здесь срок до экзамена, возраст отходит на второй план.

Хватит ли школьного курса, чтобы сдать ЕГЭ по информатике? Вряд ли, и упрекать здесь некого. Школьные часы распределены по всему предмету, а на экзамене, помимо логики и систем счисления, нужно быстро и без ошибок писать программы и работать с файлами; для этого нужна практика в объёме, которого в классе не набирается. Что именно проверяют, сказано в статье о структуре экзамена.

Ребёнок играет в компьютерные игры. Значит, он справится? Не обязательно. Игры тренируют реакцию и знание интерфейсов, а программирование — умение разложить задачу на мелкие понятные шаги и проверить, что получилось. Это разные навыки, и первые недели покажут, какой из них есть.

Нужен ли ребёнку свой компьютер? Для регулярных занятий да: общий семейный подойдёт, если ребёнок может сесть за него в одно и то же время и не мешать остальным. Дорогая машина не нужна, подойдёт любая, на которой работает браузер и ставится Python.

Оставить заявку

Ещё в рубрике «Как учиться»