Рабочая программа по дисциплине "Программирование на языке высокого уровня" для специальности 230105 (220400) "Программное обеспечение вычислительной техники и автоматизированных систем"
Вид материала | Рабочая программа |
- Рабочая программа по дисциплине Программирование на языке высокого уровня для специальности, 182.97kb.
- Рабочая программа по дисциплине Архитектура вычислительных систем Для специальности, 122.63kb.
- Рабочая программа по дисциплине «Информатика» для специальности 230105(220400) «Программное, 259.13kb.
- Рабочая программа по дисциплине "Вычислительная математика" для специальности 230105, 201.66kb.
- Рабочая программа по дисциплине: «Программное обеспечение сетей эвм» Для специальности, 72.13kb.
- Рабочая программа для специальности: 220400 Программное обеспечение вычислительной, 133.96kb.
- Рабочая программа по дисциплине: «Сети ЭВМ и телекоммуникации» Для специальности, 95.71kb.
- Методические указания для студентов специальности 230105 «Программное обеспечение вычислительной, 223.95kb.
- Рабочая программа по дисциплине "Методы оптимизации" для специальности 230105 "Программное, 106.67kb.
- «Программное обеспечение вычислительной техники и автоматизированных систем», 1790.14kb.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Томский государственный университет систем управления
и радиоэлектроники (ТУСУР)
| УТВЕРЖДАЮ Проректор по учебной работе ________________М.Т.Решетников “______”_________________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 | Семестр 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 семестр.
- Запись простейших алгоритмов на языке Паскаль. Объекты программы, выражения. Написание алгоритмов с использованием арифметических и логических выражений. - 2 часа
- Основы программирования рекуррентных последовательностей. Вычисление конечных и бесконечных сумм. Решение задач с помощью рекуррентных алгоритмов. - 2 часа
- Описание массивов. Примеры на обработку числовых массивов. - 2 часа
- Оформление программ с использованием процедур. - 2 часа
- Оформление алгоритмов поиска и сортировки в виде процедур. - 2 часа
2 семестр.
- Структура Си-программы. Базовые типы данных. - 2 часа
- Арифметические вычисления. - 4 часа
- Операторы цикла. Форматный вывод в Си. - 4 часа
- Условный оператор. Операции отношения и логические операции. Символические константы. - 4 часа
- Ввод и вывод символов. Обработка символьных данных. - 3 часа
- Копирование файла. Подсчет количества символов, строк, слов. - 4 часа
- Работа с числовыми массивами. Форматный ввод. - 4 часа
- Оформление функций в Си. Вызов аргументов. - 4 часа
- Массивы символов. - 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 часа
- Использование указателей для повышения эффективности
Си-программ. - 4 часа
6. Динамическое выделение памяти в Си. - 4 часа
7. Работа с файлами. - 4 часа
- Графика и движение. - 6 часов
Выполнение лабораторных работ в 1 семестре имеет целью привить студентам практические навыки работы на персональных ЭВМ. При этом закрепляются знания по алгоритмизации задач на примерах программирования ветвлений, циклов, рекуррентных последовательностей, обработки двумерных массивов и строк, различных способов сортировки. Базовым языком для записи алгоритмов является алгоритмический язык Паскаль.
Цель лабораторного практикума во 2 семестре – освоение особенностей алгоритмического языка Си. При этом внимание уделяется главным образом работе с такими нестандартными типами данных, как указатели, файлы, структуры и динамические массивы.
Выполнение лабораторных работ во 2 семестре предшествует вычислительной практике, в ходе которой студенты решают по одной индивидуальной задаче вычислительного характера, реализуя алгоритм на языке Си.
Для подготовки к лабораторным работам и оформления отчетов необходимо
10 часов самостоятельной работы.
2.4. Курсовая работа.
Целью курсовой работы, выполняемой во 2 семестре, является углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере. Курсовая работа выполняется в среде Турбо Паскаль и предполагает использование графических возможностей языка, создание игровых программ, работу с текстами, файловыми структурами, обработку записей.
Целью курсовой работы является максимальное использование возможностей языка в работе со структурами, файлами, графикой.
Темы курсовых работ могут включать в себя задачи по обработке данных некоторой предметной области (библиотека, телефонный справочник, результаты экзаменационной сессии и т.д.). Часть заданий выполняется с использованием объектно-ориентированного подхода в программировании.
Примерные темы курсовых работ:
- графический редактор,
- поиск в файле,
- шифровка и дешифровка текста,
- игра “жизнь”,
- построение “кривых дракона”,
- моделирование вращения трехмерных объектов,
- музыкальный редактор,
- программа-композитор,
- “Библиотека”,
- игра “Ханойские башни”,
- система управления файлами
и т.д.
На выполнение курсовой работы требуется 17 часов аудиторных занятий и 30 часов самостоятельной работы.
- Самостоятельная работа.
№ Наименование работы Число часов Формы контроля
1 Проработка лекционного материала 27 экзамен
2 Выполнение практических заданий 10 опрос
3 Подготовка к лабораторным занятиям 10 отчет
4 Выполнение курсовой работы 30 защита
Всего часов самостоятельной работы 77 |
3. УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ
3.1. Основная литература.
- Сафьянова Е.Н. Основы алгоритмизации и программирование: Учебное пособие – Томск: Томский межвузовский центр дистанционного образования, 2000. -111с.
- В.В.Фаронов. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. – М: «Нолидж», 1999.
- А. Епанешников, В. Епанешников. Программирование в среде Turbo Pascal 7.0. – ДИАЛОГ - МИФИ , 1993.
- Немнюгин С. Turbo Pascal. Учебник. - СПб.: Питер, 2001.-496с.
3.2. Дополнительная литература
- Йодан Э. Структурное проектирование и конструирование программ. – М.: Мир, 1989.
- Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. – М.: Наука, 1988.
- Вирт Н. Алгоритмы + структуры = программы. – М.: Мир, 1985.
- Грогоно П. Программирование на языке Паскаль. – М.: Наука, 1982.
- Перминов О.Н. Язык программирования Паскаль. Справочник. – М.: Радио и связь, 1989.
- Грызлов В.И., Грызлова Е.П. Турбо Паскаль 7.0. – М.: ДМК, 1998.
- Керниган Б., Ритчи Д. Язык программирования Си. – М.: Финансы и статистика, 1985.
- Уэйт М., Прата С., Мартин Д. Язык Си. – М.: Мир, 1988.
- Уинер Д. Язык Турбо Си. – М.: Мир, 1991.
- Болски М.И. Язык программирования Си. Справочник. – М.: Радио и связь, 1988.
- Офицеров Д.В. и др. Программирование на персональных ЭВМ. – М.: Высш.шк., 1993.
- Фигурнов В.Э. IBM PC для пользователя. Изд. 6-е, перераб. и доп. – М.: ИНФРА - М, 1996.
- А.И. Касаткин, А.Н.Вальвачев. Профессиональное программирование на языке Си: От Turbo C к Borland C++. – Минск, Вышейшая школа,1992.
- В.В.Фаронов. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. – М: «Нолидж», 1999.
- Вирт Н. Систематическое программирование: Введение. – М.: Мир, 1977.
- Лингер Р., Миллес Х., Уитт Б. Теория и практика структурного программирования. – М.: Мир, 1982.
- Дейкстра Э. Структурное программирование. – М.: Мир, 1975.
- Дейкстра Э. Дисциплина программирования. – М., Мир, 1978.
- Йенсен К., Вирт Н., Паскаль. Руководство для пользователя и описание языка. – М.: Финансы и статистика, 1982.
- Кнут Д. Искусство программирования для ЭВМ. В 3-х т.т. – М.: Мир, 1976.
- Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на ЭВМ. – М.: Наука, 1986.
- Белецкий Я. Энциклопедия языка Си. – М.: Мир, 1992.
- Костюк Ю.Л. Основы алгоритмизации. – Томск: Изд-во Том. ун-та, 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 баллов соответствует оценка «отлично».
Система оценивания курсовой работы:
- Выбор темы курсовой работы (сложность, творческие моменты) – до 20 баллов.
- Первая контрольная точка – собеседование (анализ задачи, алгоритм ее решения, элементы программы) – до 30 баллов.
- Вторая контрольная точка – собеседование (представление законченной программы) – до 30 баллов.
- Содержание пояснительной записки – до 20 баллов.
- Оформление пояснительной записки – до 10 баллов.
- Защита курсовой работы – до 10 баллов.
При невыполнении курсовой работы в установленный срок (до начала экзаменационной сессии) выставляется оценка на один балл ниже, чем по полученному рейтингу и рейтинг обнуляется.