Реферат: Так что же такое информатика?
Темно иль ничтожно,
Но им без волненья
Внимать невозможно...
Островки понятий рождаются средь моря предметов, событий, фактов. Все это составляет обстановку, в которой живет, трудится и мыслит человек. Обстановка редко удовлетворяет человека. Одни стремятся от нее сбежать, не понимая, что бегут они, в сущности, от себя. Другие мирятся с обстановкой, вживаются в нее - не будем осуждать их за безразличие или равнодушие. Поговорим о тех, кто своими действиями стремится эту обстановку изменить. Появление подобного желания характеризуется словами: перед человеком (или: передо мной) встала задача. Задача решена, если достигнуто желаемое изменение обстановки. Это случай почти невероятный: достигнутое крайне редко совпадает с желаемым. Как говорят, решение одной задачи порождает десять новых. Но отвлечемся и от этой стороны дела.
Прежде чем начать сами действия, надо составить их план. План строится на основе понятийной модели мира: индивидуальной при составлении личного плана, коллективной - если нашлась группа единомышленников. Сначала создается уже упоминавшаяся спецификация задачи - описание связи между располагаемыми средствами и возможностями (исходными данными) и желаемым результатом. Автор плана (не важно - один ли это человек или группа) должен убедить хотя бы самого себя, что планируемые действия приведут в наличных условиях к результату, удовлетворяющему спецификации задачи. Такое обоснование плана опять же исходит из модели. Но обоснование может оказаться ошибочным или неполным. Да и сама модель не может не абстрагироваться от многих составляющих реальной действительности - даже коллективный разум всего человечества составляет лишь часть, причем ничтожную часть, этой действительности. Но "безумству храбрых поем мы славу!".
Когда план действий составлен и обоснован, автор вправе назвать его алгоритмом решения задачи. Подчеркнем, что алгоритм - это всего лишь описание, более или менее подробное, предполагаемых действий. Сложные действия распадаются на ряд более простых, с теми - картина та же. Так мы добираемся до действий, про которые известно, как их исполнить и к какому результату это (предположительно) должно привести. Можно остановиться и на действиях, которые лишь обозначаются, а их планирование откладывается на будущее в надежде, что времени еще хватит. О принципе "Никогда не делай сегодня того, что можно отложить на завтра" при случае стоит еще поговорить.
Итак, осталось исполнить алгоритм - провести в жизнь намеченный план действий. Если, кроме тебя, сделать это некому, то надо, засучив рукава, браться за дело самому. Лучше, если у тебя есть подчиненные, или можно кого-нибудь нанять. Еще лучше, если работу можно поручить машине, а самому только управлять ею. Совсем хорошо, если машина - это автомат, которым и управлять не надо - получай готовый результат и пользуйся им вволю. Но и автомату надо сообщить, чего ты от него хочешь, а то вместо тридевятого царства окажешься у черта на куличках.
Все эти проблемы были решены - или нам это только снилось? - когда в середине века были изобретены и построены первые электронные, программно управляемые вычислительные машины - автоматы, понимающие более или менее развитый язык, на котором можно было описывать алгоритмы их работы. Правда, лишь для довольно узкого класса работ, когда и исходные данные, и результат могут быть представлены в формализованном виде, пригодном для автоматической обработки.
Простейший пример работ такого класса - это вычисления, когда и то, и другое - это наборы чисел. Потому и машины были названы вычислительными, сокращенно - компьютерами. Пример посложнее - обработка произвольных текстов: самих алгоритмов (как противно писать их на птичьем машинном языке!), математических формул (почему бы не заставить машины доказывать теоремы?) или текстов на естественном языке (если меня самого не научили писать грамотно, то может машину можно этому научить, а еще лучше, если машина сумеет изъясняться на незнакомом мне тарабарском наречии). Еще более сложный пример - преобразование устной речи в письменную - был упомянут выше. Успехи во всех этих направлениях оказались довольно скромными, но по первому впечатлению - грандиозными и даже многообещающими. Да и по второму тоже: посмотрите на примеры переводов технической прозы с русского языка на английский, приводимые в рекламных буклетах, или вспомните, что чемпиону мира по шахматам пришлось отыгрываться после матча, проигранного им компьютеру.
Путь к появлению первых компьютеров был к тому моменту практически полностью открыт. Были известны и внедрены в практику способы сохранения данных сначала на перфоносителях, потом путем магнитной записи. Вычисления давно уже выполнялись не только на арифмометрах, но и на ручных клавишных, да и более сложных электромеханических счетных машинах. Существовали электронные реле (триггеры), электронно-лучевые трубки, была освоена импульсная электронная техника. В физике были известны полупроводники. Понятие алгоритма и родственное ему понятие рекурсивной функции существовали и были фундаментально освоены в математике. Оставалось (такая малость!) свести все это воедино. Когда жизнь приперла к стене (расчеты в ядерной физике, а чуть позже - в ракетной технике, оказались на грани человеческих возможностей или даже немного за ней), то на это ушли, если не месяцы, то лишь очень немногие годы.
За истекшие с тех пор полвека компьютеры из грандиозных лабораторных установок, пожиравших неимоверные энергетические и материальные ресурсы, стали почти что заурядными бытовыми приборами. Люди избавились от необходимости разговаривать с компьютерами на их внутреннем языке и перешли к тому, что было названо алгоритмическими языками высокого уровня, а позже - и к так называемым информационным технологиям.
Все изложенное выше составляет часть моей индивидуальной понятийной модели, которую я предлагаю вниманию читателей журнала и всех лиц, причастных к "школьной информатике". Я не настаиваю на правильности этой модели и никому ее не навязываю. Моей целью было привести в достаточно стройную систему большую часть упомянутого в начале "Обязательного минимума...".
Часть раздела "Представление информации" из того же "Минимума" мне хотелось бы осветить в отдельной публикации. Некогда мной была написана книга [3]. Приведу ее оглавление, и по сию пору отражающее мои представления о содержании и порядке изложения соответствующего материала:
1) языки программирования,
2) простые значения и их представления,
3) составные значения и их типы,
4) определения типов,
5) переменные и их описания,
6) операции и выражения,
7) операторы,
8) работа со ссылками,
9) процедуры,
10) файлы и операторы для работы с ними,
11) примечания в программах,
12) доказательство свойств алгоритмов.
В "Заключении" этой работы были перечислены темы, в нее не вошедшие, но существенные во всем этом круге вопросов: редактирование вводимых и выводимых данных, средства работы со строками, включая поиск по образцу, абстрактные типы данных, моделирование реальных процессов на ЭВМ, задержка вычислений и их параллельное исполнение.
Нужно ли учить информатике в школе - за и против
Информатика (программирование) начала активно проникать в школьные программы после появления в 1981 году работы А. П. Ершова [2], завоевавшей, без преувеличения, всемирную известность. Некоторые ее положения, как то: компьютеры (ЭВМ) стали столь же важными носителями информационной модели внешнего мира, как книги; микропроцессор, сопряженный с промышленным изделием, придает ему совершенно новые качества, - не только подтверждены, но и многократно усилены всей практикой современной цивилизации. Однако с некоторыми другими тезисами: чтобы через 20 лет запрограммировать все производимые микропроцессоры, надо будет посадить за программирование все взрослое население земного шара; мир программ - это, прежде всего, огромный запас операционного знания, накопленный человечеством; программами буквально напичкан наш организм - уже тогда можно было бы поспорить. Тем более сомнительным стал вывод: некоторые "натуральные" сущности программирования должны быть сделаны осознанным достоянием человека, у нас нет иного пути, как отразить их в структуре и содержании всеобщего образования.
Дело в том, что микропроцессоры стали незаметными элементами промышленных изделий, а программирование было поставлено на промышленную основу с развитой технологией и аппаратным оснащением (на основе тех же персональных компьютеров). Большинство широко используемых программных средств обросло богатым и удобным справочным аппаратом. Область применения компьютеров приобрела достаточно богатую структуру. В различных ее ветвях требуются весьма различные уровни владения программированием. Компьютер, используемый как средство массовой псевдокультуры, сам владеет своим "хозяином". А от разработчиков новых программных средств требуется профессиональный, почти артистический, уровень. Утверждать, что всем учащимся нужна единая базоваяпредпрофессиональная подготовка, стало уже невозможным из-за обилия профессий, использующих компьютеры, и разнообразия применяемых при этом программных средств.
В упомянутом "Обязательном минимуме..." перечислены некоторые информационные технологии, овладеть которыми, по мнению анонимных авторов документа, должны все учащиеся.