Методика обучения информатике

Введение

     Что такое информатика? Как преподавать  информатику? Какими чертами должен обладать специалист в области информатики? Эти вопросы всегда волновали  российскую научную общественность. Одним из первых эти вопросы поднял еще в 70-80-х годах ХХ века академик А.П. Ершов в своих знаменитых статьях "Откуда берутся люди, способные создавать надежное программное обеспечение", "Программирование – вторая грамотность" и "О предмете информатики".

     Последовавшее бурное обсуждение вопросов преподавания информатики привело к созданию и внедрению государственных образовательных стандартов, отражавших существовавшее на тот момент понимание предмета информатики и соответствующих ему знаний. Наиболее распространенным стандартом обучения информатике был учебный план по специальности 220400, описанный в статье С.С. Лаврова, А.О. Слисенко и Г.С. Цейтина "Проект учебного плана специальности: "информатика и системное программирование" ("Микропроцессорные средства и системы", №4, 1985). Эта специальность просуществовала без значительных изменений до 2000 года, когда она была заменена похожей по содержанию специальностью 351500.

     Интересно отметить, что российские исследования в области обучения информатике  развивались в значительной мере самостоятельно и в некотором отрыве от мировых разработок. В то же время зарубежные усилия по стандартизации обучения информатике заслуживают самого пристального внимания. Самым значительным проектом в этой области, безусловно, является создание и обновление документа Computing Curricula ("Рекомендации по преподаванию информатики в ВУЗ-ах").

     Информатика (computing) - это широкая область исследований, которая не может быть сведена  к рамкам компьютерной наук и (computer science). Одного определения, охватывающего только "чистую" информатику, недостаточно для того, чтобы описать весь спектр вопросов, встающих перед колледжами и ВУЗ-ами при создании учебных планов по компьютерным дисциплинам. Для полноценного охвата всех областей и направлений информатики необходимо создать серию специальных определений.

     Информатика основывается на целом ряде дисциплин. ВУЗ-овское обучение информатике требует от студентов использования концепций из множества разнообразных областей. Все студенты, изучающие информатику, должны учиться объединять теорию и практику, понимать важность обобщения и абстракции, а также ценить хорошие инженерные решения.

     Быстрая эволюция компьютерной науки требует  постоянного пересмотра учебных  планов. Учитывая темп изменений в нашей дисциплине, обновление учебной программы раз в десять лет уже не является приемлемым. Профессиональные организации в области информатики должны организовать постоянный процесс пересмотра типовых учебных планов, который позволит оперативно обновлять устаревшие компоненты.

     При разработке типовых учебных планов по информатике необходимо учитывать изменения в технологиях, новые разработки в сфере педагогики, а также все возрастающую важность обучения на протяжении всей жизни (life-long learning). В такой быстро развивающейся области как информатика, учебные заведения должны оперативно перенимать передовые стратегии, реагируя на происходящие изменения. Учебные заведения должны не от ставать от прогресса как в области технологий, так и в области педагогики, даже несмотря на существующие ограничения в ресурсах. Кроме того, обучение и информатике в ВУЗ-е должно готовить студентов к дальнейшему самообучению на протяжении всей жизни, что позволит им двигаться в ногу со временем и быть способными разрешать сложные проблемы будущего.

Глава 1. Совокупность знаний по информатике

     Набор обязательных для изучения знаний должен быть уменьшен настолько, насколько  это возможно. По мере расширения дисциплины информатики, количество тем, обязательных для изучения, заметно увеличилось. За последнее десятилетие информатика разрослась до такой степени, что теперь уже невозможно добавлять новые темы без удаления старых. Считается, что в таких условиях лучшей стратегией является сокращение количества тем в наборе обязательных знаний. Поэтому определён минимальный набор обязательных курсов, включающий в себя только тот материал, который практически все преподаватели информатики признают необходимым для студентов, которые хотят желающих получить диплом в области информатики. В то же время необходимо понимать, что обязательные курсы сами по себе не могут составить полноценной учебной программы по информатике. Поэтому все учебные планы должны включать дополнительные факультативные разделы (разделы по выбору), хотя данный отчет и не определяет, какие именно. Факультативные разделы, скорее всего, будут отличаться в зависимости от конкретного учебного учреждения, специализации и личных предпочтений каждого студента.

     При разработке учебных планов по информатике  для ВУЗ-ов, одним из первых шагов является определение и организация материала, который соответствовал бы необходимому уровню преподавания для получения минимального набора обязательных знаний в каждой из следующих областей:

     Дискретные  структуры – 20 часов

     Основы  программирования

     Алгоритмы и теория сложности

     Архитектура и организация ЭВМ

     Операционные  системы 

     Распределенные  вычисления

     Языки программирования

     Взаимодействие  человека и машины

     Графика и визуализация

     Интеллектуальные  системы 

     Управление  информацией

     Социальные  и профессиональные вопросы программирования

     Программная инженерия

     Методы  вычислений

     Совокупность  знаний по информатике организована в виде трехуровневой иерархической  структуры. На верхнем уровне иерархии находится область, представляющая собой отдельную область часть дисциплины информатики.

     1.1 Вводный курс информатики

 

 На протяжении всей истории компьютерного образования, структура курса по информатике  была предметом горячих споров. За эти годы было предложено много стратегий, которые имеют как ярых сторонников, так и противников. Подобно проблеме выбора языка программирования, обсуждение стратегии построения вводных курсов по информатике слишком часто принимает характер религиозной войны, которая создает больше дыма, чем огня.

     Истина  заключается в том, что еще  не было найдено ни одной идеальной  стратегии, и каждый подход имеет свои сильные и слабые стороны. Учитывая текущее положение дел в данной области, можно сказать, что ни один универсальный подход не будет успешным во всех ВУЗ-ах. Так как вводные программы сильно различаются по своим целям, структуре, ресурсам и предполагаемой аудитории, то нужен ряд альтернативных стратегий, проверенных на практике.

     В такой динамично меняющейся науке, как информатика, для повторения успеха необходимы постоянные педагогические нововведения. Данная глава рассматривает вводную фазу базового учебного плана, во время которой студенты впервые сталкиваются с изучением информатики на уровне ВУЗ-а.

     1.1.1 Роль программирования во вводном курсе

     Одним из наиболее горячо обсуждаемых вопросов в преподавании информатики является роль программирования во вводном учебном плане. На протяжении всей истории существования дисциплины большинство вводных компьютерных курсов фокусировались преимущественно на выработке навыков программирования.

     Умение  программировать является необходимым  навыком для всех студентов, изучающих информатику. Овладение программированием в начале курса обучения гарантирует, что студенты имеют необходимые знания при переходе к основным и углубленным курсам.

     Информатика стала академической дисциплиной  достаточно поздно, и к этому моменту в большинстве ВУЗ-ов уже появились вводные курсы по программированию, предназначенные для самого широкого круга слушателей. Поэтому к началу разработки учебных планов преподавания информатики вводные курсы уже однозначно воспринимались как "профессиональные курсы", ибо изначально программирование рассматривалось, в первую очередь, как инструмент. Таким образом, курсы по информатике зачастую строились как развитие существующих курсов по программированию, у которых никогда не было возможности развиться в более разностороннее введение в информатику как самостоятельную дисциплину.

     Однако, подход с ориентацией на программирование имеет несколько недостатков. Вот  наиболее часто приводимые возражения против такого подхода:

     Концентрация  на программировании за счет исключения других вопросов дает студентам ограниченное понимание дисциплины, укрепляя, таким образом, общее заблуждение, что "информатика тождественна программированию".

     Теоретические темы, которые должны укреплять понимание  студентами практического материала, откладываются до более поздних этапов в обучении, когда они уже не имеют такой непосредственной значимости. Эта проблема имеет последствия как для студентов, специализирующихся в информатике, так и для студентов других специальностей. Студенты, прослушивающие только вводные курсы, лишаются понимания концептуальных основ, лежащих в основе революционных технологий, изменяющих наше общество. Что же касается студентов, специализирующихся в области информатики, тот факт, что теория не излагается в самых начальных курсах, укрепляет многих из них в необъективном мнении, что теория не имеет никакого отношения к их образовательным и профессиональным нуждам.

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

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

     Курсы интенсивного обучения программированию ставят в невыгодное положение студентов, которые не имеют большого опыта в области компьютеров, создавая впечатление у тех, кто ранее пользовался компьютерами, что они знают больше, чем в действительности. В результате, студенты-новички в информатике зачастую просто не справляются с потоком информации, в то время как студенты с некоторыми предварительными знаниями чаще всего ограничиваются развитием своих плохих привычек.

     Подходы "с ориентацией на программирование" могут привести студентов к убеждению, что написание программы является единственным подходом к решению проблем с использованием компьютера. Однако в последнее время мощь и функциональность прикладных программ существенно увеличились, и студентам необходимо осознать, что подобные средства могут быть очень эффективными инструментами решения задач без использования классического программирования. Это соображение особенно важно для студентов, специализирующихся в других дисциплинах, так как их способности к решению задач и оценка собственных возможностей могут быть значительно улучшены путем обучения современным программным продуктам.

     Несмотря  на перечисленные недостатки, модель "с ориентацией на программирование" доказала свою исключительную жизнеспособность.

     Знание  программирования являются необходимым  условием для многих углубленных  курсов по информатике. Учебные стратегии, откладывающие изложение основных навыков программирования, усложняют студентам возможность прослушивать столько углубленных курсов, сколько им, возможно, хотелось бы.

     Многим  студентам программирование нравится больше, чем другие аспекты информатики. Поэтому курсы, базирующиеся на программировании, имеют тенденцию привлекать больше студентов к изучению информатики.

     Курсы по программированию дают навыки и  тренинг, необходимые для студентов, их будущих работодателей, а также факультетов, не имеющих отношения к информатике.

     Хотя  философия и структура вводных  курсов сильно варьировалась на протяжении времени, один аспект обучения информатике  остается на удивление постоянным: продолжительность вводного цикла. На протяжении нескольких десятилетий подавляющее большинство ВУЗ-ов использовало двухгодичный цикл для начального ознакомления студентов с информатикой.

     1.1.2. Выводы

     Несмотря  на постоянные споры о полезности тех или иных педагогических подходов, существует множество принципов, разделяемых практически всеми преподавателями информатики. В этом разделе мы опишем наше понимание всеобщего консенсуса о минимальном наборе целей вводного учебного плана по информатике.

     В современном мире компьютеры используются повсеместно. Из-за важности компьютерных систем и широкой применимости навыков использования компьютера, начальный курс информатики определенно должен знакомить студентов с проектированием, конструированием и применением компьютерных систем, а также давать им навыки, доказавши е свою практическую полезность. В то же время вводные курсы по информатике должны знакомить студентов с главными интеллектуальными аспектами дисциплины. Когда мы рассматриваем информатику как дисциплину, нам нужно отвлечься от распространенного восприятия информатики как инструмента и сконцентрироваться на ее концептуальных основах.

     Мы  считаем, что возможно разработать  вводный цикл курсов по информатике, который решал бы все из перечисленных  ниже задач:

  • Знакомил студентов с набором фундаментальных концепций информатики;
  • Содействовал развитию когнитивных моделей для этих концепций;
  • Поощрял развитие у студентов навыков, необходимых для применения концептуальных знаний;
  • Упрощал перевод студентов-выпускников двухгодичных колледжей на четырехгодичные программы путем установления четких результатов обучения и определения соответствия между предлагаемыми учебными курсами;

     1.2. Основной курс информатики

 

 Основные курсы  в учебном плане должны дать студентам  серьезный базис для последующего глубокого изучения отдельных тем. В то же время необходимо помнить, что вводные курсы, описанные в главе 7, и основные курсы, описанные здесь, не представляют собой полный курс обучения. Все ВУЗ-ские программы будут включать в себя значительное количество дополнительного материала по выбору. В данной главе мы предлагаем четыре варианта реализации учебного плана преподавания основного уровня:

  • Традиционный подход, в котором отдельные курсы посвящены самостоятельным темам;
  • Сокращенный подход, который организовывает курсы вокруг более общих тем;
  • Интенсивный системно-ориентированный подход;
  • Подход с ориентацией на WWW, использующий сеть в качестве основного лейтмотива.

     Эти варианты реализации представляют собой  скорее показательные модели, чем  предписанные стандарты. В каждом случае есть много других работоспособных вариантов, использующих схожие философии для разработки несколько отличающихся наборов курсов. Более того, зачастую есть возможность использовать гибридные подходы, комбинируя элементы из разных моделей. Главный вопрос ко всем этим вариантам достаточно прост: гарантирует ли рассматриваемая реализация, что все студенты ознакомятся со всеми обязательными разделами знаний за время своего обучения.

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

     1.2.1 Традиционный тематический подход

     Наиболее  типичным подходом к чтению основных курсов является простая группировка  материала, основанная на традиционном разделении области. Таким образом, студенты прослушивают отдельные курсы  по каждой из основных областей: курс по архитектуре ЭВМ, курс по операционным системам, курс по алгоритмам и т.д. Однако необязательно читать отдельные курсы для каждой из областей, входящей в обязательный список. Некоторые области с относительно небольшим количеством обязательных модулей (например, графика), могут быть интегрированы во вводную программу обучения. Другие области, такие как человеко-машинное взаимодействие, могут быть объединены с углубленным и курсами, рассматривающими природу профессиональной практики дисциплины.

     В качестве варианта реализации этой модели мы предлагаем следующий набор курсов:

     Разработка  и анализ алгоритмов

     Архитектура ЭВМ

     Операционные  системы

     Распределенные  вычисления

     Искусственный интеллект

     Базы  данных

     Социальные  и профессиональные вопросы

     Разработка  программного обеспечения

     Курсовой проект

     Эта модель очень близка к используемой на многих факультетах, поэтому она  проверена временем. Курсы лекций, скорее всего, будут не новы для большинства  преподавателей, а необходимые преподавательские  ресурсы - такие как учебные планы, тексты и наборы задач - легко доступны.

     Для больших учебных заведений девять основных курсов вряд ли будут проблемой. Однако для ВУЗ-ов с ограниченными ресурсами, поддержка девяти основных курсов может оказаться невозможной. Сокращенный подход, описанный в следующем разделе, предлагает способ уменьшения размера учебного плана, как, впрочем, и смешанные подходы, описанные далее.

     1.2.2. Сокращенный подход

     Итак, тематический подход посвящает полный учебный курс каждой из основных областей в совокупности знаний. Однако большинство из этих областей не включают в себя 40 часов обязательного материала, и это означает, что в тематическом подходе основные курсы включают в себя не только обязательные, но и дополнительные темы. Для ВУЗ-ов, которым необходимо сократить количество основных курсов, самым лучшим подходом будет объединение отдельных тем в тематические курсы, собирающие материал связанных между собой областей информатики в единое целое.

     Сокращенный подход представляет собой результат чрезвычайно агрессивной попытки объединения тем, что позволило сократить вводный цикл традиционной модели с девяти курсов до пяти:

     Разработка  и анализ алгоритмов

     Архитектура ЭВМ

     Операционные  системы и сети

     Управление  информацией и знаниями

     Разработка  ПО и профессиональная практика

     Эта реализация охватывает все обязательные разделы знаний, но экономит четыре курса по сравнению с тематическим подходом. В результате, эта модель может быть полезна в тех случаях, когда необходимо придерживаться минимального количества основных курсов. Такое сжатие приемлемо для маленьких колледжей с небольшим количеством преподавателей на факультете или для любого ВУЗ-а, оказавшегося не в состоянии нанять на работу достаточное количество преподавателей для чтения более объемных программ.

     Конечно, необязательно полностью придерживаться тех вариантов сжатия основных курсов, которые используются в данной модели. Следующий раздел описывает ряд смешанных подходов, которые перенимают стратегию сокращенного подхода для создания циклов основных курсов размерами от пяти курсов сжатой модели до девяти курсов традиционной модели. В то же время важно не переусердствовать с сокращением количества курсов. Не рекомендуется пытаться сгруппировать все обязательные модули в теоретический минимум из семи курсов, основываясь на том, что ядро состоит из 280 часов. Излишнее уплотнение программы обучения создает курсы, в которых темы недостаточно логически связаны и которые оставляют слишком мало времени и свободы преподавателям для адаптации и улучшения материала.

     1.2.3. Системно-ориентированный подход

     В конечном счете, теория и практика информатики  находят свое применение в разработке высококачественных компьютерных систем. Этот раздел определяет учебный план о бучения информатике, использующий разработку систем в качестве объединяющей темы. Такая модель включает в себя больше технического и профессионального материала, чем другие модели, при сохранении рационального уровня охвата теоретических вопросов. Теория информатики остается важной как в качестве основы для понимания практики, так и в качестве надежного фундамента знаний, остающихся актуальными, несмотря на постоянные изменения технологий.

     Минимальная реализация системно-ориентированного подхода состоит из следующих  курсов, продолжающих вводный цикл:

     Введение  в устройство компьютера

     Разработка  и анализ алгоритмов

     Архитектура ЭВМ

     Операционные  системы и сети

     Трансляция  языков программирования

     Компьютерная  графика

     Искусственный интеллект

     Управление  информацией

     Разработка  ПО и системное программирование

     Курсовой  проект

     Хотя  названия этих курсов наводят на мысль, что они концентрируются на отдельных областях, необходимо использовать всеобъемлющее понятие системы в качестве обобщающей темы. Эта системная перспектива должна пронизывать все аспекты программы обучения и включать некоторую комбинацию теории, практики, приложений и соответствующего подхода.

     1.2.4. WWW-ориентированный подход

     Эта модель выросла из массового спроса на циклы учебных курсов, которые  уделяют больше внимания Интернету  и World Wide Web, используя эти области  в качестве общего базиса для программы обучения в целом. Следующие курсы представляют одну из попыток разработки подобной модели:

     Введение  в WWW

     Разработка  и анализ алгоритмов

     Архитектура ЭВМ и операционные системы

     Архитектура сетей и коммуникаций

     Распределенные  вычисления

     Человеко-машинное взаимодействие

     Компьютерная  графика

     Искусственный интеллект и информация

     Разработка  ПО и профессиональная практика

     1.2.5 Выводы

     Как было отмечено в начале этой главы, четыре основных подхода, выделенных в этом отчете - традиционный, сокращенный, системно-ориентированный и WWW-ориентированный - должны рассматриваться как показательные модели, которые демонстрируют только некоторые из доступных возможностей. Во многих случаях разумно объединить элементы двух или более подходов для создания нового смешанного учебного плана, который может более эффективно отвечать требованиям отдельного ВУЗ-а. При таком объединении необходимо удостовериться, что получившийся в результате комбинирования учебный план охватывает все обязательные темы.

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

     Для завершения учебного плана необходимо, чтобы студенты получили разнообразные  знания и навыки, а также получили возможность выполнить сложную  работу, выходящую за пределы минимального объема.

Глава 2. Информатика в учебных планах

     Факультеты  информатики обычно существуют, как части учебных ВУЗ-ов, имеющих в своем составе также естественнонаучные и гуманитарные факультеты, факультеты социальных наук и прикладного искусства. В предыдущих главах уже было уделено немало внимания стремительному развитию информатики и последствиям этого развития, отразившимся практически в каждой области человеческого знания. На сегодняшний день информатика является не просто важной дисциплиной, она также обслуживает множество различных других наук. Муниципальный чиновник, работающий с демографической базой данных, дизайнер, использующий автоматизированную систему проектирования, экономист, создающий компьютерные модели - это все примеры людей, применяющих информационные технологии в своей профессиональной деятельности. Столь широкое распространение информатики влечет за собой возможность и необходимость создания множества высококачественных учебных курсов д ля заинтересованных специалистов из иных областей. Помня о своей главной задаче - подготовке профессионалов в информатике - мы не должны забывать о других. Вследствие ограниченности финансовых ресурсов и нехватки преподавателей факультеты информатики иногда вынуждены концентрировать собственные ограниченные возможности на своих студентах в ущерб учащимся других специальностей. Мы считаем, что такая политика неуместна и недостойна. Учитывая скорость распространения влияния информатики на все сферы жизни, каждый ВУЗ должен предоставить курсы обучения этой дисциплине всем своим студентам.

Методика обучения информатике