Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Сибирская Государственная Геодезическая Академия»
(ФГБОУ ВПО «СГГА»)
УТВЕРЖДАЮ
Проректор по УР
___________
“ ” 2011 г.
ПРОГРАММА ДИСЦИПЛИНЫ
ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ
Для подготовки дипломированных специалистов
по направлению 230201 – Информационные системы и технологии
Новосибирск 2011
1. Цели и задачи дисциплины
Цель дисциплины «Технология программирования» – изучение теоретических основ современных технологий программирования и получение практических навыков их реализации.
Задачи дисциплины «Технология программирования»:
– формирование систематизированного представления о концепциях, моделях и принципах организации, положенных в основу "классических" технологий программирования и современных семейств технологий;
– получение практической подготовки в области выбора и применения технологии программирования для задач автоматизации обработки информации и управления;
– выработка оценки современного состояния и перспективных направлений развития технологий программирования.
2. Требование к уровню освоения содержания дисциплины
Изучившие дисциплину «Информатика» студенты
должны иметь представление:
– о выборе технологии программирования и инструментальных программных средств высокого уровня для задач геодезического направления;
– о выборе архитектуры и комплексирования аппаратных средств информационных систем;
должны знать:
– области применения технологий проектирования и разработки программных продуктов;
– важнейшие этапы и приёмы реализации технологий;
должны уметь: использовать
– современные инструментальные средства проектирования программного продукта;
– приемы реализации фаз жизненного цикла программного продукта;
должны иметь навыки:
– проектирования и разработки программного продукта на основе современной технологии программирования;
– тестирования, отладки и документирования программ.
3. Объем дисциплины и виды учебной работы\
Виды учебной работы | Всего часов | Семестры |
3 | ||
Общая трудоемкость дисциплины | 102 | 102 |
Аудиторные занятия | 54 | 54 |
Лекции | 18 | 18 |
Лабораторные работы (ЛР) | 36 | 36 |
Самостоятельные работы | 48 | 48 |
Вид итогового контроля (зачет, экзамен) | зачет |
4. Содержание дисциплины
4.1. Разделы дисциплины и виды занятий
№ п/п | Раздел дисциплины | Лекции | ЛР |
1 | Основные этапы решения задач на ЭВМ | 0,5 | 0,5 |
2 | Критерии качества программы | 0,5 | 0,5 |
3 | Диалоговые программы | 1 | 2 |
4 | Дружественность, жизненный цикл программы | 1 | 1 |
5 | Постановка задачи и спецификация программы | 1 | 1 |
6 | Способы записи алгоритма | 1 | 1 |
7 | Программа на языке высокого уровня | 1 | 4 |
8 | Стандартные типы данных | 1 | 0,5 |
9 | Представление основных структур программирования: итерация, ветвление, повторение | 0,5 | 0,5 |
10 | Процедуры | 1 | 2 |
11 | Типы данных, определяемые пользователем | 0,5 | 1 |
12 | Записи | 1 | 2 |
13 | Файлы | 1 | 2 |
14 | Динамические структуры данных | 1 | 1 |
15 | Списки: основные виды и способы реализации | 1 | 2 |
16 | Программирование рекурсивных алгоритмов | 1 | 2 |
17 | Способы конструирования программ | 1 | 4 |
18 | Модульные программы | 1 | 4 |
19 | Основы доказательства правильности | 1 | |
20 | Методы, технология и инструментальные средства | 1 | 5 |
4.2. Содержание разделов дисциплины
1. Основные этапы решения задач на ЭВМ
Технология создания отдельной программы. Постановка задачи. Проектирование тестов. Формирование алгоритма. Тестирование алгоритма. Перевод алгоритма на язык программирования. Тестирование программы. Отладка программы.
2. Критерии качества программы
Выбор языка. Стандарты языков программирования. Выбор метода ввода-вывода. Взаимодействие человек-ЭВМ. Структурное программирование и предотвращение ошибок. Экономия ресурсов.
3. Диалоговые программы
Создание коммерческого приложения в виде Windows-окна (с использованием визуальной среды). Создание предварительного проекта приложения. Усовершенствование проекта приложения. Тестирование коммерческого приложения.
4. Дружественность, жизненный цикл программы
Эвристическое программирование. Большие объемы данных. Большие программы. Программы с большим временем прогона. Программы, работающие в реальном масштабе времени. Длительный и короткий жизненный цикл программы. Программы, разработанные другими. Работа в группе. Стандартизация жизненного цикла программного средства в системе государственных стандартов и стандартов ISO.
5. Постановка задачи и спецификация программы
Подход к решению задачи. Пользование литературой. Документирование программ. Документирование на фазах жизненного цикла по требованиям ЕСПД и стандартов ISO. Оценка качества программного продукта и меры по обеспечению качества в соответствии с положениями ГОСТ Р и стандартами ISO.
6. Способы записи алгоритма
Разработка алгоритмов. Текстуальное, графическое представление алгоритмов.
7. Программа на языке высокого уровня
Классификация RAD-средств. Основные свойства ООП. Визуальное программирование (ВП). Основные достоинства и недостатки Delphi, C++Builder, Visual C, Visual Basic. Структура приложения в ВП. Компоненты. Разработка приложений в ВП.
8. Стандартные типы данных
Простые типы данных. Константы. Объявление строчных типов и строчных переменных. Массивы. Множества.
9. Представление основных структур программирования: итерация, ветвление, повторение
Безусловные конструкции. Условные конструкции. Циклические конструкции.
10. Процедуры
Подключение к программе стандартных процедур (функций). Параметры процедур (функций). Общая структура процедур (функций). Взаимодействие основной программы с функциями. Особенности использования функций. Методы покрытия операторов, покрытия условий, классов эквивалентности, граничных условий, функциональных диаграмм.
11. Типы данных, определяемые пользователем
Понятие класса. Отличие класса от интегральных типов. Статические и автоматические переменные. Конструктор и деструктор.
12. Записи
Отличие массива от записи. Размещение в памяти. Массивы записей.
13. Файлы
Понятие файла. Стандартные средства обработки файлов.
14. Динамические структуры данных
Ссылки. Подставляемые функции. Операторы динамического распределения памяти. Перегрузка имен функций. Перегрузка операторов.
15. Списки: основные виды и способы реализации
Понятие списка. Связный список. Коды структуры списка. Проектирование и реализация операций. Понятие стека.
16. Программирование рекурсивных алгоритмов
Определение рекурсии и примеры использования. Поддержка рекурсивных вызовов. Решение задач с помощью рекурсии. Рекурсивные операции со стеком. Рекурсивно определяемый абстрактный тип данных.
17. Способы конструирования программ
Идея структурного программирования, функционального программирования, модульного программирования, объектно-ориентированного программирования.
18. Модульные программы
Создание модуля на основе объектно-ориентированного программирования и визуального программирования.
19. Основы доказательства правильности
Предотвращение ошибок. Тестирование и отладка: определение, принципы тестирования. Виды тестирования: стохастическое, детерминированное, статическое, в реальном масштабе времени. Стратегии структурного и функционального тестирования. .: Понятие и этапы отладки. Основные источники погрешностей. Погрешности, связанные с системой счисления. Погрешности метода. Чувствительность задач.
20. Методы, технология и инструментальные средства
Понятие технологии, методологии, стиля программирования. Модели "жизненного цикла" программного обеспечения: каскадная, поэтапная или итерационная с промежуточным контролем, спиральная; тенденция одновременной реализации всех фаз ЖЦ.
Виды структурных методологий анализа и проектирования программного обеспечения Особенности методологий анализа и проектирования, определяемые типом целевых систем - систем реального времени (СРВ) и информационных систем (ИС).
Программы, управляемые внутренней логикой реализации алгоритма и управляемые событиями. Особенности технологии быстрой разработки приложений RAD и быстрого итеративного прототипирования RIPP.
4.3. Лабораторные работы
№ п/п | № раздела дисциплины | Наименование лабораторных работ |
1 | 1-9, 11, 14 | Постановка задачи, выбор метода решения, разработка алгоритма. Реализация алгоритмов и структур данных в среде разработки |
2 | 10, 12, 13, 15-20 | Применение RAD-средств при проектировании программных комплексов |
5. Учебно-методическое обеспечение дисциплины
Рекомендуемая литература
а) основная литература:
1. Хорев, объектно-ориентированного программирования [Текст] : учеб. пособие для вузов / . - М. : Академия, 2004. – 448 с.
2. Вирт, Н. Алгоритмы и структуры данных. Новая версия для Оберона [Электронный ресурс] / Н. Вирт. – "ДМК Пресс", ISBN -584-6I: 2010. : Режим доступа: e. . – Загл. с экрана.
3. Гамма, Э. Приемы объектно ориентированного проектирования. Паттерны проектирования [Электронный ресурс] / Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес. – "ДМК Пресс", ISBN : Режим доступа: e. . – Загл. с экрана.
б) дополнительная литература:
1. Истомин методы информатики и программирования [Текст] : учебник для вузов (рек.) / , , 20с.
2. СГГА, , сост. Технология программирования. Проектирование и тестирование программ. [Текст] : Учеб. пособие (Утв.) / , 20с.
3. Орлов разработки программного обеспечения. Разработка сложных программных систем [Текст] : учебник для вузов (Рек.) / , 20с.
4. Сырецкий, . Фундаментальный курс. Том II. Информационные технологии и системы [Электронный ресурс] / Г. А. Cырецкий. – СПб.: БХВ-Петербург, 2007. : Режим доступа: lib. *****. – Загл. с экрана.
6. Материально-техническое обеспечение дисциплины
Компьютерный класс для выполнения лабораторных работ с необходимым программным обеспечением. Персональные компьютеры класса РС, Pentium.
Аудитория с наличием мультимедийного проектора, ноутбука или компьютера и акустической системой (микрофоном).
Программа составлена в соответствии с Государственным образовательным стандартом высшего профессионального образования по направлению подготовки дипломированного специалиста 230201 – информационные системы, утвержденным Минобразованием России 17.03.2000 г.
Программу составил – доцент, Сибирская государственная геодезическая академия (СГГА).
Заведующий кафедрой прикладной информатики //
Заведующий кафедрой _инженерной геодезии и геоинформационных систем__
/В. А. Скрипников/
Программа утверждена на Совете ИГиМ
« 23 » 09 2011 г. Протокол № 1
Директор ИГиМ //


