Темы диссертаций по педагогике » Теория и методика обучения и воспитания (по областям и уровням образования)

автореферат и диссертация по педагогике 13.00.02 для написания научной статьи или работы на тему: Совершенствование содержания обучения программированию на основе интеграции парадигм программирования

Автореферат по педагогике на тему «Совершенствование содержания обучения программированию на основе интеграции парадигм программирования», специальность ВАК РФ 13.00.02 - Теория и методика обучения и воспитания (по областям и уровням образования)
Автореферат
Автор научной работы
 Жужжалов, Валерий Евгеньевич
Ученая степень
 доктора педагогических наук
Место защиты
 Москва
Год защиты
 2004
Специальность ВАК РФ
 13.00.02
Диссертация по педагогике на тему «Совершенствование содержания обучения программированию на основе интеграции парадигм программирования», специальность ВАК РФ 13.00.02 - Теория и методика обучения и воспитания (по областям и уровням образования)
Диссертация

Автореферат диссертации по теме "Совершенствование содержания обучения программированию на основе интеграции парадигм программирования"

На правах рукописи

Жужжалов Валерий Евгеньевич

СОВЕРШЕНСТВОВАНИЕ СОДЕРЖАНИЯ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ НА ОСНОВЕ ИНТЕГРАЦИИ ПАРАДИГМ ПРОГРАММИРОВАНИЯ

13.00.02 - теория и методика обучения и воспитания (информатика)

Автореферат диссертации на соискание ученой степени доктора педагогических наук

Москва - 2004

Работа выполнена в Московском городском педагогическом университете

Научный консультант: доктор технических наук,

профессор Григорьев С.Г.

Официальные оппоненты: доктор педагогических наук,

профессор Захарова Т.Б., доктор педагогических наук, профессор Пугач В.И., доктор педагогических наук, профессор Лукин В.В,

Ведущая организация: Ленинградский государственный

университет им. A.C. Пушкина

Защита диссертации состоится « 23 » декабря 2004 года в 15 часов на заседании диссертационного совета Д 008.008.04 при Институте содержания и методов обучения Российской академии образования по адресу: 119435, Москва, ул. Погодинская д. 8.

С диссертацией можно ознакомиться в библиотеке Института содержания и методов обучения Российской академии образования.

Автореферат разослан «_» ноября 2004 года

Ученый секретарь диссертационного совета д.п.н., профессор

С.А. Бешенков

■ouu + - ) ^ о + ю x a

S 1- 3

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

сравнимый скачок в своем развитии.

По сравнению с состоянием преподавания информатики в 1985 году -официальной точкой отсчета внедрения информатики в образование, когда информационно-вычислительные процессы изучались лишь в нескольких специализированных высших учебных заведениях, сегодня студенты практически всех высших учебных заведений изучают информатику. Современный курс информатики является результатом большого спектра исследований, отраженных в работах А.П. Ершова A.A. Кузнецова, ^. Кузнецова, B.C. Леднева, В.Л. Матросова, Н.В. Макаровой, А.Г. Геина, МП Летчика, С.А. Бешенкова, С.Г. Григорьева, А.Г. Кушниренко, И.Г. Семакина, Е.К. Хеннера, В.В. Лаптева, С.А. Жданова, М.В. Швецкого и

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

Несмотря на то, что вопросы обучения программированию достаточно подробно изучены в работах Н. Вирта, А.Г. Кушниренко, Н.Г. Лебедева, Н Н Непейводы, И.В. Потгосина, И.Н. Скопина и др., постоянное развитие информационных и телекоммуникационных технологий требует совершенствования существующих методических систем обучения соответствующим разделам курса информатики. Действительно, мощные, современные компьютеры становятся все более дешевыми и массовыми средствами для обработки информации. Меняются приоритеты в программировании. Задача оптимизации используемых ресурсов компьютера (времени расчетов, затрат памяти и т.дЛИштаг^ актуальной, чем оптимизация трудозатрат высокок^ифдощШУШ?

£ С.Петербург

к

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

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

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

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

Процедурная парадигма являлась основой обучения в большинстве курсов программирования. Опыт этой работы отражен в работах таких исследователей, как: А.Г.Кушнеренко, А.П. Ершов, А.Г. Гейн, В.М. Монахов и многих других. Парадигма объектно-ориентированного программирования, близкая к процедурной нашла поддержку в работах Е.Г. Андросовой, Н.Д. Угриновича, H.H. Истоминой и ряда других исследователей.

Логическая парадигма, как основа для построения учебного курса программирования нашла отражения в ряде работ С.Г. Григорьева, Е.А. Ерохиной, В.А. Каймина, А.Г. Щеголева, Д.П. Федюшина, Z. Scherz, О. Maler, Е. Shapiro, J.R. Ennals и другие.

В литературе практически не проработаны вопросы использования функциональной парадигмы в качестве основы для построения учебного курса программирования.

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

• анализу решаемых задач по обработке информации с целью выбора оптимального подхода к их решению;

•выбору парадигмы программирования, использование которой влечет наиболее эффективное решение задачи;

•разработке программ с использованием различных парадигм программирования.

Все они в совокупности указывают на определенные недостатки в общеобразовательной подготовке программистов.

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

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

• оказываются различными и не связанными между собой методические системы обучения, при этом варьируются цели и содержание обучения, применяемые средства и методы;

• становится невозможным сравнительный анализ подходов к разработке алгоритмов и конструкций языков программирования.

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

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

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

Все сказанное выше определяет актуальность темы настоящего диссертационного исследования.

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

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

Объектом исследования выступает система подготовки специалистов в области информатики в высших учебных заведениях.

Предмет исследования - совершенствование содержания обучения программированию, основанное на интеграции парадигм профаммирования.

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

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

•привитие навыков анализа решаемой задачи по обработке информации и сравнительного анализа особенностей разных парадигм программирования;

•изучение приемов алгоритмизации и языков программирования, относящихся к разным парадигмам, включая функциональную и логическую парадигмы;

•обучение принципам отбора технологических приемов программирования в зависимости от особенностей решаемой задачи.

Цель, предмет и гипотеза исследования определили постановку и необходимость решения следующих задач:

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

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

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

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

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

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

Базой опытно-экспериментальной работы явилась кафедра информатики и прикладной математики Московского городского педагогического университета.

Теоретическую и методологическую основу исследования составили:

- труды педагогов, психологов, в которых рассматриваются проблемы образования, его роль в развитии личности обучаемого (Ю.К. Бабанский,

B.П. Беспалько, П.Я. Гальперин, Б.С. Гершунский, В.В. Давыдов, В.В. Краевский, B.C. Леднев, И.Я. Лернер, А.Г.Мордкович, A.M. Пышкало, Е.С. Полат и другие);

- работы в области развития концепций и структуры высшего профессионального образования (А.Н. Афанасьев, Ю.С. Брановский, В.Г. Кинелев, B.C. Леднев, В.Л. Матросов и другие)

- работы в области информатизации образования (М.А. Гуриев, А.П. Ершов, В.Г. Кинелев, A.A. Кузнецов, К.К. Колин, В.А.Поляков, И.В.Роберт, А.Я. Советов, А.Л. Семенов, А.Ю. Уваров и другие);

работы в области формирования методологии обучения информатике (С.А. Бешенков, Т.А. Бороненко, А.Г. Гейн, С.Г.Григорьев,

C.А. Жданов, А.П. Ершов, A.A. Кузнецов, Э.И. Кузнецов, В.В. Лаптев, М.П. Лапчик, Н.В. Макарова, A.B. Могилев, Е.А. Ракитина, И.Г. Семакин, А.Л. Семенов, Н.Д. Угринович, Е.К. Хеннер, М.В. Швецкий и другие);

Научная новизна исследования заключается в том, что:

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

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

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

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

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

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

обработке информации в рамках единой системы обучения информатике в вузе.

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

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

Организация и этапы исследования. Работы в рамках исследования проводились с 1996 по 2004 годы и могут быть условно разделены на три основных этапа.

На первом этапе (1996-2001 г.г.) проводился анализ психолого-педагогической и методической литературы для определения степени разработанности проблемы, разработан концептуальный замысел исследования, сформулирована его гипотеза.

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

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

На защиту выносятся следующие основные положения :

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

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

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

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

5. Целесообразность использования в рамках разработанной методической системы обучения интегрированных сред, аналогичных средам программирования семейства «Турбо», обосновываемая за счет их функционального, программного, интерфейсного и технологического единообразия; применения разработанного учебно-методического материала для повышения эффективности обучения в рамках системы курсов по обработке информации, основанной на интеграции парадигм программирования;

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

Апробация и внедрение. Материалы диссертации докладывались на Международных научно-методических конференциях МГУТУ (Москва, 1999; Москва, 2001; Москва, 2002; Москва 2003) Международной конференции «Информационные технологии в образовании НТО - 2003» (Москва, 2003 год), Семинаре кафедры информатики и прикладной математики Московского городского педагогического университета (Москва, 2003 год), Семинаре центра Информатики и информационных технологий в образовании ИСМО РАО (Москва 2003 год), Семинаре Управления информатизации Финансовой академии при Правительстве РФ (Москва, 2001 год), Научном семинаре кафедры информационных технологий Самарской государственной экономической академии (Самара, 2003 год), Научном семинаре факультета информатики Курского государственного университета (Курск, 2004 год), семинаре Института дистантного образования РУДН (Москва, 2004 год).

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

Структура диссертации. Диссертация состоит из введения, шести глав, заключения, списка использованной литературы и приложений.

ОСНОВНОЕ СОДЕРЖАНИЕ ДИССЕРТАЦИИ

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

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

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

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

Развитие учебного курса информатики коснулось среднего звена и некоторых высших учебных заведений. Первая школа, в которой изучались бы основы программирования, была создана в Москве по инициативе С.И. Шварцбурда. Эксперимент удался, и в дальнейшем подобные учебные заведения стали появляться в Ленинграде, Новосибирске и других городах.

Говоря о развитии информатики как дисциплины, нельзя не отметить педагогическую деятельность коллектива ученых под руководством академика А.П. Ершова. В ходе нее были выработаны многие теоретические и методические положения, которые впоследствии были использованы при создании предметов, связанных с информатикой на разных уровнях образования. Изучение устройства ЭВМ и основ программирования в специализированных средних и высших учебных заведениях привели к новому этапу: внедрению факультативных курсов, в том числе и связанных с вычислительной техникой и программированием. Инициаторами этих курсов были И.Н. Антипов, В.М. Монахов, A.A. Кузнецов, B.C. Леднев, Ю.А. Первин и др. С течением времени к изучению подобных курсов в вузах привлекалось все большее количество студентов. Параллельно с этим, возник ряд вопросов педагогического характера. Предстояло сделать выбор в содержании и методике обучения информатике. Были исследованы некоторые общеобразовательные аспекты обучения программированию и вопросы взаимосвязи преподавания программирования с содержанием математических дисциплин, таких как алгебра, логика, геометрия, анализ. В этой связи достаточно проследить направления исследований С.И. Шварцбурда, В.М. Монахова, М.П. Лапчика и других.

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

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

Если в изучении информатики в школах основной акцент расставлялся на ознакомлении обучаемых с прикладными программами и развивающими играми, то в содержании обучения студентов в самых различных вузах преобладало овладение основами программирования и алгоритмизации, изучение популярных языков программирования. В разное время студенты учились программировать на процедурных языках, таких как Бейсик, Фортран, PL-1, Алгол, Паскаль, Си, объектно-ориеншрованных языках типа Object Pascal, Си ++ и других. Изучая разные языки программирования, студенты видели, что с одной стороны решение задачи не зависит от выбора языков программирования, с другой стороны изучали богатство методов в решении одной и той же задачи, основанной на широте и многовариантности человеческого мышления.

В настоящее время разработка новых аппаратных и программных средств приводит к тому, что содержание вузовских дисциплин информационного блока постоянно совершенствуется. В этой связи проблема отбора содержания образования является одной из самых сложных. Ее решение рассматривалось в работах известных ученых: А.П. Ершова, A.A. Кузнецова, B.C. Леднева, М.П. Лапчика, В.М. Монахова, С.А. Бешенкова, С.Г. Григорьева, А.Г. Кушниренко, С.А. Жданова, М.В. Швецкого и других. В их исследованиях рассматриваются общедидактические принципы и методы отбора содержания обучения, критерии профессионально-педагогической направленности курса информатики.

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

• иметь целостное представление об информатике как науке, ее месте в современном мире и в системе наук;

•знать новые информационные технологии, применяемые в образовании;

•обладать умением адаптировать и макетировать любую информацию;

•обладать умением обрабатывать информацию различными способами;

•знать инструментальные средства подготовки электронных публикаций, докладов, сообщений и презентаций;

•уметь обрабатывать графическую, текстовую, звуковую, табличную информацию в современных профессиональных программных пакетах;

«знать основные принципы функционирования локальных и глобальных телекоммуникационных систем.

Принципы и методы отбора содержания обучения в вузе на общетеоретическом уровне исследованы в работах С.И. Архангельского, II. Вирта, Ю.М. Колягина, А.Г. Кушниренко, В.М. Монахова, H.H. Непейводы, И.В. Поп-осина, И.Н. Скопина и др., постоянное развитие информационных и телекоммуникационных и других ученых.

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

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

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

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

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

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

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

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

В диссертации рассматриваются сложившиеся четыре парадигмы программирования: процедурная, объектно-ориентированная,

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

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

Рисунок 1.

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

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

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

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

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

информационные структуры, взаимосвязи между ними, и то, какими

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В связи с вышеизложенным в качестве основных содержательных линий создаваемого интегративного курса информатики, связанных с процедурной парадигмой программирования, в диссертации выделены темы «алгоритм и его свойства», «понятие алгоритма», «формальное исполнение алгоритма», «основы синтаксиса языка Паскаль» (общая характеристика, операторы, встроенные и стандартные функции и процедуры, подпрограммы, рекурсии, стандарт языка и его реализации, правила записи текста программы, основы программирования в среде Turbo-Pascal). Полная рабочая программа описываемого раздела интегративного курса приведена в приложении к реферируемой диссертации.

В ходе исследования был собран, обработан и проверен на практике необходимый учебно-методический материал, ориентированный на

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

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

Подготовительный. Формируется мотивация студентов к изучению процедурного языка программирования (выявление у студентов уровня готовности к изучению программирования, ознакомление с системой работы по изучению информатики).

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

Заключительный. Предусматривает самоконтроль и контроль со стороны преподавателей, оценку работы студента с конкретными рекомендациями на будущее.

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

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

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

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

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

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

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

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

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

Развитие методов объектно-ориентированной парадигмы существенно повлияло на пути совершенствования современных языков программирования. Кроме специально разработанных языков Simula и SmallTalk, объектная ориентированность методов программирования появилась в таких языках как Си++, Object Pascal, Borland Delphi, Ada и других. Существенным фактором в утверждении объектно-ориентированной технологии явилось появление таких объектных систем как Windows. В этих программных продуктах принципам объектной ориентированности подчинены не только программные взаимодействия, но и реализация интерфейсных компонент.

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

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

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

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

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

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

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

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

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

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

В диссертации определены цели обучения описываемому разделу интегрированного курса информатики, в числе которых знакомство с1удентов с понятием «объект», используемым в программировании,

формирование знаний понятий «событие», «действие», «связь» и умений выделять и моделировать их в условиях конкретной программной среды, формирование знаний и умений использования на практике основных конструкций объектно-ориентированного программирования, таких как наследование, инкапсуляция, полиморфизм.

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

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

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

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

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

Проблема нехватки литературы, непосредственно посвященной объектно-ориентированной методологии программирования, частично разрешается за счет использования ресурсов сети Интернет и источников, которые носят справочно-информационный характер. В некоторых случаях студентам рекомендуются для изучения лишь некоторые главы учебников и пособий, имеющихся в распоряжении педагога. Основным программным средством, используемым при обучении курсу программирования на основе объектно-ориентированной парадигмы, является система объектно-ориентированного программирования Borland Pascal (Object Pascal).

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

Использование логической парадигмы в преподавании курса программирования связано с мировоззренческим подходом к изучению информатики, являющимся результатом взаимодействия идей философии, лингвистики, формализмов и программирования. Эти принципы легли в основу учебника С.А. Бешенкова, А.Г. Гейна, С.Г. Григорьева "Информатика и информационные технологии" и дополняющего его задачника С.Г. Григорьева, Е.В. Морозовой. Появляются и другие учебники информатики с мировоззренческой доминантой.

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

Впервые этот процесс был формализован в работах Р. Ковальского. В сфере образования Пролог был использован в таких странах как Великобритания, Израиль, Россия и некоторых других (работы J.R. Ennals, Z. Scherz, В.Ф. Козадой и других). В ряде случаев в этих странах предпринимались попытки создания специальных учебных версий систем логического программирования. Примерами таких программных систем могут служить широко известные разработки Micro-prolog и Пролог-Д К

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

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

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

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

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

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

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

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

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

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

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

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

Функциональное программирование основывается на простой модели вычислений, состоящей из трех конструкций: переменные, определение функции и ее применение к какому-либо аргументу. Подобная модель получила название ^.-исчисление и была введена Черчем в 1932 году. В К - исчислении любая функция является переменной, так что она может быть использована как входной параметр, или возвращена как результат другой функции. Теория >,-исчисления утверждает, что все то, что вычисляемо, может быть представлено этим формализмом Однако синтаксис, порождаемый такой теорией, слишком ограничен, чтобы его можно было использовать как язык программирования. В связи с этим к X-исчислению были добавлены базовые типы (например, целые числа или строки символов), операторы для этих типов, управляющие структуры и объявления, позволяющие именовать переменные или функции (в частности, рекурсивные функции).

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

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

В языке LISP принята единая форма записи данных и программ. Например, выражение (F X Y) может восприниматься либо как список из трех элементов, либо как обращение к функции F с аргументами X и У. Благодаря этому программа пользователя способна в процессе работы не только создавать новые функции и программы, но и немедленно выполнять их. Эта возможность языка является его уникальной особенностью и очень мощным оружием в руках программиста (в

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

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

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

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

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

При отборе содержания обучения функциональному программированию, в ходе исследования учитывалось, что методика обучения программированию включает в себя:

1. Изучение языка функционального программирования (его синтаксис и семантику);

2. Реализацию основных алгоритмических структур на языке функционального программирования;

3. Реализацию конкретных структур данных (фундаментальных и динамических).

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

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

Первая содержательная линия (формальный синтаксис и формальная семантика) предполагает изучение математических оснований языков функционального программирования, А,-исчисления и исчисления комбинаторов.

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

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

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

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

Пятая содержательная линия (контролирующие структуры). Подход к доказательному программированию связан со свойствами языка программирования, к которому этот метод применяется. Для функционального программирования - это принцип математической индукции, /.-исчисление и исчисление комбинаторов. Самые простые функции, написанные на языке LISP, не содержат рекурсии. Доказательство их правильности сводится к выводу формулы, описывающей ситуацию, когда функция работает корректно. Каждой конструкции языка программирования предписывается математический элемент (Х-терм или CL-терм). При этом семантика программы вычисляется, исходя из семантики составляющих ее конструкций.

Для доказательства правильности рекурсивных функциональных программ применяется индукция. Метод индукции можно применять для доказательства высказываний на любом индуктивно заданном множестве. Определяя рекурсивный тип данных, например список в языке LISP, мы определяем именно такое множество. Такой способ доказательства правильности для рекурсивных функций естественен, поскольку он следует основной схеме вычислений в рекурсивньгх программах. Так как индукция осуществляется по «структуре данных», которые обрабатывает программа, то такой способ доказательства правильности называется доказательством с помощью структурной индукции.

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

Следует также отметить, что проведенный в рамках исследования анализ существующих обще-дидактических и частно-дидактических методов обучения позволил выбрать два частно-дидактических метода

обучения данному разделу в расширенном курсе информатики: прснраммирование как метод обучения и метод демонстрационных примеров. Более подробно оба метода рассмотрены в данной главе диссертации.

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

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

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

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

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

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

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

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

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

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

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

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

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

парадигм программирования в рамках единого расширенного учебного курса информатики.

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

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

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

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

Основная цель второго блока экспериментов заключалась в демонстрации возможности введения интегрированного курса

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

Эксперимент проводился в течение двух лет в рамках факультативных занятий по информатике со студентами младших курсов математического факультета Московского городского педагогического университета.

К<0.6 0.6<К<0 75 0,75 <К <0,9 коэффициент усвоения

0.9-'К>'1

экспериментальная группа

□ контрольная группа

Рисунок 2.

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

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

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

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

ЗАКЛЮЧЕНИЕ

В ходе проведенного исследования были получены следующие основные результаты:

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

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

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

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

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

•учет однотипных и специфических подходов и инструментальных средств программирования,

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

•обучение приемам сравнительного анализа языковых средств и анализа решаемой задачи,

•использование системы взаимосвязанных учебных заданий и средств обучения,

• применение методов сравнительного обучения;

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

6. Разработан учебно-методический материал, необходимый для обучения в рамках системы курсов по обработке информации, основанной на интеграции парадигм программирования, в том числе специализированный сборник задач и упражнений, методические пособия: «Методика использования процедурной парадигмы при изучении языков программирования», «Использование объектно-ориентированной парадигмы при изучении языков программирования», «Логическая парадигма программирования в курсе информатики»;

7. Отобраны программно-технические средства, необходимые для обучения в рамках созданной системы курсов. Предложено использование интегрированных сред, функционально, программно, интерфейсно и технологически аналогичных популярным средам программирования семейства «Турбо». В числе таких средств отмечена интегрированная оболочка «Пролог-Д», предназначенная для обучения логической парадигме программирования, интегрированная оболочка «Языковая среда», для которой разработан модуль расширения, позволяющий транслировать программы, построенные обучаемыми в виде

иерархических структур, в программы на языках, относимых к разным парадигмам программирования, что позволило использовать «Языковую среду» в качестве средства сравнительного обучения;

8. Разработанные в ходе работы учебные курсы могут найти применение при проведении занятий с учащимися старших классов школы информационно-технологического профиля;

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

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

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

I. Монографии, учебники, методические пособия.

1.Жужжалов В. Е. Основы интеграции парадигм программирования в курсе информатике. Москва, Информатика и Образование, 2004 г. 12,5 печ.л.

2. Жужжалов В. Е. Методика использования процедурной парадигмы при изучении языков программирования (научно-методическое издание) Москва, ИСМО РАО, 2001 г. 9 печ. л.

3. Жужжалов В. Е. Использование объектно-ориентированной парадигмы при изучении языков программирования (научно-методическое издание) Москва, ИСМО РАО, 2002 г. 4 печ. л.

4. Жужжалов В.Е. Логическая парадигма программирования в курсе информатики (научно-методическое издание) Москва, ИСМО РАО, 2003 г. 2 печ. л.

5. Жужжалов В.Е. Сборник задач для решения в курсе информатики основанного на использовании различных парадигм обработки информации (научно-методическое издание) Москва, ИСМО РАО, 2003 г. 1,5 печ. л.

6. Жужжалов В.Е. Перспективные технологии дистанционного обучения на современном этапе развития высшего образования в России (методическое указание) /Жужжалов В.Е., Стрельников П.В., Стреляев Д.В./ Сб. «7-ой Международной научно-методической конференции» изд-

во МГТА, Москва, март 2001 г, 2 печ. л. (в соавт., в том числе авт. -0,27печ. л.).

7. Жужжалов В.Е. К вопросу о расширении арсенала средств дистанционного обучения в заочном высшем образовании (методическое указание) /Жужжалов В.Е., Стрельников П.В., Стреляев Д.В., Павлов А.Г./ Сб. «7-ой Международной научно-методической конференции» изд-во МГТА, Москва, март 2001 i. 2 печ. л. (в соавт., в том числе авт. - 0,46 печ.

л.).

8. Жужжалов В.Е. МГТА, развитие образовательного процесса в пищевом секторе после 2001 года (методическое указание) /Жужжалов В.Е., Филатов O.K. Маклаков В.В./ Сб. «7-ой Международной научно-методической конференции» изд-во МГТА, Москва, март 2001 г. 3 печ. л. (в соавт., в том числе авт. - 0,65 печ. л.).

9. Жужжалов В.Е. Организация использования электронных средств для хранения и передачи учебных материалов, как способ обеспечения доступности образования (методическое указание) /Жужжалов В.Е., Солдатов В.В./ Сб. «7-ой Международной научно-методической конференции» изд-во МГТА, Москва, март 2001 г. 2 печ. л. (в соавт., в том числе авт. - 0,33 печ. л.).

10. Жужжалов В.Е. Дипломное проектирование /Жужжалов В.Е., Маклаков В.В. Солдатов В.В. Жиров М.В., Шаховской A.A./ Изд-во МГТА, Москва 2003г. 3 печ. л. (в соавт., в том числе авт. - 0,47 печ. л.).

11. Жужжалов В.Е. Методы и средства защиты компьютерной информации (учебно-практическое пособие) /Жужжалов В.Е., Солдатов В.В. Маклаков В.В. Жиров М.В. Гаврилин П.А./ Москва, Изд-во МГТА, 2004 г. 44 печ. л. (в соавт., в том числе авт. - 0,39 печ. л.).

11. Статьи, тезисы.

12. Жужжалов В.Е. Интеграция парадигм программирования в курсе информатики. Москва, Информатика и образование, N10, 2004, стр. 3*2-36,

13. Жужжалов В.Е. Специфика обучения программированию при подготовке студентов - информатиков. Вестник Ml НУ, серия Информатизация образования N1 (2) 2004 г.

14. Жужжалов В.Е. Методология разработки учебных программ на основе процедурной парадигмы программирования Вестник МГЛУ, серия Информа газация образования N1(2) 2004 г.

15. Жужжалов В.Е. Методы и организационные формы обучения программированию в вузе. Москва, Вестник РУДН серия дистанционное образование N1 2004, стр.21-30.

16. Жужжалов В.Е. Реализация интеграционных подходов к обучению информатике в вузе Москва, Вестник РУДН серия дистанционное образование N1 2004, стр. 30-37.

17. Жужжалов В.Е. Перспективы регионального развития учебного и инновационного процесса в пищевом секторе после 2000 года /Жужжалов В.Е., Филатов O.K., Маклаков В.В./ Сб. «5-ой Международной научно-практической конференции», МГЗИПП Москва, март, 1999 г. 6 печ. л. (в соавт , в том числе авт. - 0,42 печ. л.).

18. Жужжалов В.Е. Новые технологии обучения в рамках конверсионного перепрофилирования военных учебных заведений /Жужжалов В.Е., Гетманов В.Г., Маклаков В.В./ Сб. «5-ой Международной научно-практической конференции», МГЗИПП Москва, март, 1999 г 2 печ. л. (в соавт., в том числе авт. - 0,54 печ. л.).

19. Жужжалов В.Е. Системный подход в организации учебного процесса в заочном вузе. /Жужжалов В.Е., Злобин Л.А./ Сб. «5-ой Международной научно-практической конференции», МГЗИПП Москва, март, 1999 г. 2 печ. л. (в соавт., в том числе авт. - 0,49 печ. л.).

20. Жужжалов В.Е. Методы и системы управления информационными технологиями (статья) /Жужжалов В.Е., Маклаков В.В./ Сб. «IX Международной научно-методической конференции», изд-во МГТА, Москва 25-26 марта 2003г. 2 печ. л. (в соавт., в том числе авт. - 0,72 печ. л.).

21. Жужжалов В.Е. Система интегрированного изучения курса информатики в вузе (статья) Сб. научных трудов «X Международной научно-методической конференции», Выпуск 8, часть 1, Москва 23-24 марта 2004г., МГУТУ 2 печ. л.

Издательство Института содержания и методов обучения РАО Москва, 103062, ул.Макаренко, д.5/16. Тираж 100 экз.

РЫБ Русский фонд

Содержание диссертации автор научной статьи: доктора педагогических наук, Жужжалов, Валерий Евгеньевич, 2004 год

ВВЕДЕНИЕ

ГЛАВА 1. ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ В КУРСЕ ИНФОРМАТИКИ

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

§1.2. Методы обучения приемам обработки информации и программированию в вузовских курсах информатики

§1.3. Современные подходы к разработке алгоритмов и программ. Сущность и специфика парадигм программирования.

ГЛАВА 2. МЕТОДИЧЕСКИЕ И СОДЕРЖАТЕЛЬНЫЕ АСПЕКТЫ ИСПОЛЬЗОВАНИЯ ПРОЦЕДУРНОЙ ПАРАДИГМЫ ПРИ ИЗУЧЕНИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

§2.1. Процедурное программирование на языках высокого уровня в системе подготовки студентов

§2.2. Методология разработки алгоритмов и программ на основе процедурного подхода

§2.3. Курс процедурного программирования и его место в системе подготовки специалистов

§2.4. Методическая поддержка преподавания программирования на основе процедурной парадигмы

ГЛАВА 3. МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ УЧЕБНОГО КУРСА ПРОГРАММИРОВАНИЯ НА ОСНОВЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА

§3.1. Подходы к построению учебных курсов объектно-ориентированного программирования

§3.2. Интенсификация программирования на основе объектно-ориентированного подхода

§3.3. Проблематика внедрения объектно-ориентированной парадигмы программирования в учебный процесс

§3.4. Методико-содержательные аспекты преподавания объектно-ориентированного программирования

ГЛАВА 4. ЛОГИЧЕСКАЯ ПАРАДИГМА ПРОГРАММИРОВАНИЯ В ВУЗОВСКОМ КУРСЕ ИНФОРМАТИКИ

§4.1. Сущность и специфика логического подхода к разработке алгоритмов и программ

§4.2. Логическая парадигма программирования как основа для создания учебных приложений

§4.3. Методическая система обучения основам логического программирования и методам искусственного интеллекта при изучении курсов по обработке информации в вузе

ГЛАВА 5. ЭЛЕМЕНТЫ ФУНКЦИОНАЛЬНОГО ПРОГРАММИРОВАНИЯ КАК КОМПОНЕНТ СОДЕРЖАНИЯ ОБУЧЕНИЯ ИНФОРМАТИКЕ В ВУЗЕ

§5.1. Средства и технологии реализации функциональной парадигмы разработки алгоритмов и программ

§5.2. Методическая система обучения студентов программированию на основе функциональной парадигмы

ГЛАВА 6. ОБУЧЕНИЕ МЕТОДАМ ОБРАБОТКИ ИНФОРМАЦИИ НА ОСНОВЕ ИНТЕГРАЦИИ ПАРАДИГМ ПРОГРАММИРОВАНИЯ

§6.1. Интеграция парадигм программирования в учебном курсе информатики

§6.2. Учебные курсы, построенные на основе интеграции парадигм программирования

§6.3. Система экспериментов, подтверждающая эффективность содержательно-методических результатов исследования

Введение диссертации по педагогике, на тему "Совершенствование содержания обучения программированию на основе интеграции парадигм программирования"

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

По сравнению с состоянием преподавания информатики в 1985 году - официальной точкой отсчета внедрения информатики в образование, когда информационно-вычислительные процессы изучались лишь в нескольких специализированных высших учебных заведениях, сегодня студенты практически всех высших учебных заведений изучают информатику. Современный курс информатики является результатом большого спектра исследований, отраженных в работах А.П. Ершова, А.А. Кузнецова, Э.И. Кузнецова, B.C. Леднева, B.JI. Матросова, Н.В. Макаровой, А.Г. Гейна, М.П. Лапчика, С.А. Бешенкова, С.Г. Григорьева, А.Г. Кушниренко, И.Г. Семакина, Е.К. Хеннера, В.В. Лаптева, С.А. Жданова, М.В. Швецкого и других.

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

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

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

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

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

Процедурная парадигма являлась основой обучения в большинстве курсов программирования. Опыт этой работы отражен в работах таких исследователей, как: А.Г.Кушнеренко [Кушнеренко, 1988], А.П. Ершов [Ершов, 1985], А.Г. Гейн [Гейн, 1989], В.М. Монахов [Монахов, 1985] многих других. Парадигма объектно-ориентированного программирования, близкая к процедурной нашла поддержку в работах Е.Г. Андросовой [Андросова, 1996], Н.Д. Угриновича [Угринович, 2001] и ряда других исследователей.

Логическая парадигма, как основа для построения учебного курса программирования нашла отражения в ряде работ С.Г. Григорьева [Григорьев, 1993], Е.А. Ерохиной, В.А. Каймина, А.Г. Щеголева, Д.П. Федюшина,

Каймин, 1989], Z.Scherz, О. Maler, Е. Shapiro [Scherz,1992], J.R. Ennals [Ennals, 1989] и другие.

В литературе практически не проработаны вопросы использования функциональной парадигмы в качестве основы для построения учебного курса программирования.

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

•анализу решаемых задач по обработке информации с целью выбора оптимального подхода к их решению;

•выбору парадигмы программирования, использование которой влечет наиболее эффективное решение задачи;

•разработке программ с использованием различных парадигм программирования.

Все они в совокупности указывают на определенные недостатки в общеобразовательной подготовке программистов.

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

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

• оказываются различными и не связанными между собой методические системы обучения, при этом варьируются цели и содержание обучения, применяемые средства и методы;

• становится невозможным сравнительный анализ подходов к разработке алгоритмов и конструкций языков программирования.

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

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

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

Все сказанное выше определяет актуальность темы настоящего диссертационного исследования.

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

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

Объектом исследования выступает система подготовки специалистов в области информатики в высших учебных заведениях.

Предмет исследования — совершенствование содержания обучения программированию, основанное на интеграции парадигм программирования.

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

•привитие навыков анализа решаемой задачи по обработке информации и сравнительного анализа особенностей разных парадигм программирования;

•изучение приемов алгоритмизации и языков программирования, относящихся к разным парадигмам, включая функциональную и логическую парадигмы;

•обучение принципам отбора технологических приемов программирования в зависимости от особенностей решаемой задачи.

Цель, предмет и гипотеза исследования определили постановку и необходимость решения следующих задач:

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

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

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

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

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

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

Базой опытно-экспериментальной работы явилась кафедра информатики и прикладной математики Московского городского педагогического университета.

Теоретическую и методологическую основу исследования составили:

- труды педагогов, психологов, в которых рассматриваются проблемы образования, его роль в развитии личности обучаемого (Ю.К. Бабан-ский, В.П. Беспалько, П.Я. Гальперин, Б.С. Гершунский, В.В. Давыдов, В.В. Краевский, B.C. Леднев, И.Я. Лернер, А.Г.Мордкович, A.M. Пышкало, Е.С. Полат и другие);

- работы в области развития концепций и структуры высшего профессионального образования (А.Н. Афанасьев, Ю.С. Брановский, В.Г. Кине-лев, B.C. Леднев, В.Л. Матросов и другие)

- работы в области информатизации образования (М.Л. Гуриев, А.П. Ершов, В.Г. Кинелев, А.А. Кузнецов, К.К. Колин, В.А.Поляков, И.В.Роберт, А .Я. Советов, A.J1. Семенов, А.Ю. Уваров и другие);

- работы в области формирования методологии обучения информатике (С.А. Бешенков, Т.А. Бороненко, А.Г. Гейн, С.Г.Григорьев, С.А. Жданов, А.П. Ершов, А.А. Кузнецов, Э.И. Кузнецов, В.В. Лаптев, М.П. Лапчик, Н.В. Макарова, А.В. Могилев, Е.А. Ракитина, И.Г. Семакин, А.Л. Семенов, Н.Д. Угринович, Е.К. Хеннер, М.В. Швецкий и другие);

Научная новизна исследования заключается в том, что:

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

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

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

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

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

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

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

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

Организация и этапы исследования. Работы в рамках исследования проводились с 1996 по 2004 годы и могут быть условно разделены на три основных этапа.

На первом этапе (1996-2001 г.г.) проводился анализ психолого-педагогической и методической литературы для определения степени разработанности проблемы, разработан концептуальный замысел исследования, сформулирована его гипотеза.

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

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

На защиту выносятся следующие основные положения :

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

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

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

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

5. Целесообразность использования в рамках разработанной методической системы обучения интегрированных сред, аналогичных средам программирования семейства «Турбо», обосновываемая за счет их функционального, программного, интерфейсного и технологического единообразия; применения разработанного учебно-методического материала для повышения эффективности обучения в рамках системы курсов по обработке информации, основанной на интеграции парадигм программирования;

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

Апробация и внедрение. Материалы диссертации докладывались на Международных научно-методических конференциях МГУТУ (Москва, 1999; Москва, 2001; Москва, 2002; Москва 2003) Международной конференции «Информационные технологии в образовании ИТО — 2003» (Москва, 2003 год), Семинаре кафедры информатики и прикладной математики Моековского городского педагогического университета (Москва, 2003 год), Семинаре центра Информатики и информационных технологий в образовании ИСМО РАО (Москва 2003 год), Семинаре Управления информатизации Финансовой академии при Правительстве РФ (Москва, 2001 год), Научном семинаре кафедры информационных технологий Самарской государственной экономической академии (Самара, 2003 год), Научном семинаре факультета информатики Курского государственного университета (Курск, 2004 год), семинаре Института дистантного образования РУДН (Москва, 2004 год).

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

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

Заключение диссертации научная статья по теме "Теория и методика обучения и воспитания (по областям и уровням образования)"

Основные результаты выполнения проведенных работ студентами приведены в таблице 2, а динамика усвоения учебного материала студентами - на диаграмме 1.

ЗАКЛЮЧЕНИЕ

В ходе проведенного исследования были получены следующие основные результаты:

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

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

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

4. Определены факторы интеграции курсов по обработке информации в рамках единой системы обучения информатике в вузе.

Основными факторами являются:

•учет однотипных и специфических подходов и инструментальных средств программирования,

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

•обучение приемам сравнительного анализа языковых средств и анализа решаемой задачи,

•использование системы взаимосвязанных учебных заданий и средств обучения,

•применение методов сравнительного обучения;

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

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

6. Разработан учебно-методический материал, необходимый для обучения в рамках системы курсов по обработке информации, основанной на интеграции парадигм программирования, в том числе специализированный сборник задач и упражнений, методические пособия: «Методика использования процедурной парадигмы при изучении языков программирования», «Использование объектно-ориентированной парадигмы при изучении языков программирования», «Логическая парадигма программирования в курсе информатики»;

7. Отобраны программно-технические средства, необходимые для обучения в рамках созданной системы курсов. Предложено использование интегрированных сред, функционально, программно, интерфейсно и технологически аналогичных популярным средам программирования семейства «Турбо». В числе таких средств отмечена интегрированная оболочка «Пролог-Д», предназначенная для обучения логической парадигме программирования, интегрированная оболочка «Языковая среда», для которой разработан модуль расширения, позволяющий транслировать программы, построенные обучаемыми в виде иерархических структур, в программы на языках, относимых к разным парадигмам программирования, что позволило использовать «Языковую среду» в качестве средства сравнительного обучения;

8. Разработанные в ходе работы учебные курсы могут найти применение при проведении занятий с учащимися старших классов школы информационно-технологического профиля;

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

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

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

204

Список литературы диссертации автор научной работы: доктора педагогических наук, Жужжалов, Валерий Евгеньевич, Москва

1. Абдукадыров А. А. Теория и практика интенсификации подготовки учителей физико-математических дисциплин: Аспект использования компьютерных средств в учебно-воспитательном процессе. Автореферат . д-ра пед. наук (13. 00. 02). - Ташкент, 1990 - 37с.

2. Абрамов В.Г., Трифонов Н.П., Трифонова Г.И. Введение в язык Паскаль. — Москва: Наука, 1988.

3. Абрамов С.А., Гнездилова Г.Г. Задачи по программированию. М.: Наука, 1988.

4. Автоматизированные обучающие и информационные системы. // Сборник статей. М., 1983, 98 с.

5. Александров С.Ю. Синтаксически-ориентированные редакторы: функциональные возможности и архитектура. Новосибирск, (Препринт НФ ИТМ и ВТ АН СССР; 3), 1987. - 35 с.

6. Александров С.Ю., Скопин И.Н. Синтаксически ориентированный редактор SED. Новосибирск, (Препринт//АН СССР. Ин-т точной механики и вычисл. техники им.С.А.Лебедева. Новосиб. фил.; No 25), 1989.-30 с.

7. Андросова Е.Г. Методические и содержательные аспекты построения курса программирования на основе объектно-ориентированного подхода (для физико-математических специальностей педагогических вузов) // Дисс. канд. пед. наук. / М.: Mill У 1996.

8. Ансез Г. Прогноз развития технологий до 2000 года. CW. № 9. - 1995. -с.49-62

9. Антипов И. Н., Заварыкин В. М., Кузнецов Э. И. Подготовка кадров в условиях компьютеризации. // "Советская педагогика",

10. Аргила К. Как внедрить объектно-ориентированный подход // Computer Wolrd Moscow, 1995, N 15

11. Бабанский Ю.К. Выбор методов обучения в средней школе. -М. : Педагогика, 1981. 176 с.

12. Берж К. Теория графов и ее применения.//Пер. с франц. -М.: Издательство иностранной литературы, 1962.

13. Беспалько В. П. Слагаемые педагогической технологии. -М.: Педагогика, 1989. 192с.

14. Беспалько В.П. Программированное обучение (дидактические основы). — М., 1970. 300с.

15. Бешенков С.А. Проблемы профильного обучения информатике.- М. ИОСО РАО, 1994.

16. Бешенков С.А., Гейн А.Г., Григорьев С.Г. Информатика и информационные технологии. Екатеринбург: Уральский рабочий, 1995.- 134 с.

17. Блауберг И. В., Юдин Э.Г. Становление и сущность системного подхода. — М.: Наука. 1973. -270с.

18. Богданова Д.П. Методика развития компьютерной грамотности в условиях дистанционного обучения. Авт. дис. . кан. пед. наук. М. 1996 г.

19. Болтянский В.Г. Рубцов В.В. Проблемы компьютеризации обучения.//Математика в школе, 1986, N1.

20. Боон К. Паскаль для всех. Москва: Энергоатамиздат, 1988.

21. Бордовский Г. А., Извозчиков В.А. Проблемы педагогики информационного общества и основы педагогической информатики / Дидактические основы компьютерного обучения. Межвузовский сборник научных трудов. -JI. ЛГПИ им. А.И.Герцена, 1989. с. 3-33

22. Бордовский Г.А., Извозчиков В.А. Концептуальный подход к компьютерной технологии обучения // Современные технологииконтроля знаний и экзамена.- Седльце, 1987. с. 111-112.

23. Боткин Дж. У. Иновационное обучение, микроэлектроника и интуиция. // Перспективы. 1983. №1. С.39-47.

24. Брусиловский П. Языки для обучения основам программирования // ИНФО, № 2, 1990, с. 3-9.

25. Бугаев А.И. Методика преподавания физики в средней школе: Теоретические основы: Учебное пособие для студентов пед. Инт-ов по физ.-мат. спец. М.: Просвещение, 1981. -288 с.

26. Буч Г. Объектно-ориентированное проектрование с примерами применения // Пер. с англ. М.: Конкорд, 1992, 519 с.

27. Вальвачев A.M., Крисевич B.C. Программирование на языке Паскаль для персональных ЭВМ: Справ, пособие.- Мн.: Выш. шк.,1989.- 223

28. Варсонофьев Д.В., Дымченко А.Г. Ф-практикум учебноинструментальная среда для разработки программы на Фортране.// Седьмой семинар "Проблемы информатики и ее применение в обучении и научных исследованиях". Аннотации докладов. София, 1988.

29. Вейценбаум Дж. Возможности вычислительных машин и человеческий разум. // Пер. с англ., М., 1982, 368 с.

30. Велихов Е.П. Новая информационная технология в школе. //Информатика и образование, 1986, №1, с. 18-22.

31. Вельбицкий И.В. Визуальное программирование графическими структурами//Вест. Всесоюз. об-ва информат. и выч. техн.1990, N2. С.32-52.

32. Вельбицкий И.В. Технология программирования. Киев: Техшка, 1984. - 279с.

33. Венславский В.Б. Многоуровневая подготовка специалиста по информатике // Тезисы докладов XII Республиканской научно-практической конференции 24-26 апреля 1995 г. "Новые информационные технологии в педагогическом образовании", Магнитогорск, 1995, с. 49.

34. Верлань А.Ф., Касаткин В.Н. Основы информатики и вычислительной техники: К.: Рад. шк., 1985. -110 с.

35. Верлань А.Ф., Широчин В.П. Информатика и ЭВМ. К.: Техника, 1987.-344 с.

36. Вильяме Р., Маклин К. Компьютеры в школе. М.: Прогресс, 1988. -С.215.

37. Воронов Ю.П. Компьютеризация: шаг в будущее. -Новосибирск: Наука СО, 1990

38. Вьюкова Н.И., Галатенко В.А., Ходулев А.Б. Систематический подход к программированию / Под. ред. Ю.М.Баяковского. М.: Наука. Гл. ред. физ.-мат. лит., 1988.- 208 с.

39. Гантер Р. Методы управления проектированием программного изделия./Пер. с англ. М.: Мир, 1981. - 370с.

40. Гейн А.Г. и др. Основы информатики и вычислительной техники: Проб.учеб. пособие / А.Г.Гейн, В.Г.Житомирский, Е.В.Линецкий, М.В.Сапир, В.Ф.Шолохович. Свердловск: Изд-во Урал, ун-та, 1989. - 272 с.

41. Гергей Т., Машбиц Е.И. Психолого-педагогические проблемы эффективного применения компьютера в учебном процессе.//Вопросы психологии. 1985, N3. - С.41-48.

42. Гершунский Б.С. Компьютеризация в сфере образования: проблемы и перспективы. М,: Педагогика, 1987 - 264с.

43. Глушков В.И. Основы безбумажной информатики. Изд. 2-е испр. М.: Наука. Гл. ред. физ.-мат. лит., 1987.- 552 с.

44. Головлева С.В. Методика обучения функциональному программированию будущих учителей информатики (на базе языка LOGO). // Дисс. канд. пед. наук. / М. 2000.

45. Городняя Л.В. Схема изучения языка программирования с практикой на ЭВМ.//В кн.: Теория и практика систем информатики и программирования. (Под ред. А.П.Ершова) НГУ, Новосибирск, 1988. - С.46-54.

46. Григорьев С.Г. Реализация систем логического программирования для компьютеров с ограниченными ресурсами. Дисс. доктора технических наук. / М.: МИЛ. — 1993.

47. Григорьев С.Г., Морозова Е.В. Информатика и информационные технологии: Сборник задач / ЛБЛ-Балтика. Санкт-Петербург, 1996. 32 с.

48. Гринченко Т.А., Оленин М.В., Седляр В.М. ГИПСИ -гипертекстовая система. Новинтех, 1991, N1. - С. 14-16.

49. Гриншкун В.В. Инструментальная поддержка преподавания алгоритмических языков на базе древовидного представления информации. // Вестник научно-педагогического центра, Алматы, 1994, N15. с.7.

50. Гриншкун В.В. Организация компьютеризированного обучения на базе иерархических структур данных. // Авторефератдиссертации кандид. пед. наук. Шифр специальности 13.00.02, - Алматы, 1996.

51. Гриншкун В.В., Скопин И.Н. Методика проведения учебных занятий с помощью иерархически организованных данных. // В кн.: Вопросы информатизации педагогического образования. Алматы: АГУ, 1995г.-с.27-32.

52. Гриценко В., Довгялло А. Пути развития информатизации образования .//Информатика и образование 1989, N6.

53. Головлева С.В. Методика обучения функциональному программированию будущих учителей информатики // Автореферат диссертации кандид. пед. наук. Шифр специальности 13.00.02, СПБ 2000 г.

54. Гусев В. А. Компьютерная грамотность и методическая подготовка учителя // В сб. ст. Высшее педагогическое образованием проблемы и перспективы. — М., 1991, 55 с.

55. Гутер Р.С., Овчинский П.Т., Резниковский Программирование и вычислительная математика. М.: Наука, 1985.

56. Дал У., Дейкстра Э., Хоар К. Структурное программирование.- М.: Мир, 1975

57. Данные в языках программирования.//Пер. с англ., ред. В.Н. Агафонова. М.: Мир, 1982. - С.9-24.

58. Дацун Н.Н. Гипертекстовая технология и обучение.//В кн.: Управляющие системы и машины. 1994, N3. - С.44-48.

59. Дейкстра Э. Дисциплина программирования. Пер. с англ.-М.: Мир, 1978. 276 с.

60. Донской М. Архитектура объектно-ориентированного интерфейса // PC Magazine, 1994, N, с. 162-165

61. Дородницин А.А. Информатика: предмет и. задачи // Вестн. АН СССР, 1983. 2, с. 86-89

62. Евстигнеев В.А., Касьянов В.Н. Алгоритмы на деревьях. -Новосибирск, ВЦ СО АН СССР, 1989. 312с.

63. Ершов А.П. Информатика: предмет и понятие. // Кибернетика. Становление информатики. М., Наука, 1986.

64. Ершов А.П. Школьная информатика в СССР от грамотности к культуре//ИНФО, 1987. № 6. с. 3-11.

65. Ершов А. П. Информатизация: от компьютерной грамотности учащихся к информационной культуре общества // Коммунист. 1988. № 2.

66. Ершов А. П. Программирование вторая грамотность // ЭКО. 1982, №2, с. 143-156.

67. Ершов А. П. О предмете информатики // Вестн. АН СССР — 1984. №2.

68. Ершов А. П., Звенигородский Г. А. Первин Ю. А. Школьная информатика (концепции, состояние, перспективы). -Новосибирск, ВЦ СО АН СССР, препринт № 152, 1979.

69. Ершов А.П. Концепция использования средств вычислительной техники в сфере образования. Новосибирск, Препр. ВЦ СОмат. спец. / В.М.Заварыкин, В.Г.Житомирский,М.В.Лапчик.- М.: просвещение, 1989.- 207 с.

70. Замулин А.В. Типы данных в языках программирования и базах данных. Новосибирск: Наука, 1987. - С. 152.

71. Звенигородский Г.А. Некоторые вопросы методологии программирования // 2 Чехословацко-советский семинар молодых ученых по математической информатике: Тезисы докладов. Братислава. 1982, с. 4450

72. Звенигородский Г.А. Язык начального обучения Робик в учебной системе программирования.//Программное обеспечение задач информатики. Новосибирск. - 1982.

73. Зуев Е. А. Язык программирования Turbo Pascal 6. 0. М.: Унитех, 1992. - 298 с.

74. Изучение основ информатики и вычислительной техники. Методическое пособие для учителей и преподвателей сред. учеб. заведений В 2-х ч/ Под ред. АЛХЕршова и В.М.Монахова. М.: Просвещение, 1985 (41) ; 1986 (42).

75. Изучение основ информатики и вычислительной техники: Пособие для учителя / А.В.Авербух, В.В.Гисин, Я.Н.Зайдельман, Г.В.Лебедев. М.: Просвещение, 1992. - 302 с.

76. Ильина Т. А. Системно-структурный подход к организации обучения. Вып. 1.-М.: Знание, 1972.-72 С7

77. Информатика и информационные технологии обучения в учебных программах для педвузов // Материалы для обсуждения на Всероссийском семинаре-совещании по информатизации образования. (Омск, 19-21 мая 1992 г.) Омск: Из-во ОГПИ, 1992. - 63 с.

78. Информатика: Учеб. пособие для пед. спец. высш. учеб. заведений / А. Р.Есаян, В. И.Ефимов, Л. П.Ланицкая и др.- М.: — Просвещение, 1991. 288 с.к*

79. Иенсен К., Вирт Н. Паскаль. М.: Финансы и статистика.

80. Йодам Э. Структурное проектирование и конструирование программ. — М.: Мир, 1979.

81. Каган Б. М. Электронные вычислительные машины и системы: Учебн. пособие для вузов.- 3-е изд., перераб. и доп.- М.: Энаргоатомиздат, 1991.-592с.

82. Каймин В. А. и др. Основы информатики и вычислительной техники: Проб. учеб. пособ. для 10-11 кл. сред. шк. / В. А.Каймин, А.Г. Щеголев, Е.А. Ерохина, Д.П. Федюшин. М.: Просвещение, 1989. - 272 с.

83. Каменская Н. Е., Шкель Ю. М. Некоторые проблемы преподавания информатики //Тезисы международной конференции "Подготовка преподавателя математики и информатики для высшей и средней школы", М., 1994.

84. Каракозов С.Д. Использование телекоммуникаций в образовании. Барнаул, 1999.- 120 с.

85. Карцев М. А. Архитектура вычислительных машин. М.: Наука, 1978.

86. Касаткин В.Н. Информация, алгоритмы, ЭВМ: Пособие для учителя. — М.: Просвещение, 1991. 192 с.

87. Кинг Д. Создание эффективного программного обеспечения: Пер. с англ. М.: Мир, 1991. - 288 с.

88. Кнут Д. Искусство программирования для ЭВМ. Т. 1: Основные алгоритмы. — М.: Мир, 1976. — 735 с.

89. Кобринский Я., Кузнецов А. Особенности пакетов прикладных программ.//Информатика и образование. 1986. N3.

90. Константиновский М.А. Программированное обучение с разных сторон. М., 1974. - 64с.

91. Концепция информатизации образования// ИНФО., 1988, №6, с.3-31.

92. Конченова Н.В., Марон И.А. Вычислительная математика впримерах и задачах. М.: Наука, 1972.

93. Королев Ф. Ф. Системный подход и возможности его применения в пед. исследованиях. // Сов. педагогика, 1970, М9, с. 103-115.

94. Краевский В. В. Нормативное представление о формировании содержания образования. В кн.: Теоретические основы содержания общего среднего образования / Под ред. В. В. Краевского, И.Я.Лернера.- М.: Педагогика, 1983. с. 202-211.

95. Кречетов М. Объектная технология. // Computer Week -Moscow, 1995, №18 (176), с.15-17.

96. Кречетов М. Объектная технология. // Computer Week -Moscow, 1995, №18 (176), с.15-17.

97. Кривозубов Д.Ю. Миксер объектов, или как научиться создавать объектно-ориентированные программы. // Мир ПК, 1995, №5-6, с. 12.

98. Криницкий Н.А. и др. Программирование и алгоритмические языки. М.: Наука, 1975.

99. Кристиан К. Руководство по программированию на языке Модула-2: Пер. с англ. -М.: Мир, 1989. — 463 с.

100. Кристофидес Н. Теория графов. Алгоритмический подход. -М.: Мир, 1978.

101. Кузнецов А. А. Развитие методической системы обучения информатики в средней школе. Автореферат . д-ра пед. наук.- М.: 1988 -47 с.

102. Кузнецов Г.А. Объектно-ориентированные технологии в промышленности. //Компьютерра, 1995, №13 (93), с.12.

103. Кузнецов Э. И. Каким быть учителю информатики // ИНФО, 1988, М 6, с. -103-105

104. Кузнецов Э. И., Матросов В. Л. О концепции подготовки учителя математики и информатики // НИТ теория и приложения: Тезисы межвузовской конференции. Орехово-Зуево: 03ПИ, 1992, с. 13

105. Кузнецов Э.И. Нужен специалист нового типа // Сов. педагогика, 1989, №6

106. Кузнецов Э.И. Научно-методические основы курсов программирования: Методическое пособие. М.: Изд-во Ml 1Ш, 1975

107. Кузнецов Э.И. О многоуровневой подготовке учителя математики л информатики // В сб. от. "Новые информационные технологии в учебном процесса и управлении". Омск, 1992

108. Кузнецов Э.И. Общеобразовательные и профессионально-прикладные аспекты изучения информатики и вычислительной техники в педагогическом институте. // Дисс. Д.п.н. 13.00.02 — М., 1990.

109. Кушниренко А.Г., Лебедев Г.В. Программирование для математиков: Учеб. пособие для вузов М.: Наука. Гл. ред. физ.-мат. лит., 1988-384 с.

110. Кушниренко А.Г., Эпиктетов М.Р. Активныегипертекстовые среды на уроках информатики.//Информатика и образование. 1994, N1. - С.27-36.

111. Кушниренко А.Г., Эпиктетов М.Р. КуМир новое семейство учебных программ.//Информатика и образование. - 1993, N1. -С.21-25.

112. Лавров С.С., Слисенко А.О., Цейтлин Г.С. Проект планапрограммы по специальности "информатика и системное программирование" (ЛГУ) // Микропроцессорные средства и системы, 1985, N4, с. 20-28.

113. Лапчик М.П. Готовить учителя нового типа // ИИфО, 1987, № 2, с. 83

114. Лапчик М. П. Вычислительная техника и программирование.-М.: Просвещение, 1987. -245 с.

115. Лапчик М.П. Информатика и технология: компоненты пед. образования. //ИНФО, 1992. №1.с.3-6.

116. Леднев B.C. Содержание образования: сущность,структура, перспективы. М.: Высшая школа, 1991. - 86 с.

117. Лебедев JI.H. Создание системы помощи в WINDOWS.//Мир ПК. 1994, N2. - С. 125-128.

118. Лекции лауреатов премии Тьюринга.- М.: МИР. 1993.- 560с.

119. Лернер И. Я. Понятие фактора и источника формирования содержания образования. В кн.: Теоретические основы содержания общего среднего образования / Под ред. В. В.Краевского, И.Я.Лернера. — М.: Педагогика, 1983. с.80-89.

120. Лернер И. Я. Дидактические основы методов обучения. -М.: Педагогика. 1981

121. Лесневский А.С. Становление системы понятий информатики в школьном образовании. Автореф. дис. . док. пед. наук., М.,1996.

122. Лингер Р., Миллс X., Уитт Б. Теория и практика структурного программирования. М.: Мир, 1982.- 406с.

123. Логвинов И.И. К теории построения учебного предмета // Сов. педагогика, 1969, N 3, с. 91-100

124. Лорьер Ж.-Л. Системы искусственного интеллекта. // Пер. с франц. -М.: Мир, 1991. 586 с.

125. Лорьер Ж.-Л. Системы искусственного интеллекта. // Пер. с франц.-М.: Мир, 1991.-586 с.

126. Лурия А.Р. Психология ощущения и восприятия.//Учебно-методическое пособие по курсу общей психологии. Выпуск 2. М., МГУ, 1967г.

127. Ляудис В.Я., Тихомиров O.K. Психология и практика автоматизированного обучения.//Вопросы психологии. 1983, N6. - С. 16-27.

128. Майерс Г. Надежность программного обеспечения. М.: Мир, 1980.

129. Матчо Дж., Фолкнер Д. Delphi. // Пер. с англ. Под общейредакцией В.Тихомирова. М.: Педагогика, 1988. — 192 с.

130. Машбиц Е.И. Компьютеризация обучения: проблемы и перспективы. / М., 1986.

131. Машбиц Е.И. Психолого-педагогические проблемы компьютеризации обучения. М.: Педагогика, 1988. - 192 с.

132. Мендельсон Г. Основы математической логики.- М.: Высшая школа, 1968.-168 с.

133. Мейер Б., Бодуэн К. Методы программирования. В 2-х томах. Пер. с франц. 4.2, М.: Мир, 1982.

134. Методология отладки программ на языке программирования MSX-BASIC: Методические рекомендации для студентов физ.-мат.ф-тов пед.ин-тов / Сост.: М.В. Швецкий, Т.А.Агошкова. — Куйбышев: КГПИ им. В.В. Куйбышева. 1990. 40 с.

135. Методы измерения и прогнозирования в исследовании воспитательного процесса. Методич. рекомендации / Сост. Н.К.Голубев.-Л. ЛГПИ "Образование", 1986, 80 с.

136. Методы педагогических исследований. // Под ред. М.Журавлева, М., 1984.

137. Мизрохи С.В. Turbo Pascal и объектно-ориентированное программирование. -М.: Финансы и статистика, 1992. 192 с.

138. Мизрохи С.В. Turbo Pascal и объектно-ориентированное программирование. -М.: Финансы и статистика, 1992. 192 с.

139. Мик Б., Хит П., Ратби Н. и др. Практическое руководство по программированию. М.: Радио и связь. 1986. - 168 с.

140. Мнеян М.Г. Физические принципы работы ЭВМ. -М.: Просвещение. 1987.- 192с.

141. Монахов В. М. Проектирование и внедрение новых технологий обучения // Сов. педагогика, 1990, № 7. с. 17-23

142. Монахов В. М. Тенденции развития содержания общего среднего образования // Сов. педагогика, 1990. № 2, с. 17-21

143. Монахов В.М. Психолого-педагогические проблемы обеспечении компьютерной грамотности учащихся. // Вопросы философии, 1985, №3, с.22-30

144. Мордкович А.Г. Профессионально-педагогическая направленность специальной подготовки учителя математики в педагогическом институте. // Автореферат докт. Пед. Наук. — М., 1986.

145. Мячев А. А. Мини- и микроЭВМ систем обработки информации: Справ. 1,1. Энергоатомиздат, 1991.-304 с.

146. Мячев А. А., Степанов В.Н. Персональные ЭВМ и микроЭВМ. Основы организации: Справочник/ Под ред. А. А.Мячева.- М.: Радио и связь, 1991. 320 с.

147. Напрасник М. В. Микропроцессоры и микроЭВМ. — М.: Высш. шк., 1989.-192с.

148. Неформальное введение в С++ и Turbo Vision. С.Петербург: Галерея «Петрополь», 1992. - 383 с.

149. Нортон П., Соухэ Д. Язык Ассемблера для IBM PC. // Пер. с англ. М.: Изд. "Компьютер", Финансы и статистика, 1992. - 352с.

150. О содержании курса "Основы информатики и вычислительной техники" // Математика в школе. — 1985, №3, с.7-12.

151. Овчинников А.А., Путинский B.C., Петров Г.Ф. Сетевые методы планирования и организации учебного процесса. — М.: Высшая школа, 1972. 160 с,

152. Оганесян В.А. Принципы отбора основного содержания обучения математике в средней школе. Ереван, Луйс, 1984.

153. Огородников И.Т. Педагогика школы. // М.: Просвещение, 1978-319 с.

154. Оре О. Теория графов. М.: Наука, 1968.

155. Основы педагогики высшей школы. М.: МГУ, 1986. - 304с.

156. Основы педагогики высшей школы. М.: Моск. техн. ин-тпищевой промышленности, 1987.

157. Пахомова Н.Ю. Развитие методики «метода проектов» в курсе информатики средней школы. Авт. дис. кан. пед. наук. М. 1996 г.

158. Практический курс Turbo С++ . Основы объектно-ориентированного программирования. Москва 1993

159. Пратт Т. Языки программирования: разработка и реализация. М.: Мир, 1979. - 576 с.

160. Пантелеймонов А. Программируем для Windows. // Мир ПК, 1995, N6. с.9

161. Пасхин Е.Н., Митин А.И. Автоматизированная система обучения «Экстерн». М., 1985, 144 с.173. Пахомова Н.Ю.

162. Первин Ю., Зайдельман Я., Дуванов А., Роботландия // ИНФО, 1988. N1 с.109-116.

163. Першиков В., Савинков В.М. Толковый словарь по информатике. М.: Финансы и статистика, 1991.- 153 с.

164. Педагогика высшей школы. М.: Педагогика, 1974

165. Покровский С.Б., Степанов Г.Г. Среда разработки программного обеспечения, основанная на гипертексте.//Средства и инструменты окружения программирования. Новосибирск, 1995. - С. 101110.

166. Пригожин И.Р., Стенгерс И. Порядок из хаоса. М., 1986.431с.

167. Проблемы развития современных педагогических систем: Межвуз. сб. научных трудов. / Под ред. В.П. Беспалько.- М. 1980. — 130 с.

168. Программа курса основ информатики и вычислительной техники / Под ред. А.П. Ершова. // Микропроцессорные средства и системы. -1986, №2.

169. Программно-инструментальные средства задач информатики. // ВЦ СО АН СССР (под ред. И.В.Поттосина). Новосибирск,1990.- 181с.

170. Программы педагогических институтов. Сборник № 25. Для специальностей № 2104 "Математика" и № 2105 "Физика" М.: Просвещение, - 1986,15с.

171. Программы педагогических институтов. Сборник № 8. Для физико-математических специальностей М. Просвещение, 1988.-25 с. 4

172. Психологические проблемы создания и использования ЭВМ. / Отв. Ред. Тихомиров O.K., М.: 1985, 239 с.

173. Пугач В.И., Швецкий М. В. Структура и программы курсов для будущих учителей информатики // Компьютер в помощь ученому и учителю: Межвуз. сб. научн. тр. и Куйбышев, гос. пед. институт им. В.В.Куйбышева. - Куйбышев, КГПИ, 1989, с. 57-66

174. Пугач В.И., Швецкий М.В. Е-практикум на занятиях со студентами/Электронно-вычислительная техника в общеобразовательной школе. Методические разработки. Новосибирск, 1989. - С.86-89.

175. Пышкало А.М. Методическая система обучения геометрии в начальной школе. Авт. доклад по монографии "Методика обучения геометрии в начальных классах", представлен на соискание ученой степ, д-ра. пед. наук. М. 1,0 1975 г.

176. Рейнгард И. А., Ткачук В. И. Основы педагогики высшей школы. Днепропетровск; ДГУ, 1980.

177. Румянцев И. А. Многоуровневое образование по информатике новый этап подготовки педагогических кадров // Педагогическая информатика, 1993, № 1. с. 29-36

178. Рыжова Н.И. Методика преподавания раздела "Архитектура ЭВМ" с использованием программирования на языках низкого уровня. Дисс. к.п.н. (13. 00. 02). Санкт-Петербург: 1994

179. Рыжова Н.И. Развитие методической системы фундаментальной подготовки будущих учителей информатики в предметной области Дисс. д.п.н. (13. 00. 02). Санкт-Петербург: 2000

180. Самарский А.А. Проблемы использования вычислительной техники и развитие информатики // Вестн. АН СССР 1985. № 3. С. 57-59.

181. Сандомирский B.C., Осоков А.Г. От куда и куда текут реки Object Windows. // Мир ПК, 1994, №8

182. Сибеста Р. Структурное программирование на языке ассемблера ЭВМ VAX-11. -М.: Мир, 1988. 535 с.

183. Словарь по кибернетике. Св. 2000 ст. / Под ред. В.С.Михапевича. 2-е изд. - К.: Гл. Ред. УЭС им. М.П.Бажана, 1989. - 751 с.

184. Сохор A.M. Методические проблемы системно-структурного исследования учебного материала: Сообщение 2: Моделирование структуры учебного материала. // Новые исследования в педагогике: Сб. ст. М.: АПН СССР, 1972. - Вып. 6, с. 48-54.

185. Страуструп Б. Язык программирования Си++.//Пер. с англ. М.: Радио и связь. -1991.

186. Стрыгин В.В., Щарев JI.C. Основы вычислительной, микропроцессорной техники и программирования. 2-е изд., перераб. и доп. - М. высш. шк . 1989. - 479с.

187. Сутарин Б.А. Житомирский В. Г. Подготовка преподавателей информатики // Совет, педагогика, 1987, М 8, с. 87

188. Талызина Н.Ф. Внедрению компьютеров в учебный процесс научную основу .//Сов. педагогика. - 1985, N12. - С.34-38.

189. Талызина Н.Ф. Методика составления обучающих программ. -М., 1980. 47с.

190. Талызина Н.Ф., Габай Т.В. Пути и возможности автоматизации учебного процесса. М., 1977.

191. Телло Э.Р. Объектно-ориентированное программирование в среде Windows. // Пер. с англ. — М.: Наука-Уайли, 1993. 347 с.

192. Теория и практика педагогического эксперимента. Под ред. А. И. Пискунова, Г. Б. Воробьева. М.: Педагогика. 1979.

193. Терминологический словарь по автоматике, информатике и

194. ВТ. -М: Высшая школа, 1989, 191 с.

195. Тихомиров O.K. Информатика и новые проблемы психологической науки. // Вопросы философии. — 1986, №7. С.39-52.

196. Тихонов Ю. Язык логического программирования МПРОЛОГ // Компьютер Пресс, 1991, М 5, с.45-49

197. Толковый словарь по вычислительным системам. / Под ред. В. Иллингуорта и др.; Пер. с англ. М.: Машиностроение, 1989. - 586 с.

198. Толковый словарь по искусственному интеллекту. // А.К. Аверкин, М.Г. Газе Рапопорт, Д.А. Поспелов. — М.: Радио и связь, 1992. — 256 с.

199. Турский В. Методология программирования. // Пер. с англ. -М.: Мир, 1981.-284 с.

200. Уваров А.Ю. Новые информационные технологии и реформа образования // Информатика и образование, 1994. №4 - С.3-14.

201. Уолш Б. Программирование на Бейсике. М.: Радио и связь, 1987.-335.

202. Усов А.С. TASM 3.0 объектно-ориентированный ассемблер. // Мир ПК, 1992, №9, с.37-42.

203. Фаронов В.В. Основы Турбо-Паскаля 6.0. В 3-х кн. Кн. 1. — М.: Учебно-инженерный центр «МВТУ-ФЕСТО Дидактик», 1992. 304 с.

204. Федоров А. Объекты GDI: рождение, жизнь и смерть. // Компьютер Пресс, 1994, №12, с.57-59.

205. Федюшин Д.П. Парадигмы программирования.-Информатика и образование №4, 5 1991 г.

206. Фролов Г. Д., Кузнецов Э. И. Элементы информатики: Учеб. пособие для пед.ин-тов. — М.: Высшая школа, 1989. 304 с.

207. Фуксман А. Л. Технологические аспекты создания программных систем. М.: Статистика, 1979. - 184с.

208. Хамов Г.Г. Методическая система обучения алгебре и теории чисел в педвузе с точки зрения профессионально-педагогическогоподхода. СПб.: РГПУ, 1993.- 142 с.

209. Холленд Р. Микропроцессоры и операционные системы: Краткое справочное пособие: Пер. с англ. М.: Энергоатомиздат, 1991. — 192 с.

210. Хуторская JI.H., Шершаков С.В., Шитов В. М. Принципы и методы изучения физических основ работы ЭВМ в школе / Дидактические основы компьютерного обучения. Межвузовский сборник научных трудов. -Л.: ЛГПИ ИМ. А.И.Герцена. 1989. С.155-170.

211. Хьюз Дж., Митчом Дж. Структурный подход к программированию. М.:Мир, 1980.

212. Хьюз Ч., Пфлигер Ч., Роуз Л. Методы программирования: курс на основе Фортрана. М.: Мир, 1981, -336 с.

213. Хювенен Э., Сеппянен И. Мир Лиспа. В 2-х т. Т. 1.: Введение в язык Шел и функциональное программирование. Пер. с финск. — М.: Мир, 1990.-447 с.

214. Цейтин Г.С. На пути к сборочному программированию.// Программирование. -1990.

215. Черноусое Е. Язык С++ и объектно-ориентированное программирование. //Компьютер Пресс, 1991, №5, с. 15-17.

216. Шабельников В.К. Формирование быстрой мысли. Психологические механизмы "непосредственного" понимания объектов. -Алма-Ата. 1982.

217. Шанькин В. ф., Поддубная Л.М. Программирование на языке Паскаль. М.: "Высшая школа", 1991.- 142 с.

218. Швецкий М. В. Концепция подготовки учителя информатики в многоступенчатой структуре пед. образования // Тезисы международной конференции "Подготовка преподавателя математики и информатики для высшей и средней школы", Москва, 1994

219. Швецкий М.В. Методическая система фундаментальной подготовки будущих учителей информатики в педагогическом вузе вусловиях двухступенчатого образования. Автореф. дисс. . д-ра пед. наук. СПб, 1994 г.

220. Эккел Б. Виртуальные функции? Это очень просто! // Компьютер Пресс, 1992, №1, с.35-39.

221. Юнерман Н.А. Развитие методики дистанционного обучения на основе заочных школ обучения программированию. Автореф. дне. канд. пед. наук., М., 1994.

222. Ямпольский B.C. Основы информатики и электронно-вычислительной техники: Учеб. пособие для студентов физ.-мат. факультетов пединститутов. М.: Просвещение, 1991. - 223 с.

223. Жужжалов В. Е. Основы интеграции парадигм программирования в курсе информатике. Москва, Информатика и Образование, 2004 г. 193 с.

224. Жужжалов В. Е. Методика использования процедурной парадигмы при изучении языков программирования (научно-методическое издание) Москва, ИСМО РАО, 2001 г. 216 с.

225. Жужжалов В. Е. Использование объектно-ориентированной парадигмы при изучении языков программирования (научно-методическое издание) Москва* ИСМО РАО, 2002 г. 56 с.

226. Жужжалов В.Е. Логическая парадигма программирования в курсе информатики (научно-методическое издание) Москва, ИСМО РАО, 2003 г. 48 с.

227. Жужжалов В.Е. Сборник задач для решения в курсе информатики основанного на использовании различных парадигм обработки информации (научно-методическое издание) Москва, ИСМО РАО, 2003 г. 35с.

228. Жужжалов В.Е. Дипломное проектирование /Жужжалов В.Е., Маклаков В.В. Солдатов В.В. Жиров М.В., Шаховской А.А./ Изд-во МГТА, Москва 2003г. 56 с.

229. Жужжалов В.Е. Методы и средства защиты компьютерной информации (учебно-практическое пособие) /Жужжалов В.Е., Солдатов В.В. Маклаков В.В. Жиров М.В. Гаврилин П.А./ Москва, Изд-во МГТА, 2004 г. 180 с.

230. Жужжалов В.Е. Интеграция парадигм программирования в курсе информатики. Москва, Информатика и образование, N10, 2004, стр. 32

231. Жужжалов В.Е. Специфика обучения программированию при подготовке студентов информатиков. Вестник МГЛУ, серия Информатизация образования N1(2) 2004 г.

232. Жужжалов В.Е. Методология разработки учебных программ на основе процедурной парадигмы программирования Вестник МГЛУ, серия Информатизация образования N1(2) 2004 г.

233. Жужжалов В.Е. Методы и организационные формы обучения программированию в вузе. Москва, Вестник РУДН серия дистанционное образование N1 2004, стр.21-30.

234. Жужжалов В.Е. Реализация интеграционных подходов к обучению информатике в вузе Москва, Вестник РУДН серия дистанционное образование N1 2004, стр. 30-37.

235. Жужжалов В.Е. Системный подход в организации учебного процесса в заочном вузе. /Жужжалов В.Е., Злобин JI.A./ Сб. «5-ой Международной научно-практической конференции», МГЗИПП Москва, март, 1999 г. 2 печ. л. (в соавт., в том числе авт. 0,49 печ. л.).

236. Жужжалов В.Е. Методы и системы управления информационными технологиями (статья) /Жужжалов В.Е., Маклаков В.В./ Сб. «IX Международной научно-методической конференции», изд-во МГТА,

237. Москва 25-26 марта 2003г. 2 печ. л. (в соавт., в том числе авт. 0,72 печ. л.).

238. Жужжалов В.Е. Система интегрированного изучения курса информатики в вузе (статья) Сб. научных трудов «X Международной научно-методической конференции», Выпуск 8, часть 1, Москва 23-24 марта 2004г., МГУТУ 2 печ. л.

239. Bush V. As We May Think.//Atlantic Montly. 1945, №7 -P. 100-108.

240. Вирт H. Алгоритмы + структуры данных = программы. -М.: Мир, 1985.

241. Cardelli L., Wegner P. On Understanding Types, Data Abstraction and Polymorphism. December 1985. ACM Computing Surveys, vol. 17(4).

242. Chang S.-K. Visual languages: a tutorial and survey.//IEEE Software. 1987, Vol.4, N1. - P.29-39.

243. Conclin J. Hypertext: An Introduction and Survey .//Computer. -1987, September. P. 17-40.

244. Gagne R.M. The conditions of learning. N.Y., 1970. - p.339.

245. Goodnow J. Children growing. Harward univ., 1977. - p. 159.

246. Knuth D.E. An Empirical Study of FORTRAN Programs, Software-Practice and Experience, v.l, №2, April-June 1971, p. 105-133.

247. Kuikka E., Penttonen M. Synax directed Text Processing./Лп STeP-88, v.2, Contributed Papers: Methodology. - 1988. - P.695-704.

248. Lee C. The growth and development of children. London.1974.

249. Lucas P., Lauer P., Stigleitner H. Method and Notation for the Formal Definition of Programming Languages.//IBM Technical Report 25.087. -IBM Lab., Vienna. 1968.

250. Nanard J., Nanard M. Hypertext Design Environments and the Hypertext Design Process.//Communs ACM. 1995, Vol. 38, N8. - P.49-56.

251. Nygaard K., Dahl O.-J. 1981. The Development of the Simula1.nguages, in History of Programming Languages. New York, NY: Computer Society Press.

252. Orton A. Learning Mathematics: issues, theory and classroom practice. London, 1987. - p.179.

253. Parnas D. 1979. On the Criteria to be Used in Decomposing System into Modules, in Classics in Software Engineering. New York, NY: Yourdon Press.

254. Recker M.M., Pirolli P. Student Strategies for Learning Programming from a Computational Environment.//Lecture Notes in Computer Science. 1992, Vol. 608. - P.382-394.

255. Shu N.S. Visual programming: perspectives and approaches.//IBM Sys. J. 1989. Vol. 27, N4. - P.525-547.

256. Streitz N. Cognitive Science and the Development of Next Generation Hypertext Systemsy/Петнадесета школа "Програмиране'90" -Варна, 1990. P.107-115.

257. TURBO Pascal Language Manual. Borland Int. Inc., Scotts Valley, Californ., 1984. - p.260.

258. TURBO С++ Language Manual. Borland Int. Inc., Scotts Valley, Californ., 1990. - p.320.

259. Wirth N. Algorithms+Data structures=Programs. Prentice-Hall, - 1976.

260. Wirth N. MODULA: a language for modular multiprogramming. //Software: Practice and Exp., 7. 1977, №1.