НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ЭЛЕКТРОМЕХАНИЧЕСКИЙ ФАКУЛЬТЕТ
КАФЕДРА ЭЛЕКТРОМЕХАНИЧЕСКИХ СИСТЕМ
“УТВЕРЖДАЮ”
Декан
электромеханического факультета
“___ ”______________2006 г.
РАБОЧАЯ ПРОГРАММА учебной дисциплины
ПРОГРАММИРОВАНИЕ И ОСНОВЫ АЛГОРИТМИЗАЦИИ
ООП 220301 «Автоматизация технологических процессов и производств в нефтяной и газовой промышленности»
Факультет электромеханический
Курс 2, семестр 3
Лекции 34 часа
Лабораторные работы 34 часа
Расчётно-графическое задание 3 семестр
Самостоятельная работа 52 часа
Экзамен в 3 семестре
Всего по учебному плану 120 часов
Новосибирск
2006
Рабочая программа составлена на основании Государственного образовательного стандарта высшего профессионального образования по направлению (специальности) 220301 Автоматизация технологических процессов и производств в нефтяной и газовой промышленности - инженерная подготовка.
Рег. № 000 – тех ДС, утв. 28.02.2001 г.
ОПД. Ф.08 – федеральный
Рабочая программа обсуждена на заседании кафедры «Электротехнические комплексы», протокол № от « 23 » февраля 2006г.
Программу разработал
профессор кафедры «Электротехнические комплексы»,
к. т.н., доцент
Заведующий кафедрой «Электротехнические комплексы»,
доктор техн. наук, профессор
Ответственный за основную
профессор кафедры «Электротехнические комплексы»
к. т.н., доцент
Внешние требования
ОПД. Ф.08 | Программирование и основы алгоритмизации: основные виды, этапы проектирования и жизненный цикл программных продуктов; синтаксис и семантика алгоритмического языка программирования; структурное и модульное программирование; типизация и структуризация программных данных; статические и динамические данные; сложные структуры данных (списки, деревья, сети); потоки ввода-вывода; файлы; проектирование программных алгоритмов (основные принципы и подходы); классы алгоритмов; методы частных целей, подъемы ветвей и границ, эвристика; рекурсия и итерация; сортировка и поиск; методы и средства объектно-ориентированного программирования; стандарты на разработку прикладных программных средств; документирование, сопровождение и эксплуатация программных средств. | 120 |
2. Особенности (принципы) построения дисциплины
Программа курса соответствует требованиям ГОС по направлению 220301 «Автоматизация технологических процессов и производств в нефтяной и газовой промышленности».
Курс имеет прикладную направленность. Знания и умения студентами приобретаются при изучении курса и решении задач непосредственно связанных с технологией процессов и функционированием производств в нефтяной и газовой промышленности».
Структурирование курса основано на делении на модули, содержащие темы отдельных лекций.
Оценка деятельности студентов ведётся по рейтинговой системе.
Методическая обеспеченность курса включает рабочую программу, методические указания к лабораторному циклу, задания и образцы выполнения расчётно-графической работы, положение о рейтинговой оценке деятельности студентов, пакеты прикладных программ для решения отдельных задач и освоения технологии объектно-ориентированного программирования, перечень литературы.
3. Цели учебной дисциплины
.Курс «Программирование и основы алгоритмизации» является базовой дисциплиной общей профессиональной подготовки бакалавров в университете для вышеуказанного направления обучения.
Предметом изучения дисциплины являются теоретические и практические основы современных технологий программирования на языке высокого уровня, методов построения алгоритмов и структур данных, используемых при решении прикладных задач в области автоматизации устройств и технологий нефте газовой промышленности..
Целью преподавания дисциплины является приобретение студентами знаний и навыков в области разработки прикладных программ, технических средств обработки информации, системного применения средств информационной технологии для решения прикладных инженерных задач.
Задачами изучения дисциплины являются овладение основами теории алгоритмов, получение знаний о принципах программирования на языках высокого уровня, о современных системах программирования и тенденциях их развития, о программном обеспечении, овладение навыками решения инженерных задач с помощью прикладных программ, а также навыками алгоритмизации и написания программ для решения задач предметной области.
В результаты изучения дисциплины студенты должны
знать:
- базовые понятия теории алгоритмов; технологию разработки профессиональных программ (алгоритмизацию); Один – два рабочих языка объектно-ориентированного программирования; основные виды программного обеспечения современных ЭВМ для объектно-ориентированного программирования; методику объектно-ориентированного анализа и проектирования.
уметь:
- пользоваться современными аппаратными средствами; согласованно решать задачи разработки эффективных моделей данных и алгоритмов их обработки при создании прикладного программного обеспечения, а также получать программные реализации на языках высокого уровня; Работать с инструментальной системой программирования Microsoft Visual ;
иметь опыт:
- разработки алгоритмов и программ решения прикладных задач на языке высокого уровня в среде объектно-ориентированного программирования.
иметь представление:
- о тенденциях и направлениях развития современных технологий программирования и обработки данных.
4. Содержание и структура учебной дисциплины
4.1. Виды учебной работы
Вид учебной работы | Объем работ студента (час.) | Семестры | ||
ГОС – 200 | I | II | III | IV |
1 | 2 | 3 | ||
Общая трудоемкость дисциплины | 200 | 200 | ||
Аудиторные занятия | 68 | 68 | ||
Лекции | 34 | 34 | ||
Практические занятия (ПЗ) | – | – | ||
Семинары (С) | – | – | ||
Лабораторные работы (ЛР) | 34 | 34 | ||
Другие виды аудиторных занятий | – | – | ||
Самостоятельная работа: | 52 | 52 | ||
Курсовой проект (работа) | – | – | ||
Расчетно-графические работы | 1 | 1 | ||
Реферат | – | – | ||
Другие виды самостоятельной работы | – | – | ||
Вид итогового контроля: | ||||
Зачет | – | – | ||
Экзамен | 1 экзамен | экз |
4.2. Содержание модулей дисциплины и виды занятий (отред. по уп и прогр. с.з. универ.)
№ п/п | Названия разделов (модулей) | Предусматриваемые виды занятий | ||
Лекции | ЛР | С Р | ||
1 | 2 | 3 | 4 | 5 |
1 | Порядок решения инженерной задачи с помощью ЭВМ. Математическая модель. Методы решения задач. Спецификация алгоритма. | 4 | 4 | 2 |
2 | Структуры алгоритмов. Способы описания алгоритмов. Структурный подход к разработке алгоритмов. Алгоритмы численных методов. Алгоритмизация простейших задач. | 4 | 6 | 6 |
3 | Языки программирования, их свойства | 4 | 2 | 4 |
4. | Основы алгоритмизации и программирования задач на языке высокого уровня. Понятие файла; | 4 | 4 | 4 |
5 | Статические и динамические данные; сложные структуры данных (списки, деревья, сети); потоки ввода-вывода; | 4 | 4 | 6 |
6. | Основные принципы и подходы проектирования структурированных алгоритмов | 2 | 4 | 6 |
7 | Методы и средства объектно-ориентированного программирования; | 4 | 4 | 4 |
8 | Рекурсия и итерация; сортировка и поиск. | 4 | 4 | 4 |
9 | Стандарты на разработку прикладных программных средств. Документирование, сопровождение и эксплуатация программных средств. | 2 |
4.3. Лекции
№ п/п | Названия лекций и их краткое содержание | Количество часов |
1. | Постановка задачи. Математическая формулировка задачи. Математическая модель. | 2 |
2. | Методы решения задачи: графические, аналитические, численные. Оценка результатов постановки задачи, создания математической модели и выбор метода решения. Понятие погрешности, источники погрешности. Действия над приближенными числами. Погрешность вычислений. Способы уменьшения погрешностей. | 2 |
3 | Алгоритмы. Понятие алгоритма, его свойства. Способы описания алгоритмов. Структуры алгоритмов. Стандартные приемы алгоритмизации. | 2 |
4. | Структурный подход к разработке алгоритмов. Краткая характеристика основных структур. Свойства алгоритмов. Пошаговый метод разработки алгоритма. Основы метода. Пример пошаговой разработки алгоритма и программы. Отладка и тестирование программы. | 2 |
5 | Языки программирования: автокоды, ассемблеры, машинно-независимые языки (ЯВУ). Процедурно - и проблемно-ориентированные системы программирования. Общие свойства ЯВУ: алфавит, синтаксис, семантика. Операторы, идентификаторы, процедуры. Ввод-вывод. | 2 |
6 | Типы данных. Константы и переменные. Область видимости и время жизни переменных. Арифметические и логические операции и выражения. Стандартные функции. | 2 |
7 | . Операторы языка: операторы присваивания, управления, ввода и вывода информации, процедуры. Условный оператор. | 2 |
8 | Операторы для организации цикла. Оператор цикла с предусловием. Оператор цикла с постусловием. Оператор цикла с параметром. Вложенные циклы. Операторы завершения и продолжения цикла. Оператор безусловного перехода. | 2 |
9 | Массивы. Понятие массива. Описание массива. Многомерные массивы. Ввод и вывод одномерных и двумерных массивов. Примеры работы с массивами. | 2 |
10 | Статические и динамические типы данных. Механизмы выделения, перераспределения и очистки динамической памяти. Функции, поддерживающие основные операции с динамической памятью. Динамические структуры данных. Линейные списки, стеки, очереди, бинарные деревья. | 2 |
11 | Основные концепции объектно-ориентированного программирования. История и современные тенденции объектно-ориентированного подхода в программирования. Специфика проектирования прикладного программного обеспечения с использованием объектных модулей. Метод частных целей. Метод подъёма. Программирование с отходом назад. Алгоритмы ветвей и границ. | 2 |
12 | Введение в Visual Basic, версии Visual Basic, системные и технические требования. | 2 |
13 | Основы Visual Basic: как работает Windows: окна, события и сообщения, событийная модель, интерактивная разработка, интегрированная среда разработки. | 2 |
14 | Запуск Visual Basic IDE, элементы IDE: строка меню, контекстное меню, панели инструментов, панель элементов управления (Toolbox). | 2 |
15 | Технология создания приложения на Visual Basic. | 2 |
16 | Пример использования базы данных. | 2 |
17 | Стандарты на разработку прикладных программных средств; документирование, сопровождение и эксплуатация программных средств. | 2 |
4.4. Лабораторный практикум
№ п/п | Названия разделов | Наименование лабораторных работ | Количество часов |
1 | Алгоритмизация простейших задач | Основы работы в интегрированной среде программирования Quick-Basic Выполнение этапов вычислительного эксперимента для готовой программы. Работа с отладчиком. Программирование простейших задач с использованием линейных структур | 2 |
2 | Структуры алгоритмов | Программирование простейших задач с использованием структур ветвления. Оператор IF. | 2 |
3 | Структуры алгоритмов | Программирование задач с использованием циклов ДО и ПОКА, связанных с обработкой одномерных массивов. Вложенные циклы. | 2 |
4 | Структуры алгоритмов | Контрольная работа №1 | 2 |
5 | Основы программирования | Программирование задач, связанных с использованием функций и процедур. Работа с внешними файлами. | 2 |
6 | Алгоритмизация и программирование | Программирование задач, связанных с использованием двумерных массивов. Работа с внешними файлами. | 2 |
7 | .Алгоритмизация и программирование | Программирование задач с использованием нескольких программных модулей. Основные способы передачи данных между модулями | 2 |
8 | . Алгоритмизация и программирование | Контрольная работа №2 | 2 |
8 | Элементы объектно-ориентированного программирования | Реализация алгоритмов линейных, разветвляющихся, циклических и итерационных структур на языке Visual Basic | 4 |
9 | Строковые данные. Подпрограммы-функции на языке Visual Basic. | 2 | |
10 | Строковые массивы. Подпрограммы-процедуры на языке Visual Basic | 4 | |
11 | Ввод/вывод в файлы на языке Visual Basic | 2 | |
12 | Функции комплексного переменного и матрицы в VBA | 2 | |
13 | Контрольная работа №3 | 2 | |
14 | Итоговое занятие | 2 |
5. Учебная деятельность
Варианты заданий на РГР и образцы выполнения приведены в приложении к программе и в учебном пособии.
6. Правила аттестации студентов по учебной дисциплине
6.1. Общие требования по изучению дисциплины
В ходе изучения дисциплины студент должен вести:
- запись лекций и краткий конспект материалов из изученных литературных и Интернет - источников;
- рабочую тетрадь по лабораторным занятиям с записью задач, алгоритмов и методов их решений, других материалов, использованных при подготовке к занятиям;
- отчёты по лабораторным работам.
Формы отчётов по лабораторным работам должна соответствовать методическим указаниям.
Защита каждой лабораторной работы осуществляется перед выполнением последующей. При отсутствии защиты двух предыдущих работ студент к выполнению следующей не допускается. Пропущенные лабораторные работы отрабатываются в конце семестра в дополнительное время.
Расчётно-графическая работа оформляется в соответствии с методическими указаниями. Задание на РГР выдаётся не позднее 4-ой недели семестра, защита осуществляется на 15-17 неделе.
Указанная выше документация предоставляется по требованию преподавателя при рейтинговой оценке и зачёте. Текущая документация предъявляется студентом на итоговый экзамен.
6.2. Система рейтинговых оценок
Для стимулирования и систематизации учебной деятельности студентов устанавливается система рейтинговых оценок.
Учебная деятельность | Срок сдачи, защиты | Минимальный балл | Максимальный балл | Комментарий |
1. Контрольная работа №1 | 4 неделя | 8 | 15 | |
2. Контрольная работа №2 | 8 неделя | 8 | 15 | |
3. Контрольная работа №3 | 12 неделя | 8 | 15 | |
4. Изучение теоретического материала с проверкой по тестам (контрольным вопросам) | В течение семестра. Перед экзаменом | 25 | 30 | |
Учебная деятельность | Срок сдачи, защиты | Минимальный балл | Максимальный балл | Комментарий |
5. РГР | 16 неделя После 17 недели | 40 15 | 50 20 | |
6. Участие в УИРС, доклады на конференциях, участие в написании статей с преподавателями кафедры, получение гранта, именной стипендии | В течение семестра. Перед экзаменом | 35 | 50 |
При условии выполнения всех видов учебных занятий по суммарным баллам выставляются оценки: 60…70 – удовлетворительно, 75…85 – хорошо, более 85 – отлично. Студенты группы ранжируются по числу набранных баллов. В случае получения не менее 70 баллов студент допускается к итоговому экзамену.
7. Список литературы 9отред!0
основная литература:
Visual Basic 6.0: пер. с англ. - СПб.: БХВ - Санкт-Петербург, 1999. - 992 с. Маркус Линке Visual Basic 5. Справочник: Пер. с нем. - М.: ЗАО "Издательство БИНОМ", 1998. - 512 с. Росс Нельсон. Running Visual Basic 3 for Windows/Пер. с англ. - М.: Издательской отдел "Русская редакция" ТОО "Channel Trading Ltd.", 1995 - 384 c. Толковый словарь по вычислительной технике/Пер. с англ. - М.: Издательский отдел "Русская редакция" ТОО "Channel Trading Ltd.", 1995 . -496 с. Система Help Visual Basic 6.0. Электронный вариант в компьютере.
7.2. Дополнительная литература.
IBM PC для пользователя. Изд. 8-е – М.:ИНФРА-М, 1998. – 680 c. , Ржеуцкая на языке Pascal. – СПб.: БХВ-Петербург, 2004. – 480 с. , , Шамаева в среде Turbo Pascal. – М.: Изд-во “Станкин”, 1996.
4. , Шамаева средства обработки данных. Учебное пособие для вузов. – М.:СТАНКИН, 1999. – 317 с.
5. Глобальная компьютерная сеть интернет. Поисковая система Jandexc.
8. Контролирующие материалы
8.1. Контрольные вопросы
Стандартное (ГОСТ 19.781-74) определение понятия алгоритма. Свойства алгоритма. Способы описания алгоритмов и их характеристики. . Описание основных управляющих конструкций (структур). В чем основное отличие операционной системы Windows от большинства ранее существовавших? Опишите историю возникновения и развития языка Basic. Назовите область применения языка Visual Basic (VB). В каких версиях существует Visual Basic 6.0 и каковы их особенности? Опишите системные и технические требования, которые необходимо соблюсти для правильной работы системы Visual Basic и Visual Basic-приложений Что в операционной системе Windows понимается под окном, событием? Какую основную цель преследовали разработчики Visual Basic? Назовите наиболее перспективные языки программирования; приведите статистические данные, подтверждающие их популярность. Средства языка VB, используемые для реализации структур выбора (ветвления). Средства языка VB, используемые для реализации циклических структур. Вложенные циклы и средства досрочного выхода из цикла. Алгоритмизация вычисления сумм с известным числом слагаемых Алгоритм вычисления асимптотического значения сходящегося ряда чисел. Алгоритм вычисления суммы членов бесконечного ряда. Алгоритмы сортировки.23. Дайте сравнение процедурного и событийного программирования.
24. Опишите понятие "интерактивная разработка"? Опишите ее проявления в среде программирования Visual Basic? В чем ее преимущества?
Что понимается под компиляцией, трансляцией, тестированием?26. Что понимается под интегрированной средой обработки?
27. Как в VB начать создание нового проекта? Опишите порядок сохранения файла.
Элементы IDE.
Что такое контекстное меню? Как оно получается? В чем его преимущество? Для чего предназначено основное меню? В чем его преимущества и недостатки? Что такое панели инструментов? Их назначение, преимущества и недостатки. Подключение, отключение, перемещение панелей инструментов. Панель элементов управления: назначение, способы изменения содержимого. Окно проекта: состав, что такое проект? Окно свойств: Назначение м состав. Окно обзора объектов: порядок вызова, назначение, использование. Дизайнер формы: внешний вид, назначение. Редактор кода: назначение, связь с формами. Окно компоновки формы: местоположение, назначение. Перечислите основные шаги, выполняемые программистом при создании приложения на VB. Опишите порядок помещения элемента управления на форму. Опишите способы изменения его размеров, перемещения закрепления и удаления. Опишите содержимое окна Properties, а также порядок изменения свойств формы и элементов управления. Опишите порядок ввода кодов процедур обработки событий (команды описывать не надо). Как заставить VB высвечивать коды всех процедур и код только одной нужной процедуры? Где можно увидеть список имеющихся в приложении процедур? Опишите способы запуска приложения. Опишите порядок добавления нужных элементов управления в панель элементов управления.ВОПРОСЫ РАСШИРИТЬ НА ВСЕ РАЗДЕЛЫ


