Местные школы программирования
М. Ю. Колодин
Заочная школа программирования в журнале «Квант» — важное событие в развитии как советской информатики, так и советской школы. Началась она в 1979 году. Но не менее важными оказались менее звучные события — вскоре в разных городах Советского Союза открылись филиалы ЗШП.
Вот фрагмент из «Кванта» 9/1979: «Ровно год назад в “Кванте” были напечатаны первые уроки Заочной школы программирования, организованной редакцией нашего журнала и Вычислительным центром Сибирского отделения АН СССР. Сегодня в нашей школе занимаются свыше двух тысяч ребят разного возраста — от третьего до десятого класса — из всех республик Советского Союза и некоторых зарубежных стран. В работе Школы участвуют более 40 групп “Коллективный ученик”, создано два региональных центра (в Ленинграде и Свердловске). Летом 1980 года активисты Заочной школы были приглашены на VI Летнюю школу юных программистов, проходившую в новосибирском Академгородке... Школьники, проживающие в прибалтийских республиках, в Псковской, Новгородской, Ленинградской, Архангельской и Вологодской областях, в Карельской и Коми АССР, направляют свои работы по адресу: 190000, Ленинград, ул. Герцена 67, ЛИАП, кафедра вычислительной математики и АСУ, Северо-Западный филиал Заочной школы программирования. Школьники, проживающие в Свердловской, Пермской, Челябинской и Оренбургской областях и Башкирской АССР, пишут по адресу: 620219, Свердловск, ул. К.Либкнехта 9, Педагогический институт, кафедра вычислительной математики и программирования, Уральский филиал Заочной школы программирования. Жители остальной территории СССР и зарубежные читатели направляют работы по прежнему адресу: 630090, Новосибирск 90, проспект Науки 6, ВЦ СО АН СССР, отдел информатики, Заочная школа программирования...»
О Михаиле Борисовиче здесь нужно сказать несколько слов. Два важнейших качества, столь полезные для руководителя учебного и научного подразделения, присущи этому человеку. Прежде всего — предвидение. Ещё в конце 70-х годов прошлого века он осознал важность учебной информатики и оказал ей поддержку в своём подразделении. Второе качество, не менее важное, можно простым языком выразить так: «ему не жалко». Во многих случаях, когда от него что-то зависело, и даже если это было не так, от него можно было получить помощь, будь то выделение аудиторий, машинного времени (весьма дефицитного) или оформление пропусков для школьников (для режимного вуза это всегда было проблемой). То же относится и к поддержке новых, необычных идей, направлений как в школьных, так и позже в студенческих работах.
Основной движущей силой нашей, ленинградской, школы были Н.Н. и Г.Н. Бровины. Занятия были преимущественно практическими. Основными языками стали не Рапира или Паскаль, а Фортран и Ассемблер. Главные компьютеры — М-6000, СМ-1 с не самыми полезными для глаз мониторами СИД, несколько позже — Агаты, а в дальнейшем — ЕС ЭВМ (ЕС1045 в ВЦ ЛИАПа) и СМ-2. Одной машины, даже с системой разделения времени, на всех не хватало. Особенно это было заметно к концу занятий, когда все почти одновременно запускали свои задачи на трансляцию и выполнение. Тем не менее программы работали и опыт рос.
В «Кванте», да и в других журналах, больше Заочных школ не было, и мы занимались с тех пор, в основном, в ЛИАПе. Для многих из нас эти занятия стали профессией: мы поступили в ЛИАП на ту же кафедру 44 по специальности 0608 (ныне 2201).
Тем временем получилась дружная активная компания школьников-специалистов-преподавателей: Олег Архангельский, Сергей Фризюк, Сергей Гавриленко, Вера Корчагина, Светлана Иванова, Анна Обловацкая и другие, вместе с автором этих строк.
Важно, что мы очень скоро стали сами преподавателями программирования: после небольших школьных кружков, часто «в безмашинном варианте», мы стали заниматься со многими группами параллельно, плановым, а чаще явочным порядком занимая учебные аудитории в институте и по очереди выходя на машины.
В ЛИАПовской школе было несколько попыток разработки учебного программного обеспечения, в частности, хотели сделать ту же Рапиру на М-6000/СМ-1. Увы, эти эксперименты по большей части не удались. Был Форт, было много игровых программ, активно разбирались с системным ПО. Но в то время поставить серьёзную разработку системного программного обеспечения учебного назначения, в общем, не удалось.
Были конференции, раз в год, на которых школьники рассказывали о выполненных работах. Пожалуй, не менее половины из них действительно были неплохо сделанными программами. Возможно, кто-нибудь когда-нибудь, подняв архивы конференций тех лет, сделает обзор и этого важного направления в учебной информатике. Начинать нужно будет с первой конференции в декабре 1981 года; пожалуй, наиболее интересными её участниками были акад. А.П. Ершов и М.М. Ботвинник.
Не менее интересной и полезной была работа и в других институтах и с другими учителями. Прежде всего нужно назвать Андрея Николаевича Терехова, ныне профессора, зав. кафедрой системного программирования матмеха СПбГУ и одновременно руководителя успешной фирмы. С ним мне довелось поработать особенно активно в Ленинграде, после возвращения с ЛШ-1982, и этот опыт был чрезвычайно важным для профессионального развития. Несколько моментов оказались ключевыми. Первым из них был такой. Мы с приятелем (М.В. Годиным) появляемся на матмехе, нам вручается толстенный том библиотеки реализации Рапиры на Алголе-68, и со словами: «Вы с этим разберитесь и исправьте», — Андрей Николаевич выделяет нам рабочее место, приглашает на студенческие лекции (а мы ещё только в восьмой класс перешли) и откланивается. Мы ещё и Алгола-68 тогда толком не знали, тем более, что его реализация на матмехе, похоже, создавалась параллельно с работой. Но после консультаций с Андреем Николаевичем разобрались и что-то исправили. Второй момент возник при разборе программ, написанных на Летней школе. «Вот, — говорит Терехов, — что написали школьники. Очень удобная конструкция, всё сведено в простую таблицу, я сам сразу не додумался.» У меня лёгкое потрясение: ведущий специалист признаёт, что школьники сделали лучше него. Может, Андрей Николаевич и преувеличивал, очень может быть, но эффект был достигнут: я поверил, что и сам смогу что-то сделать существенное, большое и полезное, раз такие же школьники, как я, это могут, и это подтверждает ведущий системный программист. Там работа шла, в основном, на ЕС-1033 (на «старом матмехе», на 10 линии, дом 33). И когда мне в 1984 году понадобилась машина для реализации Форта, я снова обратился к Андрею Николаевичу. Получив на три июньских выходных место на ЕС-ке в Петергофе и сделав свою программу, я тем же летом рассказывал о ней на Летней школе. Так, разными способами и в разных местах, мы осваивали профессию — тогда мы уже не сомневались, что это станет делом всей жизни, хотя и не формулировали это так возвышенно.
Конечно, школы продолжались и позже. Когда мы поступили в институты и университеты, непременной составляющей нашей работы и учёбы были занятия со школьниками в кружках и школах программирования.
Но это уже совсем другая история...
Из сборника "Новосибирская школа программирования. Перекличка времен". Новосибирск, 2004 г.
Перепечатываются с разрешения редакции.