Алгоритмическая культура, как исходная цель преподавания информатики.
В 60-е – 70-е года прошлого века, в подготовительный этап введения школьного курса информатики в общеобразовательную практику основной школы, преподавание информатики, на тот момент лишь раздела «Алгоритмизация и программирование», велось в школах с математическим уклоном. Основной целью обучения на этом этапе являлось – формирование алгоритмической культуры школьников. Опишем её основные компоненты:
1. Понятие алгоритма и его свойства. Понятие алгоритма является основным компонентом алгоритмической культуры.
2. Понятие языка описания алгоритмов. Задача описания алгоритма всегда предполагает наличие некоторого языка, на котором должно быть выполнено описание. По этой причине само понятие алгоритма находится в неразрывной связи с понятием языка как средства выражения (представления) алгоритма.
3. Уровень формализации описания. Если описание составлено для автомата, то используемый при этом язык подчиняется строгим ограничениям, которые обычно могут быть сведены в систему формальных правил, образующих синтаксис языка. Сам язык в подобных случаях становится, как говорят, формализованным. Однако на практике в процессе разработки алгоритмов, особенно при построении предварительных описаний, могут использоваться языковые средства, не обязательно строго ограниченные. Более того, такая ситуация возможна и не только в процессе предварительной разработки.
4. Принцип дискретности (пошаговости) описания.Построение алгоритма предполагает выделение четкой целенаправленной последовательности допустимых элементарных действий, приводящих к требуемому результату. Организованная совокупность этих действий образует определенную дискретную структуру описания алгоритма. В различных языках такие отдельные этапы алгоритма представляются различны ми средствами. В словесных представлениях алгоритма (на естественном языке) - это отдельные предложения, указания, пункты, в языке схем - это отдельные блоки, в объектном языке ЭВМ - это отдельные команды, в алгоритмическом языке высокого уровня - операторы.
5. Принцип блочности. По сути дела, речь в данном случае идет об умении расчленять сложную задачу на более простые компоненты. Принцип ветвления. Требование алгоритмической полноты языков, используемых для представления алгоритмов, должно обеспечивать наличие средств, позволяющих реализовывать в алгоритмических описаниях логические ситуации, т.е. ситуации, в которых требуется принятие решения в зависимости от заданных начальных условий.
6. Принцип цикличности. Эффективность алгоритмических описаний в большинстве случаев определяется возможностью неоднократного использования одних и тех же фрагментов описаний при различных значениях входных величин. Возвращение к повторному прохождению одного и того же фрагмента описания может быть организовано с применением логических средств языка, однако язык может содержать и специальные средства организации циклических алгоритмов (например, операторы цикла в языках высокого уровня).
7. Выполнение (обоснование) алгоритма.Существенно важным компонентом алгоритмической грамотности является постоянно привлекаемое в процессе алгоритмизации умение воспринимать и исполнять разрабатываемые фрагменты описания алгоритма отвлеченно от планируемых результатов - так, как они описаны, а не так, как может быть, в какой-то момент хотелось бы самому автору или исполнителю.
8. Организация данных. Исходным материалом для алгоритма является информация или исходные данные, которые надлежит обработать. Составитель алгоритма обязан думать не только о том, как и в какой последовательности производить обработку, но и о том, где и как фиксировать промежуточные и окончательные результаты работы алгоритма.
Все перечисленные компоненты алгоритмической культуры имеют основополагающее значение для формирования навыка составления алгоритмов - алгоритмизации и, следовательно, для программирования для ЭВМ. Однако особенность компонентов, образующих алгоритмическую культуру, в том, что они не имеют узкой ориентации исключительно на взаимодействие школьника с ЭВМ, а имеют независимое от программирования более широкое значение.