Денис Валерьевич Косых программа курса

Вид материалаПрограмма курса

Содержание


Основы программного конструирования
Подобный материал:
ОСНОВЫ ПРОГРАММНОГО КОНСТРУИРОВАНИЯ

(отделение физической информатики)

преподаватель Денис Валерьевич Косых
Программа курса лекций

Программное конструирование. Язык программирования Си.

13. Жизненный цикл программы. Основные конструкции языка.

14. Отличительные особенности языка Си. Препроцессор. Представление массивов. Указатели на функции. Функции с переменным числом параметров. Конструкция assert.

15. Понятие программной системы. Этапы разработки программной системы: анализ предметной области; формулирование требований к системе; проектирование; кодирование; тестирование, отладка; эксплуатация, сопровождение. Итеративный процесс разработки.

16. Анализ предметной области. Словарь предметной области.

17. Формулирование требований к системе.

18. Проектирование. Основные подходы.

19. Тестирование. Задачи и стратегии. Возвратное тестирование.

20. Понятие об объектно-ориентированном программировании.

21. Компонентно-ориентированая объектная модель.

Литература


1. Никлаус Вирт. Алгоритмы и структуры данных. Москва: Мир, 1989.

2. Керниган Б., Пайк Р. Практика программирования. СПб.: Невский Диалект, 2001.

3. Керниган Б., Ритчи Д. Язык программирования Си. СПб.: Невский Диалект, 2001.

4. Канер С., Фолк Д., Нгуен Е. К. Тестирование программного обеспечения. Киев: Диасофт, 2000.

5. Кнут Д. Исскуство программирования, 2-е изд. В 3-х томах. М: Вильямс, 2000.

6. Буч Г. Объектно-ориентированный анализ и проектирование, 2-е изд. СПб.: Невский Диалект, 1998.

7. Бокс Д. Сущность технологии COM. СПб.: Питер, 2001.


ОСНОВЫ ПРОГРАММНОГО КОНСТРУИРОВАНИЯ

(отделение физической информатики)
Программа семинарских занятий

преподаватель Денис Валерьевич Косых

1. Введение в язык программирования Модула 2.( 3 часа)

2. Основные конструкции языка. (3 часа)

3. Использование массивов, записей. Простейшие алгоритмы. (3 часа)

4. Алгоритмы работы со строками. (3 часа)

5. Списки. (3 часа)

6. Деревья. (3 часа)

7. Алгоритмы поиска. (3 часа)

8. Алгоритмы сортировки. (3 часа)

9. Работа с файлами. (3 часа)

10. Подготовка семестрового проекта. (до конца 1-го семестра)

11. Язык Си, сравнение с Модула2. (3 часа)

12. Работа с указателями. Использование препроцессора. (3 часа)

13. Тестирование. Применение тестирования в разработке. (3 часа)

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

Задания


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

1. Архиватор (на коде Хаффмана).

2. Калькулятор (с переменными и встроенными функциями типа sin, cos ).

3. Словарь.

4. Простая база данных (создание записей, поиск по полям).

5. Текстовый редактор.

6. Редактор векторной графики (2D).

7. Редактор трёхмерных сцен.

8. Простая игра типа «Пакман».

9. Интерпретатор командного языка (упрощённая версия LOGO).



1