2. Подробнее об "Азах программирования"

   В шестом классе брат,  студент  радиотехнического института,
подарил мне книгу Айсберга "Радио  -  это  очень просто". Книга
прочиталась с радостным  увлечением, примерно с таким же, с ка-
ким читались в то время книги Фенимора Купера. И вот результат:
четыре транзистора, катушка, диод, пара сопротивлений,  конден-
сатор,  динамик.  Все это было размещено на деревянной  дощечке
как на постаменте и тщательно спаено красивыми цветными провод-
ками. И незабываемый  шок, когда все эти металлические паучки и
проволочки на деревяшке,  вдруг  ожили и стали говорить челове-
ческим голосом.  Книга Айсберга воспринималась как научная фан-
тастика, как уэлсовское описание машины времени. И вдруг: зара-
ботало!  Это  было волшебство, в это было невозможно  поверить!
Заводские радиоприемники, привычные с детства, ничуть не мешали
остроте восприятия чуда.  Они  жили своей отдельной жизнью, как
природа вокруг. А это чудо - рукотворное, сделанное собственны-
ми руками.
   Пережитое потрясение  запомнилось на всю жизнь. Однако потом
удалось испытать  подобное  чувство  еще  раз: когда заработала
первая программа.  Оказалось,  что программирование - это школа
волшебства в чистом виде, без канифоли, паяльников, проводочков
и дощечек. Голая  мысль,  продукт чистого разума, воплощенные в
несколько строчек заклинаний на специальном языке для посвящен-
ных, позволили вдохнуть в железный ящик жизнь и  он начал вести
себя разумно. С  появлением  персональных ЭВМ это ощущение вол-
шебства усилилось во  много раз. Одно дело, когда "разум" прог-
раммы читается  по распечаткам с АЦПУ (алфавитно-цифровое печа-
тающее устройство)  и  совсем другое, когда программа монтирует
"душу" в  железный ящик на столе и он,  этот ящик, начинает об-
щаться с тобой в "живом" диалоге.
   Курс называется  "Азы программирования", но это не означает,
что он для тех, кто не написал еще ни одной программы. На самом
деле этот курс для тех детей, которые уже знакомы с  такими по-
нятиями как "исполнитель",  "команда", "алгоритм", "ветвление",
"цикл" и самостоятельно написали несколько простых первых прог-
рамм. После того как человек напишет несколько программ, он на-
чинает понимать,  что "программирование - это обыкновенное вол-
шебство" или "программирование  -  это непонятно, скучно и хуже
математики". Так вот этот курс для тех ребят, которые уже поня-
ли, что программирование - это  то,  что им нужно или близки  к
этому. Другие  (очень  хорошие)  ребята, которым не понравилось
программирование, найдут для себя другой, не менее полезный ин-
терес.
   Этот курс самый любимый для меня в Университете. Его конкур-
сные задания всегда неожиданны, даже для автора задач, а эмоци-
ональный всплеск турниров имеет в Университете повышенный воль-
таж.
   Пусть вас не смущают примитивные среды исполнителей Кукарачи
и Корректора. Задачи, которые решают эти роботы совсем не прос-
ты. А главное,  имеют прямое отношение к большой информатике и,
в силу этого, способствуют формированию алгоритмического мышле-
ния будущих программистов.
   В этом смысле название курса "Азы" означает лишь, что ребята
сделают  первые  шаги вглубь программирования, а совсем не  то,
что обучение закончится освоением алгоритмических структур,  на
базе которых  будет  построено несколько простых программ, бес-
цельно "гоняющих" исполнителей по среде. Это не так. Программи-
рование на  курсе  весьма  содержательно. А по "заковыристости"
задания вызывают повышенный интерес даже у студентов вузов.
   Серьезность "Азов программирования"  подтверждается  темами,
которые рассматриваются в  теории и практике задач в средах ро-
ботландских исполнителей Кукарача и Корректор:

   1) Рекурсивные приемы программирования и подводные камни ре-
курсии.
   2) Нотация Бэкуса-Наура. Построение и анализ рекурсивных оп-
ределений.
   3) Лексический анализ выражений. Построение диаграмм перехо-
дов.
   4) Программирование  простых  трансляторов. Польская  запись
арифметического выражения. Перевод выражения в польскую  запись
с последующим вычислением на стеке.
   5) Практическое тестирование и отладка программ.
