Программа дисциплины "Языки и методы программирования" (федеральный компонент цикла дпп) предназначена для студентов

Вид материалаПрограмма дисциплины

Содержание


Направление: 050200 Физико-математическое образование
I. организационно-методический раздел
Цель дисциплины
Задачи дисциплины
Принципы отбора содержания и организации учебного материала
Требования к освоению содержания дисциплины
Виды контроля
Планирование содержания дисциплины
Ii. содержание дисциплины
Основы алгоритмизации
Разработка программного обеспечения
Основы языка PASCAL
Скалярные типы данных
Стpуктуpиpованные типы данных
Стандаpтные библиотечные модули
Файлы в языке PASCAL
Модульное программирование
Разработка приложений в среде Delphi
ООП в Delphi
Object Pascal
...
Полное содержание
Подобный материал:
Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

«Иркутский государственный педагогический университет»

Факультет математики, физики и информатики


Утверждено

на заседании совета факультета

математики, физики и информатики

протокол №­­­­­­_____от __________2006 г.

Председатель совета________________

(Кузьмина Н.Д.)





УЧЕБНАЯ ПРОГРАММА ДИСЦИПЛИНЫ

ДПП. 01. Языки и методы программирования

Направление: 050200 Физико-математическое образование


Профиль: Информатика

Квалификация: бакалавр физико-математического образования


Курс: 3

Семестр: 6

Форма обучения: очная


Количество часов на дисциплину: 200 час.

Количество аудиторных часов: 112 час.; из них:

Лекций: 48 час.

Лабораторных занятий: 64 час.

Самостоятельная работа: 112 час.


Итоговый контроль: зачет.


I. ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЙ РАЗДЕЛ

Место дисциплины

Программа дисциплины “Языки и методы программирования” (федеральный компонент цикла ДПП) предназначена для студентов 3 курса направления “Физико-математическое образование” профиля «Информатика».

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

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

Задачи дисциплины:

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

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

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

— сформировать представление о современной методологии проектирования и программирования, принципах трансляции и верификации программ;

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

Принципы отбора содержания и организации учебного материала

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

— о парадигмах программирования;

— о технологиях;

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

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

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

Язык Delphi - Object Pascal - построен на основе компилятора языка Borland Pascal. И чтобы написать эффективный код в Delphi, требуется понимание основ языка Pascal. Поэтому обучение студентов принципам программирования на языках высокого уровня построено на базе языка Pascal.

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

К настоящему времени в программировании сформировалось несколько основных направлений:
  • процедурное программирование (структурное);
  • модульное программирование;
  • объектно-ориентированное программирование.

Эти направления дополняют (а не исключают) друг друга.

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

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

Функциональное программирования изучается на примере языка Lisp, логическое программирование на примере языка Prolog.

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

Знания, полученные в результате изучения дисциплины, обеспе­чивают успешное выполнение выпускной квалификационной работы, изучение дисциплин: «Технологии и методики обучения информатике» и «Основы исследований в физико-математическом образовании», «Компьютерное моделирование».

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

На лекции выносятся наиболее сложные теоретические вопросы разработки алгоритмов и составления программ.

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

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

Требования к освоению содержания дисциплины

Студент должен знать/понимать основные принципы различных парадигм программирования.

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

При изучении курса студенты учатся разрабатывать алгоритмы для решения широкого круга задач, использовать конструкции языка программирования PASCAL и его расширения OBJECT PASCAL для реализации алгоритмов, использовать средства визуальной среды разработки приложений Delphi,

Виды контроля

Текущий – проводится по каждой теме в форме проверки лабораторных работ и тестирования.

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

Итоговый – проводится в форме зачета.

Планирование содержания дисциплины



Название модуля

Часы аудиторных занятий

Часы самостоятельной работы

Всего часов

Лекции

Практ.

занятия
  1. 1

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

10

12

22

45
  1. 2

Программирование на языке PASCAL

9

13

23

45


Объектно-ориентированное программирование

Разработка приложений в среде Delphi

9

13

22

45


Функциональное программирование

20

26

45

89







48

64

112

224

II. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ


Модуль №1

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

Введение

Стандарты на разработку прикладных программных средств. Документирование, сопровождение и эксплуатация программных средств. История развития языков программирования. Парадигмы программирования.

Основы алгоритмизации

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

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

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

Модуль №2

Программирование на языке PASCAL

Основы языка PASCAL

Лексемы языка PASCAL (идентификаторы, константы, переменные, типы данных). Структура программы на языке PASCAL. Ввод-вывод в языке PASCAL.

Операции и операторы

Выpажения. Арифметические, логические операции, операции отношения.

Пpостые опеpатоpы. Стpуктуpные опеpатоpы. Условные операторы. Операторы повтора.

Скалярные типы данных

Целочисленные и вещественые типы. Символьный тип. Логический тип. Пользовательские типы. Перечисляемые типы. Тип диапазон. Совместимость и тождественность типов.

Стpуктуpиpованные типы данных

Массивы. Строки. Множества. Записи.

Методы сортировки массивов. Организация поиска. Поиск максимального (минимального) элемента массива. Процедуры и функции для работы со строками. Записи с вариантами.

Подпрограммы

Процедуры и функции в языке PASCAL. Глобальные и локальные переменные. Параметры процедур и функций. Формальные и фактические параметры. Параметры-переменные. Параметры-значения. Рекурсивные подпрограммы.

Стандаpтные библиотечные модули

Модуль CRT. Установка цвета и фона. Управление яркостью. Управление курсором. Управление звуком. Управление клавиатурой. Текстовые окна.

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

Файлы в языке PASCAL

Типизированные, текстовые, нетипизированные файлы. Процедуры и функции для обработки файлов. Сортировка файлов.

Динамические структуры данных

Динамическая память. Динамические переменные. Распределение динамической памяти. Основные операции при работе со списком, очередью, стеком, деревом.

Модульное программирование

Модули в языке PASCAL. Создание модуля. Формат модуля. Библиотеки подпрограмм.

Модуль №3.

Объектно-ориентированное программирование

Разработка приложений в среде Delphi

Введение в объектно-ориентированное программирование (ООП)

Понятие ООП. Абстрактные типы данных. Объекты и классы. Правила (методы). Базовые принципы ООП. Инкапсуляция. Наследование. Полиморфизм.

ООП в Delphi

Создание, размещение и уничтожение объектов в Object Pascal. Конструктор. Деструктор. Компонентный подход. Иерархия классов.

Архитектура визуальной среды разработки Delphi

Инструментальные средства: ключевые окна, палитра компонентов, инспектор объектов, форма и модуль. Роль кода в Delphi. Обработчики событий. Понятие. Именование. Параметры. Неявный параметр Self. Параметр Sender.

Object Pascal - расширение языка Pascal

Новые типы. Дополнения языка Pascal для Delphi. Объекты и классы. Свойства и обработчики событий.

Порядок создания приложения в Delphi

Файлы проекта. Структура проекта в Delphi. Назначение и содержание основных файлов.

Проектирование форм

Разработка приложения с одной формой. Свойства формы. Метод Close. Приложения со многими формами. Главная форма. Автоматически создаваемые формы. Модальные и немодальные формы. Методы Show, ShowModal. Свойства форм.

Визуальные компоненты. Библиотека визуальных компонентов

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

Использование невизуальных компонентов

Таймер. Формирование главного меню. Требования к меню в приложении Windows. Особенности главного меню в приложениях с несколькими формами. Создание и работа с контекстными всплывающими меню.

Фокусировка элементов

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

Обработка событий мыши и клавиатуры

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

Создание диалогов

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

Многодокументный интерфейс

Проектирование многодокументного интерфейса.

Поддержка графики в Windows. Воспроизведение звуков.

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

Введение в исключения

Обработка исключительных ситуаций. Классы исключений в Delphi. Базовый класс исключений. Конструкторы исключений. Устранение "утечки ресурсов". Обработка исключений. Преднамеренная генерация исключений.

Библиотеки компонентов

Разработка и установка компонентов. Модификация компонента.

Запуск внешних программ

Функции API Windows для запуска из приложения внешних программ.

Выпуск приложения

Установка пиктограмм. Включение справочных файлов.

Модуль №4. Функциональное И ЛОГИЧЕСКОЕ программирование

Основные понятия

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


III. ОРГАНИЗАЦИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

IV. КОНТРОЛЬ КАЧЕСТВА ОСВОЕНИЯ ДИСЦИПЛИНЫ

1. Текущий контроль.

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

2. Рубежный контроль.

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

3. Итоговый контроль.

Проводится в форме зачета.


Вопросы и задания к зачету.
  1. Парадигмы программирования: императивная, функциональная и логическая.
  2. Технология программирования: структурная.
  3. Технология программирования: модульная.
  4. Технология программирования: объектно-ориентированная.
  5. Поток управления и структуры данных.
  6. Общая характеристика языка Паскаль. Структура программы на Паскале. Определение констант. Описание переменных. Стандартные типы данных. Эквивалентность и совместимость типов.
  7. Перечень операторов базового Паскаля. Оператор присваивания. Выражение. Тип выражения. Стандартные функции. Арифметическое выражение. Символьное выражение. Булевское выражение.
  8. Операторы (процедуры) ввода-вывода. Управление выводом данных (простейшее форматирование).
  9. Условный оператор. Условия. Оператор множественного ветвления.
  10. Цикл с заданным условием продолжения работы (цикл-ПОКА).
  11. Цикл с заданным условием окончания работы (цикл-ДО).
  12. Цикл с заданным числом повторений.
  13. Типы данных. Скалярные типы: перечисляемый, интервальный. Упорядоченные и неупорядоченные типы.
  14. Структурированные типы данных. Массивы. Примеры задач с численными, символьными, булевскими массивами.
  15. Процедуры. Формальные параметры. Параметры-значе­ния и параметры-переменные. Локальные и глобальные переменные. Рекурсии. Процедура-функция.
  16. Программирование типовых алгоритмов обработки числовых массивов.
  17. Программирование типовых алгоритмов обработки символьных массивов.
  18. Записи. Оператор присоединения.
  19. Множественный тип. Задание множественного типа и множественной переменной в Паскале. Операции над множествами. Операции отношения. Примеры задач на множественный тип.
  20. Файлы. Общие процедуры для работы с файлами.
  21. Текстовые файлы. Операции ввода-вывода в текстовые файлы.
  22. Динамические информационные структуры. Динамическое распределение памяти. Примеры использования списков.
  23. Модули. Организация внешних подпрограмм. Создание и использование модулей.
  24. Графические возможности Турбо-Паскаля. Графический модуль Crt и его подпрограммы.
  25. Графические возможности Турбо-Паскаля. Графический модуль GRAF и его подпрограммы.

V. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ


Рекомендуемая литература.

Основная литература.
  1. Архангельский А.Я. Программирование в Delphi 7. - М.: ООО "Бином-Пресс", 2003 г. - 1152 с.


Дополнительная литература.
  1. Кнут, Дональд, Эрвин. Искусство программирования /Пер. с англ. – Том 1-3. – М.: Издат. Дом «Вильямс», 2001.
  2. Хювёнен Э., Сенпянен И. Мир ЛИСПа. В 2-х томах. Введение в язык ЛИСП и функциональное программирование. Пер. с финского. – М.: Мир, 1990.
  3. Доорс Дж., Рейблен А., Вадера С. Пролог – язык программирования будущего. – М.: Финансы и статистика, 1990.

Электронно-программные средства.

  1. Электронная поддержка курсов: лекции, лабораторные работы, задания для самостоятельного выполнения, тесты.(ссылка скрытаdomic – из внутривузовской сети, ссылка скрытаdomic –из Интернета).

2.Библиотека электронных книг (имеется на кафедре математической информатики).


Составитель: кандидат физ.-мат. наук, доцент кафедры математической информатики Перязева Ю.В.




Рекомендовано

на заседании кафедры

математической информатики

протокол № ___ от ________________ 200_ г.

Зав. кафедрой __________________________ Н.А.Перязев


_____________________________


Одобрено

на заседании УМК факультета

математики, физики и информатики

протокол № ___ от ________________ 200_ г.

Председатель УМК ______________________