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