Методическое руководство по изучению дисциплины
«Высокоуровневые методы информатики и программирования»
для студентов специальности 080801 – «Прикладная информатика
в экономике»
Руководство необходимо для общего ознакомления с дисциплиной и содержит сведения:
1. Данные о запланированной трудоемкости по дисциплине с ее распределением по видам работ и заданий (табл. 1):
Таблица 1
Вид занятий | Всего (час.) | Семестры | |||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||
Всего аудиторных занятий: | 85 | 34 | 51 | ||||||||
Лекции | 34 | 17 | 17 | ||||||||
Лабораторные работы | 51 | 17 | 34 | ||||||||
Самостоятельная работа: | 112 | 50 | 62 | ||||||||
Курсовой проект (работа) | 36 | 36 | |||||||||
Расчетно-графическая работа | 20 | 20 | |||||||||
Проработка лекционного курса | 56 | 30 | 26 | ||||||||
Всего по курсу | |||||||||||
Вид аттестации за семестр (зачет, экзамен) | Экз | Экз | Экз | ||||||||
2. Цели и задачи дисциплины
Дисциплина «Высокоуровневые методы информатики и программирования» (ВМИиП) является базовой дисциплиной и обеспечивает эффективное изучение профилирующих дисциплин, предусматривающих работу студентов с вычислительной техникой и техническими средствами сбора и обработки информации.
Целью дисциплины «Высокоуровневые методы информатики и программирования» является изучение теоретических основ разработки алгоритмов и приобретение практических навыков использования современных средств программирования. Основное внимание уделяется проектированию структур данных, изучению объектно-ориентированного стиля программирования и особенностям разработки оконных приложений в операционной системе MS Windows.
Основные задачи дисциплины:
1) приобретение студентами теоретических знаний по высокоуровневым методам информатики и программирования ;
2) приобретение навыков практической работы по высокоуровневым методам информатики и программирования с использованием среды визуального программирования Delphi.
Требования к уровню подготовки студента
Преподавание дисциплины проводится в виде лекций, лабораторного практикума и самостоятельных занятий. Студент, завершивший изучение дисциплины, должен:
· иметь представление о современных алгоритмических языках, их области применения и тенденциях развития технологий программирования;
· иметь представление об особенностях разработки приложений в различных операционных системах;
· знать способы записи алгоритмов и конструирования программ на алгоритмическом языке
· знать разновидности и особенности использования информационных структур данных;
· уметь разрабатывать программы в объектно-ориентированном стиле;
· уметь пользоваться средой визуального программирования Delphi;
· уметь пользоваться особенностями операционной системы (оконный интерфейс, многозадачность и т. д.) при разработке приложений.
3. Темы лекций, практических (и/или лабораторных и др.) работ, порядок их прохождения, график СРС, ссылки на соответствующие методические указания и практикумы представлены в технологической карте (табл. 2)
Технологическая карта выполнения работ студентом
Таблица 2
Неделя | Вид работ | Часы | Рекомендации по литературе | Рейтинговые баллы | |
мин | макс | ||||
2 семестр | |||||
1-2 | Лекция 1. Предмет курса, его цели и задачи. Тенденции развития технологий разработки программ. Понятие о стилях программирования. Процедурное, объектное и объектно-ориентированное программирование. | 2 | Конспект лекций, | ||
Текущий контроль | 1 | 2 | |||
3 | Лабораторная работа 1. Технологии разработки программ. Примеры программ, разработанных в процедурном стиле и объектно-ориентированном, их сравнение. | 2 | МУ к лабораторным работам | 2 | 3 |
4 | Лекция 2. Программирование в ОС MS Windows. Особенности разработки оконных приложений. Обзор языков программирования и средств разработки, краткая история их развития. Пользовательский и программный интерфейс. Многозадачность. | 2 | Конспект лекций, | ||
Текущий контроль | 1 | 2 | |||
5 | Лабораторная работа 2. Объектное программирование. Определение записей и разработка интерфейсных функций. | 2 | МУ к лабораторным работам | 2 | 3 |
6 | Лекция 3. Основы ООП. Понятие и общие принципы объектно-ориентированного программирования. Достоинства и недостатки ООП. Объектный тип данных. Инкапсуляция. | 2 | Конспект лекций, | ||
Текущий контроль | 1 | 2 | |||
7 | Лабораторная работа 3. Объектно-ориентированные средства языка Pascal. Сравнение записей и объектов. Поля и методы объектов, их область видимости. | 2 | МУ к лабораторным работам | 2 | 3 |
Текущий контроль | 1 | 2 | |||
8 | Лабораторная работа 4. Изучение возможностей объектов. Массивы объектов и использование объектов в качестве параметров. | 2 | МУ к лабораторным работам | 2 | 3 |
9 | Лекция 4. Наследование и полиморфизм. Производные классы. Скрытые поля и методы. Простой полиморфизм. | 2 | Конспект лекций, | ||
Текущий контроль | 1 | 2 | |||
10 | Лабораторная работа 5. Наследование. Классы. Создание производного класса, переопределение полей и методов. | 2 | МУ к лабораторным работам | 2 | 3 |
Текущий контроль | 1 | 2 | |||
11 | Лабораторная работа 6. Простой полиморфизм. Перегрузка методов. | 2 | МУ к лабораторным работам | 2 | 3 |
11-12 | Лекция 5. Сложный полиморфизм. Виртуальные методы. Создание и удаление объектов. Конструкторы и деструкторы. Абстрактный базовый класс. | 2 | Конспект лекций, | ||
Текущий контроль | 1 | 2 | |||
13 | Лабораторная работа 7. Сложный полиморфизм. Определение и использование виртуальных методов, их отличие от статических. Абстрактный базовый класс. | 3 | МУ к лабораторным работам | 2 | 3 |
14 | Лекция 6. Объектная модель MS Windows. Основные объекты MS Windows (окна, процессы, потоки), их разновидности. Библиотека интерфейсных функций WinAPI. | 2 | Конспект лекций, | ||
Текущий контроль | 1 | 2 | |||
15 | Лабораторная работа 8. Работа с памятью. Размещение объекта в памяти и его удаление (конструктор и деструктор). Исправление утечки памяти. Виртуальный деструктор. | 2 | МУ к лабораторным работам | 2 | 3 |
16 | Лекция 7. Структура оконных приложений. Пример простейшего приложения с использованием WinAPI. Механизм передачи и обработки оконных сообщений | 2 | МУ к лабораторным работам | ||
17 | Лекция 8. Основы работы в среде Delphi. Принципы визуального программирования. Знакомство со средой Delphi. Система меню. Инспектор объектов. Палитра компонентов. Редакторы кода и формы. Пример создания простого приложения. | 3 | Конспект лекций, | ||
Прием расчетно-графической работы | 16 | 20 | |||
Промежуточная аттестация (экзамен по дисциплине) | 20 | 40 | |||
Итого | 60 | 100 | |||
4 семестр | |||||
1 | Лекция 9. Библиотека визуальных компонентов. Изучение основных визуальных компонентов. Свойства, методы и события. | 2 | Конспект лекций, | ||
Текущий контроль | 1 | 1.5 | |||
Лабораторная работа 9. Приложение MS Windows. Пример простого оконного приложения на основе функций WinAPI. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
2 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 10. Стандартные компоненты Windows Окно приложения, кнопка, элементы ввода текста, окно сообщений. Обработка оконных сообщений. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
Текущий контроль | 1 | 1.5 | |||
Лабораторная работа 11. Дополнительные средства работы с окнами. Графические средства окна. Некоторые часто используемые функции WinAPI. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
3 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 12. Разработка в среде Delphi. Изучение возможностей Delphi, знакомство с системой меню. Создание простейшего окна. Основные свойства, методы и события компонентов. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
Лекция 10. Библиотека визуальных компонентов. Компоненты с точки зрения ООП, иерархия классов в Delphi. | 2 | Конспект лекций, | |||
4 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 13. Углубленное изучение Delphi. Компоненты из раздела “Стандартные” и “Дополнительные”. Графические средства. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
Лекция 11. Многозадачность. Обоснование необходимости использования многозадачности. Создание дополнительного рабочего потока. Механизм обмена данными между потоками. Проблемы, связанные с многозадачностью, средства синхронизации. | 2 | Конспект лекций, | |||
5 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 14. Многозадачность. Пример выделения трудоемких процедур вычисления в дополнительный поток, сравнение с однопоточным вариантом, преимущества использования многозадачности. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
Текущий контроль | 1 | 1.5 | |||
Лабораторная работа 15. Углубленное изучение Delphi. Многооконный интерфейс. Файловые диалоги. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
6 | Лекция 12. Динамическая память. Указатели. Выделение и освобождение памяти. Линейный динамический массив. Массив указателей. Двумерные массивы. | 2 | Конспект лекций, | ||
Лекция 13. Данные с динамической структурой. Списки их преимущества и недостатки. Виды списков. Стеки, деки, очереди, деревья. Операции со списками. | 2 | Конспект лекций, | |||
7 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 16. Списки. Реализация объекта “Список”. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
Лекция 14. Стек. Реализация класса “Cтек”. Примеры использования. Стековый калькулятор. | 2 | Конспект лекций, | |||
8 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 17. Стек. Реализация объекта “Стек”. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
9 | Лекция 15. Очередь и дек. Реализация классов “Очередь” и “Дек”. | 2 | Конспект лекций, | ||
Текущий контроль | 1 | 1.5 | |||
Лабораторная работа 18. Очереди. Реализация объектов “Очередь” и “Дек”. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
10 | Лекция 16. Деревья. Операции над бинарными деревьями. | 2 | Конспект лекций, | ||
11 | Лекция 17. Стандартные средства Delphi для работы с динамическими структурами. Классы TList, TQueue, TStack. Примеры их применения. | 2 | Конспект лекций, | ||
Текущий контроль | 1 | 1.5 | |||
Лабораторная работа 19. Углубленное изучение Delphi. Создание пользовательского меню и списка событий. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
12 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 20. Углубленное изучение Delphi. Приложения SDI, MDI. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
13 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 21. Углубленное изучение Delphi. Библиотеки динамической компоновки. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
14 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 22. Синхронизация потоков. Пример нарушения данных при одновременном доступе. Передача результатов вычислений в основной поток. Метод Synchronize. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
15 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 23. Синхронизация потоков. Синхронизация с помощью пользовательских сообщений. Использование классов TEvent и TCriticalSection. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
16 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 24. Динамическая память. Указатели. Одномерные динамические массивы. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
17 | Текущий контроль | 1 | 1.5 | ||
Лабораторная работа 25. Многомерные структуры. Массивы указателей. Двумерный массив. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
Текущий контроль | 1 | 1.5 | |||
Лабораторная работа 26. Пример использования стека. Стековый калькулятор и компилятор формулы. | 2 | МУ к лабораторным работам | 1 | 1.5 | |
Курсовой проект | 4 | 6 | |||
Промежуточная аттестация (экзамен по дисциплине) | 20 | 40 | |||
Итого | 60 | 100 |
Заведующий кафедрой прикладной математики
Составители


