Домой Жизнь Кружки юных программистов в СССР: как растили кадры без интернета

Кружки юных программистов в СССР: как растили кадры без интернета

3
0

Кружки юных программистов в СССР: как растили кадры без интернета

Сегодняшний программист без IDE, GitHub и Stack Overflow чувствует себя примерно так же, как пилот без приборной панели. В СССР все было наоборот: приборов почти не было, а летать требовалось высоко и далеко. Компьютеров — единицы, машинное время — по талонам, а интернета и вовсе не существовало. И все же именно тогда была заложена методология, которая воспитала поколение системных программистов, архитекторов и исследователей.

Это не ностальгия по «золотому веку», а разговор о строгой педагогике, где алгоритм рождался раньше кода, а код — раньше компьютера.

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

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

Академик Андрей Петрович Ершов предложил радикальный ход. Он назвал программирование «второй грамотностью» — базовым навыком современного человека, таким же необходимым, как чтение и письмо.

Логика была простой: если взрослого человека сложно переучить мыслить алгоритмами, значит, нужно начинать со школы. И не со старших классов — со второго-третьего. Так появились школы программистов в СССР, которые готовили кадры без интернета.

Исполнители вместо компьютеров

Главная проблема была очевидна: учить нужно, а компьютеров нет. Персональных ЭВМ практически не существовало, доступ к большим машинам имели в основном НИИ и военные структуры. Решение оказалось элегантным — обучение построили вокруг «исполнителей».

Это были воображаемые роботы, живущие на бумаге. Самый известный — «Муравей», который передвигался по клеточному полю 10×10 и понимал четыре команды: вверх, вниз, вправо, влево. Он мог толкать кубики, упираться в стену, реагировать на препятствия. Ребенок чертил поле в тетради и шаг за шагом исполнял программу вручную.

Такая модель заставляла думать до написания кода. Ошибка означала не «перезапустить», а пересчитать алгоритм. Дети учились предвидеть результат, а не надеяться на быструю проверку.

Языки с человеческим лицом

Когда школьники дорастали до настоящего программирования, им предлагали учебные языки — «Робик» и «Рапира». Они были построены на понятном синтаксисе, с русскими ключевыми словами и прозрачной логикой.

Позже, с появлением советских персональных ЭВМ «Агат», для школ разработали систему «Школьница» — оболочку, поддерживавшую учебные языки, графику, музыку и обучающие программы.

Но практика начиналась сразу. Школьники не писали абстрактные «Hello, world». Они создавали реальные продукты: каталожные системы для библиотек, учебные симуляторы, игровые программы. В учебнике Геннадия Звенигородского «Первые уроки программирования» (серия «Библиотечка Квант») описываются проекты, выполненные именно школьниками — от идеи до тестирования.

Кружки как кадровая воронка

В Новосибирске, при Вычислительном центре СО АН СССР, формировался настоящий центр притяжения. Занятия вели действующие математики и программисты. Машинное время было дефицитом: сначала алгоритм проверял преподаватель, потом — компьютер.

Самым страшным наказанием на летних школах было лишение доступа к машине.

На двухнедельных интенсивах школьники писали трансляторы языков, редакторы, игровые движки. За две недели — полноценный проект с защитой на конференции. Темы варьировались от языков Форт и Бейсик до операционных систем.

Peer teaching был нормой: вчерашние участники становились консультантами. Возрастной барьер стирался. Программирование превращалось в сообщество, а не в предмет.

Педагогика через игру

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

Звенигородский даже преподавал сразу два диалекта Бейсика параллельно — чтобы школьники видели различия и понимали универсальные принципы.

Это был надъязыковой подход: не «как написать на конкретном языке», а «как устроен язык вообще».

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

Летние школы были не только про код. Это были костры, гитары, конференции, где девятиклассники спорили о корректности календарных алгоритмов и защищали свои решения перед взрослыми специалистами. Это были оперетты вроде «Прекрасной Ады» — с бароном Фортраном и песнями о компиляторах. Программирование становилось культурой.