Рабочая программа по дисциплине "Программирование на языке высокого уровня" для специальности 230105 (220400) "Программное обеспечение вычислительной техники и автоматизированных систем"

Вид материалаРабочая программа

Содержание


Цели и задачи дисциплины и ее место в учебном
2. Содержание дисциплины
3. Учебно-методические материалы
4. Применение рейтинговой системы
Лабораторные работы.
Периодичность контроля
Практические занятия.
Периодичность контроля
2 семестр. Контроль обучения – экзамен, дифференцированный зачет
Лабораторные работы.
Периодичность контроля
Практические занятия.
Периодичность контроля
Курсовая работа
Подобный материал:

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ


Томский государственный университет систем управления

и радиоэлектроники (ТУСУР)






УТВЕРЖДАЮ

Проректор по учебной работе


________________М.Т.Решетников


“______”_________________2004 г.



РАБОЧАЯ ПРОГРАММА


по дисциплине “Программирование на языке высокого уровня”

для специальности 230105 (220400)

“Программное обеспечение вычислительной техники

и автоматизированных систем”


Факультет - систем управления

Профилирующая кафедра - автоматизированных систем управления


Курс - 1

Семестры - 1, 2


Учебный план набора 2001, 2002, 2003 и последующих лет


Распределение учебного времени (Всего часов)

Лекции - 53 часа

Практические занятия - 43 часа

Лабораторные занятия - 70 часов

Курсовая работа (ауд.) - 17 часов

Всего ауд. занятий - 183 часа


Самостоятельная работа - 77 часов

Общая трудоемкость - 260 часов


Зкзамен – 1, 2 семестры

Дифзачет - 2 семестр

2004


Рабочая программа составлена на основании ГОС ВО по направлению 654600 Информатика и вычислительная техника (специальность 220400 – “Программное обеспечение вычислительной техники и автоматизированных систем”), утвержденного 27.03.2000г, рассмотрена и утверждена на заседании кафедры АСУ “____“ ____________2004 г.


Разработчик,

доцент кафедры АСУ Е.Н.Сафьянова


Зав. обеспечивающей кафедрой АСУ А.М.Кориков


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


Декан ФСУ Н.В. Замятин


Зав. профилирующей кафедрой АСУ А.М.Кориков


  1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ И ЕЕ МЕСТО В УЧЕБНОМ

ПРОЦЕССЕ

Дисциплина входит в число обязательных дисциплин обще-профессионального цикла.

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

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

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

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

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

Изучение дисциплины проходит в течение первых двух семестров, что позволяет использовать полученные в нем знания в последующих дисциплинах, определяемых учебным планом, в частности: “Структуры и алгоритмы обработки данных в ЭВМ”, “Базы и банки данных и знаний”, “Системное программное обеспечение” и др., а также при выполнении заданий по курсовому и дипломному проектированию. Распределение аудиторных занятий по семестрам выглядит следующим образом.


Вид

Семестр 1

Семестр 2

Всего

Лекции

36

17

53

Практические занятия

10

33

43

Лабораторные занятия

36

34

70

Курсовая работа

-

17

17



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


2.1. Лекции


Тема 1. Основы алгоритмизации.

Лекций 4 часа, самостоятельная работа 2 часа.

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

Тема 2. Рекуррентные алгоритмы.

Лекции - 4 часа, самостоятельная работа - 2 часа.


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


Тема 3. Алгоритмы нахождения корней функции.

Лекции - 2 часа, самостоятельная работа - 1 час.

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


Тема 4. Проверка правильности алгоритмов.

Лекции - 2 часа, самостоятельная работа - 1 час.

Основные источники ошибок и методы борьбы с ними. Тестирование. Методы верификации алгоритмов. Защита от неправильных данных.


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

Лекции - 2 часа, самостоятельная работа - 1 час.

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


Тема 6. Алгоритмы информационного поиска и сортировки.

Лекции - 10 часов, самостоятельная работа - 5 часов.

Задача информационного поиска и ее разновидности. Поиск в неупорядоченном и упорядоченном массивах. Общая постановка задачи сортировки. Простые методы сортировки массивов: сортировка включением, сортировка выбором, сортировка обменом. Алгоритм сортировки Шелла. Алгоритм сортировки Хоара.


Тема 7. Рекурсивные алгоритмы.

Лекции - 4 часа, самостоятельная работа - 2 часа.

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


Тема 8. Упорядочение нечисловых массивов.

Лекции - 2 часа, самостоятельная работа - 1 час.

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


Тема 9. Структурированные типы данных.

Лекции - 6 часов, самостоятельная работа - 3 часа.

Комбинированный тип данных (запись) в Паскале. Перечислимый и интервальный типы данных. Множества и работа с ними. Файловая структура данных. Основные процедуры работы с файлами. Особенности работы с текстовыми и стандартными текстовыми файлами. Управление выводом.


Тема 10. Основы программирования на языке Си.

Лекции - 17 часов, самостоятельная работа - 9 часов.

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

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

Основные операторы языка Си. Операторы выбора. Операторы цикла. Операторы передачи управления.

Функции и структура программы. Аргументы функций. Область действия имени. Классы памяти. Блоки. Правила инициализации. Работа с указателями. Адресная арифметика. Указатели и функции. Указатели и массивы.

Препроцессор языка Си. Включение файлов. Макроподстановка. Условная компиляция.

Структуры. Описание структуры. Структуры и функции. Операции работы со структурами.

Ввод и вывод в Си. Стандартный ввод и вывод. Форматный ввод и вывод. Функции доступа к файлам.


2.2. Практические занятия.


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


2 семестр.
  1. Структура Си-программы. Базовые типы данных. - 2 часа
  2. Арифметические вычисления. - 4 часа
  3. Операторы цикла. Форматный вывод в Си. - 4 часа
  4. Условный оператор. Операции отношения и логические операции. Символические константы. - 4 часа
  5. Ввод и вывод символов. Обработка символьных данных. - 3 часа
  6. Копирование файла. Подсчет количества символов, строк, слов. - 4 часа
  7. Работа с числовыми массивами. Форматный ввод. - 4 часа
  8. Оформление функций в Си. Вызов аргументов. - 4 часа
  9. Массивы символов. - 4 часа


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


2.3. Лабораторные занятия


1 семестр

1. Интерактивная среда Borland Pascal 7.0 - 4 часа

2. Ветвления и циклы - 4 часа

3. Вычисления по рекуррентным алгоритмам - 4 часа

4. Процедуры и функции - 4 часа

5. Работа с двумерными массивами - 4 часа

6. Сортировка массивов - 4 часа

7. Работа со строками - 4 часа

8. Файловый тип данных - 4 часа

9. Работа с экраном. Текстовый и графический режимы. - 4 часа


2 семестр

1. Арифметические вычисления. Форматный вывод в Си. - 4 часа

2. Условные и циклические операторы в Си. - 4 часа

3. Матричные вычисления. Форматный ввод данных. - 4 часа

4. Функции в языке Си. Обмен данными между функциями. - 4 часа
  1. Использование указателей для повышения эффективности

Си-программ. - 4 часа

6. Динамическое выделение памяти в Си. - 4 часа

7. Работа с файлами. - 4 часа
  1. Графика и движение. - 6 часов


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

Цель лабораторного практикума во 2 семестре – освоение особенностей алгоритмического языка Си. При этом внимание уделяется главным образом работе с такими нестандартными типами данных, как указатели, файлы, структуры и динамические массивы.

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

Для подготовки к лабораторным работам и оформления отчетов необходимо

10 часов самостоятельной работы.

2.4. Курсовая работа.

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

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

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

Примерные темы курсовых работ:

- графический редактор,

- поиск в файле,

- шифровка и дешифровка текста,

- игра “жизнь”,

- построение “кривых дракона”,

- моделирование вращения трехмерных объектов,

- музыкальный редактор,

- программа-композитор,

- “Библиотека”,

- игра “Ханойские башни”,

- система управления файлами

и т.д.

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

  1. Самостоятельная работа.


№ Наименование работы Число часов Формы контроля

1 Проработка лекционного материала 27 экзамен

2 Выполнение практических заданий 10 опрос

3 Подготовка к лабораторным занятиям 10 отчет

4 Выполнение курсовой работы 30 защита

Всего часов самостоятельной работы 77



3. УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ


3.1. Основная литература.
  1. Сафьянова Е.Н. Основы алгоритмизации и программирование: Учебное пособие – Томск: Томский межвузовский центр дистанционного образования, 2000. -111с.
  2. В.В.Фаронов. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. – М: «Нолидж», 1999.
  3. А. Епанешников, В. Епанешников. Программирование в среде Turbo Pascal 7.0. – ДИАЛОГ - МИФИ , 1993.
  4. Немнюгин С. Turbo Pascal. Учебник. - СПб.: Питер, 2001.-496с.


3.2. Дополнительная литература
  1. Йодан Э. Структурное проектирование и конструирование программ. – М.: Мир, 1989.
  2. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. – М.: Наука, 1988.
  3. Вирт Н. Алгоритмы + структуры = программы. – М.: Мир, 1985.
  4. Грогоно П. Программирование на языке Паскаль. – М.: Наука, 1982.
  5. Перминов О.Н. Язык программирования Паскаль. Справочник. – М.: Радио и связь, 1989.
  6. Грызлов В.И., Грызлова Е.П. Турбо Паскаль 7.0. – М.: ДМК, 1998.
  7. Керниган Б., Ритчи Д. Язык программирования Си. – М.: Финансы и статистика, 1985.
  8. Уэйт М., Прата С., Мартин Д. Язык Си. – М.: Мир, 1988.
  9. Уинер Д. Язык Турбо Си. – М.: Мир, 1991.
  10. Болски М.И. Язык программирования Си. Справочник. – М.: Радио и связь, 1988.
  11. Офицеров Д.В. и др. Программирование на персональных ЭВМ. – М.: Высш.шк., 1993.
  12. Фигурнов В.Э. IBM PC для пользователя. Изд. 6-е, перераб. и доп. – М.: ИНФРА - М, 1996.
  13. А.И. Касаткин, А.Н.Вальвачев. Профессиональное программирование на языке Си: От Turbo C к Borland C++. – Минск, Вышейшая школа,1992.
  14. В.В.Фаронов. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. – М: «Нолидж», 1999.
  15. Вирт Н. Систематическое программирование: Введение. – М.: Мир, 1977.
  16. Лингер Р., Миллес Х., Уитт Б. Теория и практика структурного программирования. – М.: Мир, 1982.
  17. Дейкстра Э. Структурное программирование. – М.: Мир, 1975.
  18. Дейкстра Э. Дисциплина программирования. – М., Мир, 1978.
  19. Йенсен К., Вирт Н., Паскаль. Руководство для пользователя и описание языка. – М.: Финансы и статистика, 1982.
  20. Кнут Д. Искусство программирования для ЭВМ. В 3-х т.т. – М.: Мир, 1976.
  21. Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на ЭВМ. – М.: Наука, 1986.
  22. Белецкий Я. Энциклопедия языка Си. – М.: Мир, 1992.
  23. Костюк Ю.Л. Основы алгоритмизации. – Томск: Изд-во Том. ун-та, 1996.



4. ПРИМЕНЕНИЕ РЕЙТИНГОВОЙ СИСТЕМЫ


1 семестр. Контроль обучения – экзамен.

Элементы контроля – лабораторные работы и практические занятия.


Лабораторные работы. Максимальный рейтинг – 80 баллов.

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

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

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


Практические занятия. Максимальный рейтинг – 40 баллов.

Каждый студент должен выполнить не менее 8 заданий. За каждое задание начисляется от 1 до 5 баллов. Критерии оценки: сложность задачи, достоинства или недостатки программы, самостоятельность работы.

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

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


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

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


Лабораторные работы. Максимальный рейтинг – 80 баллов.

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

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

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


Практические занятия. Максимальный рейтинг – 40 баллов.

Каждый студент должен выполнить не менее 10 заданий. За каждое задание начисляется от 1 до 4 баллов. Критерии оценки: сложность задачи, достоинства или недостатки программы, самостоятельность работы.

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

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


Курсовая работа. Максимальный рейтинг – 120 баллов.

Рейтингу 60 – 79 баллов соответствует оценка «удовлетворительно».

Рейтингу 80 – 99 баллов соответствует оценка «хорошо».

Рейтингу 100 – 120 баллов соответствует оценка «отлично».

Система оценивания курсовой работы:
  1. Выбор темы курсовой работы (сложность, творческие моменты) – до 20 баллов.
  2. Первая контрольная точка – собеседование (анализ задачи, алгоритм ее решения, элементы программы) – до 30 баллов.
  3. Вторая контрольная точка – собеседование (представление законченной программы) – до 30 баллов.
  4. Содержание пояснительной записки – до 20 баллов.
  5. Оформление пояснительной записки – до 10 баллов.
  6. Защита курсовой работы – до 10 баллов.

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