Рабочая программа по дисциплине «Технологии программирования» Индекс дисциплины по учебному плану icon

Рабочая программа по дисциплине «Технологии программирования» Индекс дисциплины по учебному плану


Смотрите также:
Программа дисциплины сд...
Рабочая программа учебно-ознакомительной практики по дисциплине «Информатика» Индекс дисциплины...
Рабочая программа по дисциплине (шифр дисциплины по учебному плану)...
Программа дисциплин ы «мультимедиа технологии» Индекс дисциплины по учебному плану опд. Ф. 11...
Рабочая программа социальная антропология наименование дисциплины по учебному плану Код...
Рабочая программа демография региона наименование дисциплины по учебному плану Код дисциплины по...
Рабочая программа дисциплины «офисное программирование» Индекс дисциплины по учебному плану...
Программа дисциплин ы «корпоративные информационные системы» Индекс дисциплины по учебному плану...
Рабочая программа культура региона наименование дисциплины по учебному плану Код дисциплины по...
Рабочая программа дисциплина Информационные технологии управления (наименование дисциплины...
Программа дисциплины «Информационные системы и технологии в изобретательской деятельности и...
Рабочая программа учебной дисциплины (модуля) Технологии параллельного программирования...



Загрузка...
скачать
Министерство образования и науки Российской Федерации

Самарский государственный архитектурно-строительный университет

Факультет информационных систем и технологий


Утверждаю

Декан факультета ИСТ




_____________ (Пиявский С.А.)



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



по дисциплине «Технологии программирования»


Индекс дисциплины по учебному плану «СД.Ф.6»

Направление 230200 – «Информационные системы»

Специальность 230201- «Информационные системы и технологии»

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


Всего часов на дисциплину - 102

в том числе

Лекции ^ 34 (часов)

Лабораторные занятия: 34 (часов)

Самостоятельная работа: 34 (часов)

Форма итогового контроля - Экзамен

Курс обучения - 3

Семестр обучения - 5


Разработана: доц. каф. ПМ и ВТ

к.э.н. __________________________ (Т. Сакова )


Рассмотрена и одобрена на заседании кафедры ПМ и ВТ

от “ ” ____________2009 г., протокол № ______________

Зав. кафедрой ПМ и ВТ __________________________(С. Пиявский)


Рассмотрена и одобрена на заседании методической комиссии

по спец. № 230201

от “ ” ____________2009 г., протокол № _______________

Председатель методической комиссии _________________________(С.Пиявский)


Самара 2009 г.



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

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

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

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

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

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

  1. Место курса в образовательной программе.

В 5-м семестре после завершения курса информатики, часть материалов которой используются в данном курсе.


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


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

  • стандартные и пользовательские типы данных и методы их обработки;

  • принципы структурного и модульного программирования;

  • принципы разработки сложных программных систем, в том числе правила разработки интерфейса;

  • принципы тестирования программных систем;

  • основные понятия объектно-ориентированного программирования.

Студенты должны уметь:

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

  • строить формальную модель системы (подсистемы) по ее описанию в терминах предметной области;

  • разработать структуры информационных объектов, функционирующих в программной системе, и соответствующие им структуры данных (в том числе абстрактные);

  • разработать алгоритм и реализовать программу, выбрав наиболее подходящий метод и язык программирования;

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

  • выполнить тестирование и отладку программной системы с целью устранения синтаксических и семантических ошибок с целью повышения надежности программного обеспечения.



Навыки:

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


4. Содержание дисциплины.


    1. Содержание разделов дисциплины


1.Основные этапы решения задач на ЭВМ; критерии качества программы

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


^ 2. Диалоговые программы; дружественность, жизненный цикл программы

Предпосылки создания ПП. Требования к ПП. Жизненный цикл (ЖЦ) ПС.


3. Постановка задачи и спецификация программы; способы записи алгоритма.

Цели создания ПП. Внешняя спецификация ПП. Построение и описание алгоритмов. Теорема о структурировании.


^ 4. Стандартные типы данных; представление основных структур программирования.

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

Стандартные и задаваемые пользователем типы данных. Массивы, строки, комбинированный тип (записи), множества, файлы, указатели, списки, деревья. Рекурсивные алгоритмы, поиск, сортировка.


^ 5. Способы конструирования программ; модульные программы; основы доказательства правильности.

Структурное программирование. Нисходящее, восходящее проектирование. Внешние спецификации модулей. Внутреннее проектирование модулей (структурное кодирование). Прочность и независимость модулей. Монолитная и пошаговая сборка “снизу вверх”, “сверху вниз”. Драйверы и заглушки.


^ 6. Процесс производства программных продуктов; основные подходы: процедурное, логическое, функциональное программирование.

Области применения, основные характеристики:

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

- систем искусственного интеллекта и языков логического программирования;

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

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

Общие принципы объектно-ориентированного анализа и проектирования сложных систем. Типовая и структурная иерархия. Алгоритмическая и объектно-ориентированная декомпозиция.

Унифицированный язык моделирования UML. Основы применения в процессе разработки и документирования.

Понятие о визуальном программировании. Объектно-ориентированные технологии OLE, ActiveX, COM.


^ 7. Методы, технология и инструментальные средства

Понятие технологии, методологии, стиля программирования. Модели "жизненного цикла" программного обеспечения: каскадная, поэтапная или итерационная с промежуточным контролем, спиральная; тенденция одновременной реализации всех фаз ЖЦ.

Виды структурных методологий анализа и проектирования программного обеспечения Особенности методологий анализа и проектирования, определяемые типом целевых систем - систем реального времени (СРВ) и информационных систем (ИС).

Программы, управляемые внутренней логикой реализации алгоритма и управляемые событиями. Особенности технологии быстрой разработки приложений RAD и быстрого итеративного прототипирования RIPP.


^ 8. Тестирование и отладка.

Понятие и этапы отладки. Определение, принципы тестирования. Виды тестирования: стохастическое, детерминированное, статическое, в реальном масштабе времени. Стратегии структурного и функционального тестирования. Методы покрытия операторов, покрытия условий, классов эквивалентности, граничных условий, функциональных диаграмм.


^ 9. Документирование и стандартизация.

Стандартизация жизненного цикла программного средства в системе государственных стандартов и стандартов ISO. Документирование на фазах жизненного цикла по требованиям ЕСПД и стандартов ISO. Оценка качества программного продукта и меры по обеспечению качества в соответствии с положениями ГОСТ Р и стандартами ISO.


^ 10. Автоматизация проектирования и технология использования САПР программного обеспечения.

Понятие о CASE-средствах как инструменте проектирования ПО для реализации методологии и автоматизации разработки ПО. Автоматическое документирование ПО и автоматическая кодогенерация. Анализ требований и проектирование спецификаций. Структурный подход к проектированию ИС: моделирование потоков данных, методология функционального моделирования, моделирование данных. Программные средства поддержки ЖЦ. Общая характеристика и классификация CASE-средств. Технология внедрения CASE-средств.


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


Вид занятий

Всего часов

Семестры №

5




Общая трудоемкость










Аудиторные занятия:










- лекции

34

34




- практические занятия (ПЗ)










- семинары (С)










- лабораторные работы

34

34




- и (или) другие виды аудиторных занятий










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










- курсовой проект (работа)










- расчетно-графические работы










- реферат










Вид итогового контроля

экзамен

экзамен





4.3. Содержание занятий

5 семестр
^

4.3.1. Лекционные занятия




Наименование темы, их содержание

Часы

1

Введение. Основные понятия и определения курса. Основные этапы решения задач на ЭВМ. Постановка задачи – первый этап решения задачи.

2

2

Различные модели жизненного цикла программных систем (ЖЦ ПС): сходства и отличия. Основные технологии и методологии разработки ПС. Спецификация программы.

2

3

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

2

4

Методы конструирования ПС (нисходящий, восходящий). Основные достоинства и недостатки. Принципы разработки интерфейса пользователя.

2

5

Тестирование программного обеспечения (ПО). Основные определения. План тестирования. Принципы и методы тестирования ПС. Автономная и комплексная отладка ПС.

4

6

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

2

7

Основные принципы, обеспечивающие качество программирования. Эволюция развития языков программирования. Развитие концепций структуризации в языках программирования.

2

8

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

4

9

Объектно-ориентированное программирование. Спецификация классов на основе абстрагирования, иерархия классов. Механизм наследования (виды наследования).

4

10

Основные понятия ООП на примере интегрированной среды Delphi. Иерархия классов в среде Delphi. Создание и уничтожение объектов. Инкапсуляция, свойства. Области видимости. Наследование. Разновидности методов: статические, динамические, виртуальные.

4

11

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

4

12

Документирование ПС, основные разделы сопроводительных документов, основные стандарты и руководящие материалы по документированию и стандартизации ПС.

2




Итого

34
^

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




зан.

Наименование темы, ее содержание

Объем в час

1

Формализация задачи, разработка алгоритма функционирования программы

2

2

Способы записи алгоритма

2

3

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

4

4

Разработка модулей ПС.

2

5

Разработка меню, отображающего функциональность ПС

2

6

Тестирование и комплексная отладка ПС

2

7

Решение задач на применение структур данных

6

8

Разработка фрагмента ПС с использованием объектно-ориентированного подхода

10

9

Разработка классов

3

10

Разработка документации

1




Итого

34


5. Содержание и состав курсового проекта (курсовой работы)


не предусмотрен


6. Тематика рефератов.


не предусмотрены


7. Формы текущего, промежуточного и итогового контроля знаний студентов.

Текущий контроль – опрос в начале практических занятий и лабораторных работ;

Промежуточный контроль - в соответствии с таблицей:

Семестр

Название контрольной работы

Неделя

5





















































Итоговый контроль – экзамен (5 семестр).


8. Темы для самостоятельной работы студентов.

Поиск в Интернете, журналах «Информационные технологии», «Программные продукты и системы» и реферирование статей по проектированию программных систем.


  1. Перечень вопросов к экзамену (зачету) по всему курсу.




  1. Классификация методов программирования.

  2. Этапы создания программ.

  3. Понятие и критерии качества программы.

  4. Понятие жизненного цикла ПП.

  5. Модели жизненного цикла ПП.

  6. Алгоритм: понятие, свойства, типы.

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

  8. Основные типы данных. Классификация и описание в программе.

  9. Стандартные методы программирования: поиск минимального/максимального элемента, поиск заданного элемента.

  10. Стандартные метода программирования – сортировка массива методом попарного сравнения.

  11. Стандартные методы программирования – сортировка массива методом "пузырька".

  12. Понятие рекурсии. Пример рекурсивной функции.

  13. Модули: понятие, назначение, структура.

  14. Классификация языков программирования.

  15. Delphi - характеристика пакета.

  16. Вид экрана Delphi после запуска. Характеристика элементов.

  17. Характеристика проекта.

  18. Этапы разработки проекта.

  19. Визуальные и невизуальные элементы интерфейса.

  20. Понятие и этапы отладки программ.

  21. Понятие, назначение и общие принципы тестирования программ.

  22. Методы тестирования программ.

  23. Понятие эффективного тестового набора. Методы детерминированного тестирования.

  24. Методы разработки эффективного тестового набора при структурном тестировании.

  25. Методы разработки эффективного тестового набора при функциональном тестировании. Метод разбиения на классы эквивалентности.

  26. Методы разработки эффективного тестового набора при функциональном тестировании. Метод функциональных диаграмм.

  27. Методы сборки программ при тестировании. Понятие программы - драйвера и программы – заглушки.

  28. Монолитная сборка программы при тестировании. Достоинства и недостатки метода.

  29. Пошаговая сборка программы при тестировании (восходящая и нисходящая). Достоинства и недостатки метода.

  30. Понятие исключительной ситуации. Методы ее обработки.

  31. Способы локальной обработки исключительных ситуаций.

  32. Понятие объектно-ориентированного программирования. Отличие от структурного подхода.

  33. Понятие класса и объекта. Описание в программе.

  34. Назначение конструктора и деструктора класса. Пример использования в программе.

  35. Понятие полей и методов класса. Описание в программе.

  36. Инкапсуляция. Понятие и пример использования в программе.

  37. Наследование. Понятие класса-родителя и класса-потомка.

  38. Полиморфизм и виртуальные методы. Определение, пример использования в программе.

10. Контрольные вопросы для оценки остаточных знаний студентов.


  1. Классификация методов программирования.

  2. Этапы создания программ.

  3. Понятие и критерии качества программы.

  4. Понятие жизненного цикла ПП.

  5. Модели жизненного цикла ПП.

  6. Алгоритм: понятие, свойства, типы.

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

  8. Основные типы данных. Классификация и описание в программе.

  9. Стандартные методы программирования: поиск минимального/максимального элемента, поиск заданного элемента.

  10. Стандартные метода программирования – сортировка массива методом попарного сравнения.

  11. Стандартные методы программирования – сортировка массива методом "пузырька".

  12. Понятие рекурсии. Пример рекурсивной функции.

  13. Модули: понятие, назначение, структура.

  14. Классификация языков программирования.

  15. Delphi - характеристика пакета.

  16. Вид экрана Delphi после запуска. Характеристика элементов.

  17. Характеристика проекта.

  18. Этапы разработки проекта.

  19. Визуальные и невизуальные элементы интерфейса.

  20. Понятие и этапы отладки программ.

  21. Понятие, назначение и общие принципы тестирования программ.

  22. Методы тестирования программ.

  23. Понятие эффективного тестового набора. Методы детерминированного тестирования.

  24. Методы разработки эффективного тестового набора при структурном тестировании.

  25. Методы разработки эффективного тестового набора при функциональном тестировании. Метод разбиения на классы эквивалентности.

  26. Методы разработки эффективного тестового набора при функциональном тестировании. Метод функциональных диаграмм.

  27. Методы сборки программ при тестировании. Понятие программы - драйвера и программы – заглушки.

  28. Монолитная сборка программы при тестировании. Достоинства и недостатки метода.

  29. Пошаговая сборка программы при тестировании (восходящая и нисходящая). Достоинства и недостатки метода.

  30. Понятие исключительной ситуации. Методы ее обработки.

  31. Способы локальной обработки исключительных ситуаций.

  32. Понятие объектно-ориентированного программирования. Отличие от структурного подхода.

  33. Понятие класса и объекта. Описание в программе.

  34. Назначение конструктора и деструктора класса. Пример использования в программе.

  35. Понятие полей и методов класса. Описание в программе.

  36. Инкапсуляция. Понятие и пример использования в программе.

  37. Наследование. Понятие класса-родителя и класса-потомка.

  38. Полиморфизм и виртуальные методы. Определение, пример использования в программе.



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


Перечень основных и дополнительных литературных источников по дисциплине.

а) основные

1. Delphi. Готовые алгоритмы. Стивенс. – Спб.: Питер, 2004 – 384 с.

2. Архангельский А.Я. Программирование в Delphi для Windows. Версии 2006, 2007, Turbo Delphi. – М.: ООО «Бином – Пресс», 2007 – 1248 с.

3. Бобровский С.И. Технологии Delphi. Разработка приложений для бизнеса. Учебный курс. – СПб.: Питер, 2007 – 720 с.

4. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования. М.: Форум – Инфра – М, 2006 – 432 с. (рекомендовано МО).


б) дополнительная

1. Delphi 7 для профессионалов. Кэнту. – Спб.: Питер, 2004 – 1101с.

2. Delphi 7. В подлиннике. Гофман, Мещер, Хомоненко. – Спб., изд.: bhv, 2004г., - 1216 с.

3. Delphi 7. Учебный курс. Бобровский, – Спб.: Питер, 2004 – 736 с.

4. Delphi в задачах и примерах. Культин, – Спб., изд.: bhv, 2004 – 288 с.
5. Delphi на примерах. Пестриков, – Спб., изд.:bhv, 2005 – 348 с.


12. Технические средства обеспечения освоения дисциплины

Компьютерный класс с MS Office, Delphi версией не ниже 6, демонстрационный телевизор, подключенный к ЭВМ.


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


Компьютерный класс


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

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

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

На практических занятиях необходимо обеспечить освоение студентами соответствующих методов в бескомпьютерном, «ручном» варианте, приучая при этом грамотно оформлять промежуточные расчеты.

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

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

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


15. Методические указания для студентов


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

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

На практических занятиях необходимо осваивать соответствующие методы в бескомпьютерном, «ручном» варианте, приучаясь при этом грамотно оформлять промежуточные расчеты.

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

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

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

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

16. Перечень используемых инновационных методов и разработок


  1. Электронная рабочая программа и журнал преподавателя в Интернет

  2. Рейтинговая система учета академической активности студентов при изучении дисциплины

  3. Тестовая система ФИСТ

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

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

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

  7. Авторские презентации к лекциям




Скачать 183,75 Kb.
оставить комментарий
Дата26.11.2011
Размер183,75 Kb.
ТипРабочая программа, Образовательные материалы
Добавить документ в свой блог или на сайт

Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх