Принципы формирования курса информатики для инженерных специальностей

ПРИНЦИПЫ ФОРМИРОВАНИЯ КУРСА ИНФОРМАТИКИ ДЛЯ ИНЖЕНЕРНЫХ СПЕЦИАЛЬНОСТЕЙ

В.Е. Жужжалов, Е.М. Бесфамильная

Кафедра систем управления Московский государственный университет технологий и управления ул. Земляной вал, 73, Москва, Россия, 109004

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

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

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

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

В последнее время преобладает концепция четырех парадигм программирования:

1) процедурная парадигма программирования;

2) объектно-ориентированная парадигма программирования;

3) логическая парадигма программирования;

4) функциональная парадигма программирования.

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

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

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

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

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

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

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

ЛИТЕРАТУРА

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

[2] Концепции системной интеграции информационных технологий в высшей школе. — М.: РосНИИСИ, 1993.

[3] Герасименко В.А. Новый взгляд на информатику и информатизацию: необходимость, проблемы становления и развития // Зарубежная радиоэлектроника. — 1995. — № 2, 3. — С. 23—28.

PRINCIPLES OF FORMATION OF THE COURSE OF COMPUTER SCIENCE FOR ENGINEERING SPECIALITIES

V.E. Zhuzhzhalov, Е.М. Besfamilnaja

Chair «Control system»

Moscow State University of technologies and management Zemlianoi Val str., 73, Moscow, Russia, 109004

The article describes the principles of computer science courses. The advantages and disadvantages of functional programming and importance of the Lisp language in teaching computer science are reflected in the article.

Key words: syntax, semantics, functional programming, the programming paradigm, function.