Квант
Разное

Зачем и как детей учат программированию?

Первин Ю. А.

49

Ю. Первин

Зачем и как детей учат программирование?

В разделе «Искусство программирования» мы продолжаем публиковать уроки нашей Заочной школы программирования и статьи по информацией, языкам программирования и вычислительной техники. Хотя сейчас подключиться к второму курсу ЗШП довольно трудно (по этому поводу см. «Квант», 1980, № 9), новые читатели «Кванта», мы надеемся, заинтересоваться многими другими статьями этого раздела.

Прошляем летом в Новосибирском академгородке проводилась Летняя школа юных программтов (см. «Квант», 1980, № 12), в котором участвовали лучшие учащиеся ЗШП и победители Олимпiadы по программированию («Квант», 1980, № 3). В рамках Летней школы для преподавателей, воспитателей и родителей, сопровождающих младших школьников, был прочитан цикл лекций с вынесенным в заголовок названем. Впрочем, на двери аудитории, в которой читался цикл, не было обьявления, запрещающего вход «детям до 16 лет». Ниже публикуется отрывок из этих лекций.

Tri katerори программыров
С каждым годом все больше становится вычислительной машин. Еще быстрее увеличивается число задач, решениях с помощью ЭВМ. Казалось бы, перспектива ясна: скоро всем придется писать программы на алгоритмических языках.

Не будем спорить — учиться программированию нужно. Но кому и как?

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

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

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

Число системных и прикладных программров сравнительно невысоко, да и увеличивается со временем не только уж значительное. А вот число «простых» параметрических пользователей ЭВМ растет и будет растет стремительно. Конечно, уровень программской подготовки параметрических пользователей существенно уступает подготовленно-

51

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

Программирование придет на помощь

Важность и общий характер перечисленных умений и навыхов требует, чтобы люди освоили их в средней школе. С другой стороны, учебные программы середняя школа не предусматривают обучения школьников этим навыкам. И дело не только в том, что потребность в этих навыхах возникла сравнительно недавно, вместе с бурыми проявлениями современной научно-технической революции. Важно другое: ни одна из школьных дисциплин — ни физика, ни литература, ни даже математика — не располагает (в полном объеме) необходимыми инструментами для обучения школьника столъявным для него навыхам.

А вот в программировании эти инструменты есть! Действительно, умению планировать легко обучиться тому, кто понял, что такое процедура, условия оператор, цикл. Для информационного моделирования хорошо служат те средства описания данных, которые есть в современных языках программирования — корпежи, множества, файлы, базы данных. Точно так же для организации поиска используется различные поисковые механизмы (каталоги, многоугольные индексы, функция расстановки и т. д.), а для организации процессов общения — различные синтаксические описания и макросредства (часть терминозого абзаца, возможно, еще не знаком читателя раздела «Искусство программирования»; о некоторых из них будет рассказано в следующих номерах «Кванта»; другие станут известны поекомендуемым книгам).

Именно потому, что уже сегодня надо научиться мыслить «программистски», то есть прочно освободить связанные с программированием навыки (а вовсе не потому, что много становится машин), именно поэтому можно уверенно ответить на первый вопрос «Зачем детей учат программирование?».

Когда и как?

О месте программирования в школе можно сказать еще точнее. Уменя планировать, моделировать, искать, обшаться настолько фундаментальны, что обучение этим навыхам должно начинаться как можно раньше — в младших классах начальной школе. Опыт советских педагогов и программистов, успешно обучающих программирование в Новосибирском академгородке школьников 2-го класса, и опыт американских ученых, ведряющих ЭВМ в учебную программу 3-го класса, подтверждает правильность этих выводаев.

Что же касается второго (вообще говоря, не менее важного и сложного) вопроса «Как детей учат программирование?» читательм «Кванта» можно ответить очень просто — так, как это делает «Квант».

Очень часто любозательные школьники — начинающие программисты —xbатаются за первый повasive учебник программы. И как огорчительно порой бывают беседовать с ребятами, самостоятельно освоившими, например, начала фортрана в качестве своего первого языка программирования. Такие ребята пишут запутанные бесчисленные методами программы, придумывают только им понятные и убеждающие полягают, что ЭВМ потому и называют «вычислительными» машинами, что они предназначают искусственное для «вычислительных», то