Информационно-образовательный портал СОДРУЖЕСТВА НЕЗАВИСИМЫХ ГОСУДАРСТВ
ИНФОРМАТИЗАЦИЯ ОБРАЗОВАНИЯ
И ДИСТАНЦИОННОЕ ОБУЧЕНИЕ В СНГ
Информационно-образовательный портал СОДРУЖЕСТВА НЕЗАВИСИМЫХ ГОСУДАРСТВ  

Страны
Азербайджанская Республика
Республика Армения
Республика Беларусь
Республика Казахстан
Кыргызская Республика
Республика Молдова
Российская Федерация
Республика Таджикистан
Туркменистан
Республика Узбекистан
Украина

Типы материала
Информационно-коммуникационные технологии
Дополнительные информационные материалы
Нормативно-правовое обеспечение
Организация и методики обучения
Экономика образования
Межгосударственное сотрудничество
Образовательные центры
Методики обучения
Межвузовское сотрудничество
Повышение квалификации
Международные проекты и гранты, конкурсы
Конференции, симпозиумы, семинары и др.
Библиотека
 
Журнал «Вестник РУДН» серия «Информатизация образования»
 
2014, №4
2014, №3
2014, №2
2014, №1
2013, №4
2013, №3
2013, №2
2013, №1
2012, №4
2012, №3
2012, №2
2012, №1
2011, №4
2011, №3
2011, №2
2011, №1
2010, №4
2010, №3
2010, №2
2010, №1
2009, №4
2009, №3
2009, №2
2009, №1
2008, №4
2008, №3
2008, №2
2008, №1
2007, №4
2007, №3
2007, №2-3
2007, №1
2006, №1(3)
2005, №1(2)
2004, №1
Научные и специальные электронные ресурсы
Учебная, научная и специальная литература
Комиссия по дистанционному обучению совета по сотрудничеству в области образования государств-участников СНГ
Новости

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


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

Текст документа

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

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

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

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

– эффективность реализации инструментальных средств, поддерживающих исследуемую парадигму [2];

– удобство в использовании на этапе проектирования;

– эффективность поддержки процессов разработки больших программных средств;

– генерация эффективного выходного представления;

– эффективное выполнение полученной программы.

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

Процедурное (структурное, директивное) программирование. В 1960–1970-х годах активно развивалась методика, которая получила название «структурное программирование». При структурном (процедурном) программировании описывается процесс получения результата определенной последовательностью операторов (команд). Данные называются операндами, разнородные данные образуют структуру.

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

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

Следование – это однозначная (линейка) последовательных действий.

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

Цикл – повторение некоторой группы действий по условию.

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

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

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

– простота в составлении программ (студентам необходимо знать только три базовые структуры – следование, ветвление, цикл);

– возможность разбиения на части (большую программу могут писать одновременно несколько исполнителей);

– простота проектирования и последующего изменения программы;

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

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

В настоящее время объектно-ориентированное программирование является наиболее популярной технологией программирования. К этой группе относ??т??я языки Visual Basic, Jawa, Object Pascal и Си++. Объектно-ориентированное программирование является развитием технологии алгоритмического программирования, которое представляет алгоритм в виде последовательности различных алгоритмических структур (линейная, ветвление, цикл), однако имеет свои характерные черты.

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

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

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

При таком подходе доступ к изменению свойств объекта возможен только через принадлежащие этому объекту методы. Методы «окружают» свойства объекта. Если говорить образно, то объекты – это существительные, свойства объекта – это прилагательные, а методы объекта – это глаголы.

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

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

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

Можно выделить основные преимущества объектно-ориентированного под-хода к разработке алгоритмов и программ, в числе которых:

– простота построения новых классов, использование механизма наследования;

– полиморфизм – возможность работать с объектами, абстрагируясь от их класса;

– возможность описания методов класса на любом языке программирования;

– инкапсуляция – структура объекта включает в себя как данные, так и методы работы с ним.

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

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

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

Основные преимущества и особенности логической парадигмы программирования:

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

– данный подход наиболее удобен для решения логических задач;

– логическое программирование требует особого стиля мышления программиста.

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

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

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

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

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

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

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

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

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

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

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

 

 

ПРИМЕЧАНИЯ

 

1. Жужжалов В.Е. Интеграционные методы изучения программирования в вузовском курсе информатики // Вестник МГПУ. Сер. «Информатика и информатизация обра-зования». – М., 2003, № 1 (1), с. 53–54.

2. Гриншкун В.В. Инструментальные средства разработки программ педагогического назначения, основанные на древовидном представлении данных // Педагогическая информатика. – М., 1999, № 2, с.72–88.


Автор оригинала: Жужжалов В.Е.
Источник оригинала: Журнал «Вестник РУДН» серия «Информатизация образования», 2004, №1

Новости
16.06.2017

Российский университет дружбы народов объявляет о проведение первой волны вступительных испытаний среди иностранных граждан для обучения на программах магистратуры на контрактной основе. Первая ...

13.10.2016

26 октября-27 октября 2016 года Российский университет дружбы народов проводит Международную конференцию «Сетевые университеты и международный рынок труда (пространства БРИКС, СНГ, ШОС)».

19.05.2016

The Peoples’ Friendship University of Russia (PFUR) announces the beginning of admission of foreign citizens who graduated from Bachelor and Specialist Degree programs of PFUR and other Russian and ...

19.05.2016

Российский университет дружбы народов (РУДН) объявляет о наборе иностранных граждан -выпускников бакалавриата и специалитета РУДН и других российских и зарубежных ВУЗов на программы магистратуры на ...

11.12.2015

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