Учебно-методический комплекс по курсу "Программирование" составлен в соответствии с требованиями Государственного образовательного стандарта высшего профессионального образования по специальности: 032100.00 "Математика" (050201 по ОКСО), дополнительная специальность 030100 "Информатика" (050202 по ОКСО).

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

ПРОГРАММИРОВАНИЕ

Учебно-методический комплекс курса по специальности 050201
Квалификация — учитель математики и информатики

 

 

I. Рабочая программа дисциплины
1. Цели и задачи изучения дисциплины
2. Требования к уровню освоения дисциплины
3. Объем дисциплины
3.1. Объем дисциплины и виды учебной работы
3.2. Распределение часов по темам и видам учебной
4. Содержание курса
5. Темы практических занятий
6. Лабораторные работы (лабораторный практикум)
7. Тематика контрольных работ и методические указания по их выполнению
8. Учебно-методическое обеспечение дисциплины
8.1. Литература
8.2. Материально-техническое и информационное обеспечение дисциплины
8.3. Методические указания студентам
8.4. Методические рекомендации преподавателю
II. Материалы, устанавливающие содержание и порядок проведения текущего контроля и промежуточной аттестации

 


I. Рабочая программа дисциплины

1. Цели и задачи изучения дисциплины

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

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

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

Основные задачи курса программирования на основе структурного и объектно-ориентированного подхода:

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

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

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

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

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

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

Выписка из ГОС ВПО специальности 030100 "Информатика" (050202 по ОКСО), содержащая требования к обязательному минимуму содержания дисциплины.

ДПП.Ф.14. Программирование. Объектно-ориентированная парадигма программирования. Объекты, полиморфизм и наследование. Объектно-ориентированное проектирование. Конструирование объектов: строки, стеки, списки, очереди, деревья. Математические объекты: рациональные и комплексные числа, вектора, матрицы. Библиотеки объектов. Интерфейсные объекты: управляющие элементы, окна, диалоги. События и сообщения. Механизмы передачи и обработки сообщений в объектно-ориентированных средах. Конструирование программ на основе иерархии объектов.

В результате изучения дисциплины студент должен:

иметь представление:

уметь:

приобрести навыки:

владеть, иметь опыт:

3. Объем дисциплины

3.1. Объем дисциплины и виды учебной работы

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

Вид учебной работыКоличество часов
Всего по учебному плануВ т.ч. по семестрам
34
Аудиторные занятия1165660
лекции 40 20 20
практические занятия 24 12 12
лабораторные работы 52 24 28
Самостоятельная работа 116 58 58
ВСЕГО ЧАСОВ НА ДИСЦИПЛИНУ 232 114118
Текущий контроль
(количество и вид текущего контроля)
контрольная — 3Тест — 1,
контрольная — 3
Виды промежуточного контроля
(экзамен, зачет)
Экзамен — 3Экзамен — 4

3.2. Распределение часов по темам и видам учебной работы

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

Названия разделов и тем Всего
часов
по учебному плану
Виды учебных занятий
Аудиторные занятия,
в том числе
Самостоятельная
работа
лекциипрактические
занятия
лабораторные
работы
Раздел 1. Введение в алгоритмизацию и программирование
Тема 1. Методологии программирования42  2
Тема 2. Алгоритмические структуры2424612
Тема 3. Синтаксис и семантика формального языка42  2
Раздел 2. Структурный подход к программированию
Тема 4. Основные конструкции алгоритмических языков42  2
Тема 5. Простые типы данных языка программирования42  2
Тема 6. Основные операторы языка2644614
Тема 7. Структурированные типы языка
программирования высокого уровня
42641022
Тема 8. Алгоритмы поиска и сортировки 122 46
Раздел 3. Модульное программирование. Программирование абстрактных типов данных
Тема 9. Процедуры и функции. Модули3244816
Тема 10. Организация динамических структур данных
(абстрактных типов данных):
стек, очередь, двоичное дерево поиска.
3244816
Раздел 4. Объектно-ориентированное программирование
Тема 11. Введение в объектно-ориентированное программирование 2042410
Тема 12. Реализация абстракций данных методами
объектно-ориентированного программирования
163238
Тема 13. Объектно-событийное и
объектно-ориентированное программирование
123 36
ИТОГО232402452116

4. Содержание курса

Раздел 1. Введение в алгоритмизацию и программирование

Тема 1. Методологии программирования. Программирование как раздел информатики. Метафоры (парадигмы) программирования. Методологии программирования. Основные понятия и определения. История и эволюция. Классификация по ядрам методологии: императивное программирование, объектно-ориентированное, функциональное, логическое. Топологическая специфика методологий.

Тема 2. Алгоритмические структуры. Этапы решения задач на ЭВМ. Понятие алгоритма. Исполнитель, система команд исполнителя. Свойства алгоритмов. Способы записи алгоритмов. Принципы структурного программирования. Основные алгоритмические структуры и их суперпозиции.

Тема 3. Синтаксис и семантика формального языка. Естественные и формальные языки. Понятия о синтаксисе и семантике формального языка. Нормальные формы Бэкуса-Наура и синтаксические диаграммы Вирта. Язык программирования. Классификация языков программирования. Система программирования.

Раздел 2. Структурный подход к программированию

Тема 4. Основные конструкции алгоритмических языков. Общие конструкции алгоритмических языков: алфавит, величина (тип, имя и значение). Выражение. Тип выражения. Арифметическое выражение. Символьное выражение. Логическое выражение. Стандартные функции. Структура программы.

Тема 5. Простые типы языка программирования. Общая характеристика языка Object Pascal. Структуры данных: упорядоченность, однородность, способ доступа. Определение констант. Описание переменных. Стандартные типы данных. Целые типы. Символьный и булевский типы данных. Эквивалентность и совместимость типов. Типы, определяемые программистом: перечисляемый, интервальный. Тип дата-время.

Тема 6. Основные операторы языка. Перечень операторов Object Pascal. Оператор присваивания. Операторы (процедуры) ввода-вывода. Управление выводом данных в консольном режиме (простейшее форматирование). Условный оператор. Логические выражения. Оператор множественного ветвления. Операторы цикла: с предусловием, с постусловием, с параметром.

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

Тема 8. Алгоритмы поиска и сортировки. Простой и бинарный поиск. Сортировки: выбором, обменом, вставкой. Анализ сложности алгоритмов на примере сортировок.

Раздел 3. Модульное программирование. Программирование абстрактных типов данных

Тема 9. Процедуры и функции. Модули. Подпрограммы. Формальные параметры. Параметры-значения, параметры-переменные, параметры-константы. Локальные и глобальные идентификаторы подпрограмм. Процедуры и функции. Рекурсия. Внешние подпрограммы. Модули. Общая структура модуля. Подпрограммы в модулях. Компиляция и использование модулей.

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

Раздел 4. Объектно-ориентированное программирование

Тема 11. Введение в объектно-ориентированное программирование. Введение в объектно-ориентированное программирование (ООП) и проектирование. Инкапсуляция, наследование, полиморфизм. Примеры задач.

Тема 12. Реализация абстракций данных методами объектно-ориентированного программирования. Математические объекты: рациональные и комплексные числа, вектора, матрицы. Библиотеки объектов.

Тема 13. Объектно-событийное и объектно-ориентированное программирование. Идеология программирования под Windows. Событие и сообщение. Виды событий. События от мыши и клавиатуры. Программирование управления событиями. Обработка исключительных событий. Основы визуального программирования. Компонент. Иерархия компонентов.

5. Темы практических занятий

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

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

Тема 2. Алгоритмические структуры (4 часа)

  1. Разработка линейных алгоритмов.
  2. Разработка алгоритмов с ветвлением.
  3. Разработка циклических алгоритмов (циклы с пред- и постусловием, цикл с параметром).
  4. Трассировка алгоритма.
  5. Разработка алгоритмов с подпрограммами.

Тема 6. Основные операторы языка (4 часа)

  1. Алгебраические и логические выражения, правила их записи.
  2. Присваивание. Совместимость по присваиванию.
  3. Ввод и вывод данных в консольном режиме.
  4. Условный оператор.
  5. Оператор выбора.
  6. Операторы цикла (циклы с пред- и постусловием, цикл с параметром).

Тема 7. Структурированные типы языка программирования высокого уровня (4 часа)

  1. Характеристики структурированных типов данных.
  2. Массивы. Линейные и двумерные массивы.
  3. Длинная арифметика.
  4. Строки.
  5. Множества.
  6. Записи.
  7. Типизированные файлы.
  8. Организация файлов записей.
  9. Нетипизированные файлы.
  10. Текстовые файлы.
  11. Прямой доступ к компонентам файлов.
  12. Сортировка файлов.

Тема 9. Процедуры и функции. Модули (4 часа)

  1. Процедуры. Разработка и вызов.
  2. Функции. Разработка и вызов.
  3. Разработка программ на основе структурного подхода.
  4. Внешние подпрограммы.
  5. Рекурсивные подпрограммы.
  6. Модули. Структура и разработка.
  7. Стандартные модули.

Тема 10. Организация динамических структур данных (абстрактных типов данных): стек, очередь, двоичное дерево поиска (4 часа)

  1. Динамически распределяемая память и ее использование при работе со стандартными типами данных.
  2. Однонаправленные списки.
  3. Двунаправленные списки.
  4. Стеки.
  5. Очереди.
  6. Деки.
  7. Двоичные деревья поиска.

Тема 11. Введение в объектно-ориентированное программирование (2 часа)

  1. Основные понятия ООП.
  2. Разработка программ на основе ООП.
  3. Наследование и полиморфизм в ООП.

Тема 12. Реализация абстракций данных методами объектно-ориентированного программирования (2 часа)

  1. Абстрактные типы и структуры данных.
  2. Классы, объекты, поля, методы.
  3. Конструкторы и деструкторы.
  4. Свойства и методы объектов.
  5. Раннее связывание и позднее связывание.
  6. Математические объекты: рациональные и комплексные числа, вектора, матрицы.

6. Лабораторные работы (лабораторный практикум)

Лабораторные работы в компьютерных классах служат для самостоятельной работы студентов над учебными задачами с целью выработки и закрепления практических навыков программирования. Основной перечень лабораторных работ содержится в сборнике задач: Сборник задач по программированию. / Авт.-сост. А.П. Шестаков; Перм. ун-т. — Пермь, 2001. (ч. I). В указанном сборнике имеются задачи по всем приведенным выше разделам и темам. В качестве дополнительного источника информации при выполнении лабораторных работ студенты могут использовать материалы раздела «Дидактические материалы по информатике».

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

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

Примерные варианты контрольных работ, контрольного теста:

  1. Пример вариантов контрольной работы № 1
  2. Пример варианта контрольной работы № 2
  3. Пример варианта контрольной работы № 3
  4. Пример варианта контрольной работы № 4
  5. Пример варианта контрольной работы № 5
  6. Пример варианта контрольной работы № 6
  7. Пример контрольного теста по программированию

Подготовка к контрольным работам предполагается во время самостоятельной работы студентов. Первая контрольная работа является домашней, остальные пять — аудиторные.

Примерные вопросы к коллоквиумам:

  1. Коллоквиум № 1
  2. Коллоквиум № 2
  3. Коллоквиум № 3
  4. Коллоквиум № 4
  5. Коллоквиум № 5

8. Учебно-методическое обеспечение дисциплины

8.1. Литература

Основная

  1. Могилёв А.В., Пак Н.И., Хеннер Е.К. Информатика: Учеб. пособие для студ. пед. ву-зов / Под ред. Е.К. Хеннера. — М., Academia, 2004.
  2. Сборник задач по программированию. / Авт.-сост. А.П. Шестаков; Перм. ун-т. — Пермь, 2001. (Ч. I — 76 с.; Ч. II (Олимпиадные задачи) — 112 с.)
  3. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. — М.: Мастерство, НМЦ СПО; Высшая школа, 2004. — 432 с.

Дополнительная

  1. Абрамов С.А. и др. Задачи по программированию. — М.: Наука, 1988.
  2. Алексеев В.Е. и др. Вычислительная техника и программирование. Практикум по программированию. — М.: ВШ, 1991.
  3. Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирования. — Харьков: Фолио, Ростов н/Д: Феникс, 1997. — 368 с.
  4. Вирт Н. Алгоритмы и структуры данных. — М.: Мир, 1989.
  5. Вирт Н. Алгоритмы + структура данных = программы. — М.: Мир, 1985.
  6. Гладков В.П. Конспект лекций по программированию для начинающих: Учеб. пособие / Перм. гос. техн. ун-т. — Пермь, 1998. — 217 с.
  7. Гладков В.П. Курс лабораторных работ по программированию: Учебное пособие для специальностей электротехнического факультета ПГТУ / Перм. гос. техн. ун-т. — Пермь, 1998. — 153 с.
  8. В.П. Гладков, А.П. Шестаков. Вопросы, задания и контрольные работы для начинающих программистов (материалы к уроку). //Информатика, 2001, № 20(309). — с. 10-13; №№ 33-35, 37-38, 40.
  9. В.П. Гладков, А.П. Шестаков. Вопросы, задания и контрольные работы для начинающих программистов (избранные темы). //Информатика, 2003, №№ 27-28 (412-413) — 64 с.
  10. Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0. — М.: ДМК, 1998. — 400 с.
  11. Дайтибегов Д.М., Черноусов Е.А. Основы алгоритмизации и алгоритмические языки. — М.: ФиС, 1992.
  12. Джонс Ж., Харроу К. Решение задач в системе Turbo Pascal. — М.: ФиС, 1991.
  13. Дмитриева М.В., Кубенский А.А. Элементы современного программирования. — СПб: изд-во С.-П. университета, 1991.
  14. Зуев Е.А. Практическое программирование на языке Turbo Pascal 6.0, 7.0. — М.: Радио и связь, 1994.
  15. Зубов В.С. Программирование на языке Turbo Pascal (версии 6.0 и 7.0). — М.: Информационно-издательский дом "Филинъ", 1997. — 320 с.
  16. Есаян А.Р. и др. Информатика. — М.: Просвещение, 1991.
  17. Информатика. Задачник-практикум в 2 т. / Под ред. И. Семакина, Е. Хеннера. М.: Лаборатория Базовых Знаний, 1999.
  18. Культин Н.Б. Программирование в Turbo Pascal и Delphi. — СПб.: BHV — Санкт-Петербург, 1998. — 240 с.
  19. Ляхович В.Ф. Руководство к решению задач по основам информатики и вычислительной техники. — М.: ВШ, 1994.
  20. Марченко А.И., Марченко Л.А. Программирование в среде Turbo Pascal 7.0. / Под ред. Тарасенко В.П. — К,: ВЕК+, М.: Бином Универсал, 1998. — 496 с.
  21. Могилёв А.В., Пак Н.И., Хеннер Е.К. Информатика: Учеб. пособие для студ. пед. вузов / Под ред. Е.К. Хеннера. — М., Academia, 1999.
  22. Окулов С.М. Основы программирования. — М.: ЮНИМЕДИАСТАЙЛ, 2002. — 424 с.
  23. Пильщиков В.Н. Сборник упражнений по языку Pascal. — М.: Наука, 1989.
  24. Попов В.Б. Турбо-Паскаль для школьников. М.: ФиС, 1999. — 528 с.
  25. Сборник задач по программированию. / Авт.-сост. А.П. Шестаков; Перм. ун т. — Пермь, 1999. (Ч. I — 76 с.; Ч. II (Олимпиадные задачи) — 112 с.)
  26. Семакин И.Г., Шестаков А.П. Лекции по программированию. — Пермь, изд-во ПГУ, 1998.
  27. Семакин И.Г., Шестаков А.П. Основы алгоритмизации и программирования: Учебник для сред. проф. образования / И.Г. Семакин, А.П. Шестаков. — М.: Издательский центр "Академия", 2008. — 400 с. (Допущено Министерством образования и науки Российской Федерации)
  28. Сергиевский М.В., Шалашов А.В. Turbo Pascal 7.0. — М.: Машиностроение, 1994.
  29. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. — М.: "Нолидж", 1997. — 616 с.
  30. Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. Учебное пособие. — М.: "Нолидж", 1997. — 432 с.
  31. Фролов Г.Д., Кузнецов Э.И. Элементы информатики. — М.: ВШ, 1989.
  32. Шень А. Программирование: теоремы и задачи. — М.: МЦНМО, 1995.

8.2. Материально-техническое и информационное обеспечение дисциплины

При освоении дисциплины для выполнения лабораторных работ необходимы персональные компьютеры с набором программного обеспечения: системы программирования (Turbo Pascal, Delphi, Free Pascal).

УМК по дисциплине в электронном виде находится в библиотеке и методическом кабинете кафедры информатики и ВТ ПГПУ, на данном сайте и может быть использован для самостоятельной работы.

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

Дополнительный набор ссылок на Интернет-ресурсы:

8.3. Методические указания студентам

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

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

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

Контрольные работы. После изучения некоторых разделов практической части курса «Программирование» проводятся контрольные аудиторные работы. Для успешного их написания необходима определенная подготовка. Готовиться к контрольным работам нужно по материалам лекций и рекомендованной литературы. Обычно, контрольная работа имеет 4-6 вариантов.

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

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

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

В каждом семестре предполагается проведение трех коллоквиумов.

8.4. Методические рекомендации преподавателю

  1. Согласно существующему государственному образовательному стандарту специальности и других нормативных документов целесообразно разработать матрицу наиболее предпочтительных методов обучения и форм самостоятельной работы студентов, адекватных видам лекционных и лабораторных занятий.
  2. Необходимо предусмотреть развитие форм самостоятельной работы, выводя студентов к завершению изучения учебной дисциплины на её высший уровень.
  3. Пакет заданий для самостоятельной работы следует выдавать в начале семестра, определив предельные сроки их выполнения и сдачи.
  4. Организуя самостоятельную работу, необходимо постоянно обучать студентов методам такой работы.
  5. Вузовская лекция — главное звено дидактического цикла обучения. Её цель — формирование у студентов ориентировочной основы для последующего усвоения материала методом самостоятельной работы. Содержание лекции должно отвечать следующим дидактическим требованиям: Преподаватель, читающий лекционные курсы в вузе, должен знать существующие в педагогической науке и используемые на практике варианты лекций, их дидактические и воспитывающие возможности, а также их методическое место в структуре процесса обучения.
  6. Лабораторные работы сопровождают и поддерживают лекционный курс.
  7. При проведении промежуточной и итоговой аттестации студентов важно всегда помнить, что систематичность, объективность, аргументированность — главные принципы, на которых основаны контроль и оценка знаний студентов. Проверка, контроль и оценка знаний студента, требуют учета его индивидуального стиля в осуществлении учебной деятельности. Знание критериев оценки знаний обязательно для преподавателя и студента.

II. Материалы, устанавливающие содержание и порядок проведения текущего контроля и промежуточной аттестации

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

Вопросы к экзамену

3 семестр

Вопросы к экзамену (3 семестр)

4 семестр

Вопросы к экзамену (4 семестр)

 

Рейтинг ресурсов УралWeb

 

© А.П. Шестаков, 2008
X