Рабочая программа дисциплины «Методы визуального и параллельного программирования» по направлению подготовки магистра техники и технологии 552800 «Информатика и вычислительная техника» Магистерская программа 552805 «Интеллектуальные системы»

Вид материалаРабочая программа

Содержание


1. Цели и задачи дисциплины
Основными задачами изучения дисциплины
Методы визуального и параллельного программирования
2. Требования к уровню освоения содержания дисциплины
3. Объем дисциплины и виды учебной работы
4. Содержание дисциплины
Раздел 2. C++BUILDER 4: основные компоненты. (4 час.)
Раздел 3. Объектно-ориентированное программирование и C++. (12 час.)
Раздел 4. Новые инструменты интегрированной среды. (10 час.)
Раздел 5. Использование визуальных компонентов. (18 час.)
5. Лабораторный практикум
6. Учебно-методическое обеспечение
6.2. Средства обеспечения освоения дисциплины
Материально-техническое обеспечение
8.1. Методические рекомендации преподавателю
8.2. Темы самостоятельных работ
8.3. Методические рекомендации студентам
Подобный материал:
Министерство образования Российской Федерации

Московский государственный горный университет


УТВЕРЖДАЮ

Председатель УМК по направлению

«Информатика и вычислительная техника»

проф., д.т.н. Федунец Н.И.

«_____» ____________2002 г.




Рабочая программа




дисциплины «Методы визуального и параллельного программирования»

по направлению подготовки магистра техники и технологии 552800 - «Информатика и вычислительная техника»
Магистерская программа 552805 – «Интеллектуальные системы»
Магистерская программа 552818 – «Компьютерное моделирование»






Москва 2002


^ 1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ

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

^ Основными задачами изучения дисциплины являются:
  • усвоение студентами основных принципов использования методов визуального и параллельного программирования при построении современных компьютерных систем;
  • получение ими практических навыков в проектировании современных компьютерных систем.

При изучении дисциплины «^ Методы визуального и параллельного программирования» необходимы знания по дисциплинам: «Теория принятия решений», «Математическая логика и теория алгоритмов», «Вычислительная математика», «Основы теории управления», «Алгоритмические языки и технология программирования».


^ 2. ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ

Изучение и освоение методов создания приложений для операционных систем Windows 95-98/NT с использованием средств автоматизированного программирования (на примере использования MFC AppWizard, MFC ActiveX ControlWizard, ATL COM AppWizard, ClassWizard, AppStudio); приобретение навыков программирования в среде Microsoft Visual C++ с использованием библиотеки классов MFC и библиотеки шаблонов ATL, рассмотрение Delphi как среды визуального программирования, ознакомление с SmallTalk и Rational Rose.


^ 3. ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ


Вид учебной работы

Всего часов

Семестры

Общая трудоемкость дисциплины

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

119

85

10

Лекции

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

Лабораторные занятия (ЛЗ)

51


34

51


34

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

34

34

Курсовая работа (КР)







Расчетно-графические работы (РГР)







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




экзамен



^ 4. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ

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


Введение. Методы визуального и параллельного программирования в разработке современных компьютерных систем. (1 час.)


Раздел 1. Техника визуального программирования. Общие характеристики и особенности применения C++Builder 4. (6 час.)

C++Builder 3: основные характеристики. Скорость визуальной разработки. Продуктивность компонентов. Мощность языковых средств C++. Масштабируемый доступ к базам данных. Вхождение в Интернет.

Другие программные продукты Inprise.

Проблемы совместимости. C++Builder и Borland C++. C++Builder и Delphi. Какую систему выбрать? Какая система является более мощной? Как использовать код Delphi в C++Builder. Как использовать код C++Builder в Delphi. Перевод с Паскаля на C++. C++Builder и Microsoft Visual C++.


^ Раздел 2. C++BUILDER 4: основные компоненты. (4 час.)

Палитра компонентов - краткий обзор. Первое приложение. Свойства, методы и события. Технология двунаправленной разработки.

Приложение текстового редактора. Использование проектных шаблонов. Поиск и замена. Drag-and-Drop. Список файлов предыстории. Еще один текстовый редактор. Что делать, если…Приложения баз данных. Пример из существующего проекта. Использование модулей данных. Использование Мастера форм. Поиск в таблице.


^ Раздел 3. Объектно-ориентированное программирование и C++. (12 час.)

Инкапсуляция. Классы, компоненты и объекты. Наследование. Разработка классов. Объявление базового класса. Конструкторы и деструкторы. Объявление производных классов. Полиморфизм. Виртуальные функции. Дружественные функции.

Особенности стандарта C++. Шаблоны. Пространства имен. Явные объявления. Непостоянные объявления. Быстрый вызов функций. Исключения.

Расширения стандарта C++ и компонентная модель приложения. Объявления компонентных классов. Пакеты. Объявления компонентных свойств. Объявления обработчиков событий. Идентификация типов RTTI. Расширенные типы данных Delphi. Автоматизированные свойства и методы.

Строки. Символьные массивы. Класс string языка C++. Класс basic_string из библиотеки STL. Класс String из библиотеки VCL.

Списки. Класс TStringList: строчный список. Класс TList: список общего назначения. Списочные классы STL.

Файлы. Поточные классы C++. Режим открытия файла. Операторы включения и извлечения. Класс ifstream: чтение файлов. Класс ofstream: запись файлов. Бинарные файлы. Класс fstream: произвольный доступ к файлу. TFileStream: поточный класс VCL. Свойства и методы. Режим открытия файла.


^ Раздел 4. Новые инструменты интегрированной среды. (10 час.)

Расширенный Менеджер проектов. Построение проектной группы. Командный файл. DLL. Консольное приложение. Приложение с компонентами VCL. Расширенные проектные опции.

Дизайнер форм. Инспектор объектов. Хранилище объектов. Разделение объектов. Включение объектов в проект. Добавление объектов к Хранилищу. Проект и формы по умолчанию.

Редактор кода. Основные операции. Контекстное меню. Новые особенности. Поиск в файлах. Настройки. Приемы отладки. Отладка приложений проектной группы. Консольное приложение. Приложение с компонентами VCL. Новые возможности.


^ Раздел 5. Использование визуальных компонентов. (18 час.)

Стандартные компоненты. TMainMenu: главное меню. TPopUpMenu: выскакивающее меню. TLabel: метка. TEdit: редактируемый ввод. TMemo: комментарий. TButton: простая кнопка. TCheckBox: ячейка состояния. TRadioButton: радио-кнопка. TListBox: простой список. TComboBox: комбинированный список. TScrollBar: линейка прокрутки. TGroupBox: группирующая рамка. TRadioGroup: группа радио-кнопок. TPanel: простая панель.

Дополнительные компоненты. TBitBtn: графическая кнопка. TSpeedButton: быстрая кнопка. TMaskEdit: форматный ввод. TStringGrid: текстовая таблица. TDrawGrid: графическая таблица. TImage: изображение. TShape: фигура. TBevel: обрамление. TScrollBox: контейнер прокрутки. TCheckListBox*: список с ячейками. TSplitter*: разделитель. TStaticText*: статический текст. TChart*: диаграмма.

Компоненты Win32. TTabControl: вкладки. TPageControl: страницы. TImageList: коллекция изображений. TRichEdit: комментарий RTF. TTrackBar: регулятор. TProgressBar: прогресс-индикатор. TUpDown: спаренные кнопки. THotKey: горячая клавиша. TAnimate*: аниматор. TDateTimePicker*: Дата/Время. TTreeView: древовидный перечень. TListView: табличный список. THeaderControl: заголовки. TStatusBar: панели статуса. TToolBar*: панель инструментов. TCoolBar*: панель со шторками.

Системные компоненты. TTimer: таймер. TPaintBox: канва рисования. TMediaPlayer: панель мультимедиа. TOleContainer: объект OLE. TDdeClientConv: клиент DDE. TDdeClientItem: объект клиента DDE. TDdeServerConv: сервер DDE. TDdeServerItem: объект сервера DDE.

Компоненты сети Интернет. TClientSocket: клиент TCP/IP. TServerSocket: сервер TCP/IP. TWebDispatcher: диспетчер Web. TPageProducer: генератор гипертекста. TQueryTableProducer: генератор гипертекста по запросу. TDataSetTableProducer: генератор гипертекста по набору данных. TNMDayTime: дата/время по Интернету. TNMTime: время по Интернету. TNMEcho: эхо сервера. TNMFinger: статус пользователя. TNMFTP: клиент FTP. TNMHTTP: клиент HTTP. TNMMsg: посылка сообщений. TNMMSGServ: прием сообщений. TNMNNTP: обмен новостями. TNMPOP3: прием почты. TNMSMTP: отправка почты. TNMUUProcessor: кодировщик файлов. TNMStrm: посылка файлов. TNMStrmServ: прием файлов. TNMUDP: обмен датаграммами. TPowersock: базовый класс TCP/IP. TNMGeneralServer: класс сервера. THTML: просмотр гипертекста. TNMURL: кодировщик URL.

Компоненты доступа к базам данных. TDataSource: источник. TTable: таблица. TQuery: запрос. TStoredProc: хранимая процедура. TDatabase: база данных. TSession: сессия. TBatchMove: пакетная операция. TUpdateSQL: кэшируемые обновления. TProvider*: провайдер. TClientDataSet*: набор данных клиента. TRemoteServer*: соединение DCOM. TMIDASConnection*: соединение TCP или OLEnterprise.

Компоненты представления данных. TDBGrid: сетка. TDBNavigator: навигатор. TDBText: метка. TDBEdit: редактируемое поле. TDBMemo: комментарий поля. TDBImage: изображение поля. TDBListBox: список для выбора поля. TDBComboBox: комбинированный список выбора поля. TDBCheckBox: ячейка состояния поля. TDBRadioGroup: группа радио-кнопок выбора поля. TDBLookupListBox: список ссылок. TDBLookupComboBox: комбинированный список ссылок. TDBRichEdit*: комментарий. TDBCtrlGrid*: сетка с панелями. TDBChart*: диаграмма.

Компоненты принятия решений. TDecisionCube: Куб решений. TDecisionQuery: запрос. TDecisionSource: источник. TDecisionPivot: переключатель. TDecisionGrid: сетка. TDecisionGraph: диаграмма.

Компоненты отчетов. TQuickRep: лист отчета. TQRSubDetail*: полоса деталировки. TQRBand: основная полоса. TQRChildBand*: дочерняя полоса. TQRGroup: группа. TQRLabel: название заголовка. TQRDBText: текст поля записи. TQRExpr*: выражение. TQRSysData: системные данные. TQRMemo: комментарий. TQRRichEdit*: комментарий RTF. TQRDBRichEdit* комментарий поля. TQRShape: фигура. TQRImage*: изображение. TQRDBImage*: изображение поля. TQRCompositeReport*: сводный отчет. Настройка вида отчета TQRPreview. Диаграмма в отчете TQRChart*.

Диалоговые компоненты. TOpenDialog: открыть файл. TSaveDialog: сохранить файл. TOpenPictureDialog*: открыть изображение. TSavePictureDialog*: сохранить изображение. TFontDialog: выбор шрифта. TColorDialog: выбор цвета. TPrintDialog: печать. TPrinterSetupDialog: принтер. TFindDialog: поиск. TReplaceDialog: замена.

Компоненты Samples. TPie: секторная диаграмма. TPerformanceGraph*: плывущий график. TCSpinButton: спаренные кнопки. TCSpinEdit: настройка значения. TCGauge: индикатор. TCDirectory*: древовидный перечень. TCColorGrid: палитра красок. TCCalendar: календарь. TIBEventAlerter*: события InterBase.

Компоненты ActiveX 350. TChartfx: диаграмма. TVSSpell*: проверка правописания. TF1Book*: рабочая книга. TVtChart*: трехмерная диаграмма. TGraph*: график.


Раздел 6. Заключение.


^ 5. ЛАБОРАТОРНЫЙ ПРАКТИКУМ

п/п

раздела дисциплины

Наименование лабораторных работ

1

2


3

4

5

6


7

8

1-5

1-5


1-5

1-5

1-5

1-5


1-5

1-5

Классы общего назначения TList, TStrings, TStringList, TStream.

Защищенные блоки. Обзор стандартных классов. Создание собственных классов типа Exception.

Глобальные объекты Application, Screen, Printer, Clipboard.

Создание и установка собственных компонентов.

Разработка динамически подключаемых библиотек DLL.

Использование компонентов TDataSet и визуальных компонент отображения данных.

Обзор графич. компонент. Работа с графикой.

Работа с принтером. Вывод текста и графики.


^ 6. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ

6.1. Рекомендуемая литература

а) основная литература
  1. Шамис В.А. Borland C++Builder 4.0. Техника визуального программирования., Нолидж, Москва, 2000 г., 656 с.
  2. Д.Элджер. С++Библиотека Программиста., Питер, 1999 г., 320 с.
  3. Г.Буч. Объектно-ориентированный анализ и проектирование с примерами на С++. Бином, 1998 г., 560 с.
  4. С.Холзнер. Visual C++6: учебный курс.
  5. Архангельский А.Я. Программирование в C++Builder 4.0. Бином, 2000 г., 1088 с.
  6. Б.Страуструп. Язык программирования С++. Бином, 1999 г., 991 с.
  7. А.Я.Архангельский. 100 компонентов общего назначения библиотеки Delphi5. Бином, 1999, 272 с.
  8. В.Гофман, А.Хономенко. Delphi5 – Наиболее полное руководство. BHV-Санкт-Петербург, 1999, 800 с.
  9. А.Я.Архангельский. Object Pascal в Delphi5. Бином, 1999 г., 224 с.
  10. П. Дарахвелидзе, Е.Марков. Среда визуального программирования в подлиннике., BHV-Санкт-Петербург, 1999г., 816 с.


б) дополнительная литература
  1. М.Краснов. OpenGL. Графика в проектах Delphi.BHV, 2000 г., 352 с.
  2. А.М.Епанешников, В.А.Епанешников. Delphi4. Среда разработки. Диалог – МИФИ, 1999, 204 с.
  3. И.Ю. Баженова. Delphi 5. Самоучитель программиста. КУДИЦ-ОБРАЗ, 2000 г., 336 с.
  4. Н.Тюкачев, Ю. Свиридов. Delphi 5. Создание мультимедийных приложений. Нолидж, 2000 г., 384 с.
  5. C. Бобровский. Delphi 5. Учебный курс. Питер, 2000 г., 640 с.
  6. В.В.Фаронов. Delphi 5. Учебный курс.Нолидж, 2000 г., 608 с.
  7. А.Д.Александровский, В.В.Шубин. Delphi для профессионалов. Опыт практического применения. Питер, 2000 г., 240 с.
  8. А.Чекмарев. Средства визуального проектирования на JAVA. BHV-Санкт-Петербург, 1998 г., 400 с.


^ 6.2. Средства обеспечения освоения дисциплины

Программные комплексы Microsoft Windows(95,98,NT,2000), специализированные программы лабораторного комплекса.


  1. ^ МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ

Компьютерные классы сетевых технологий, ЛВС, серверы Internet.


  1. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ ИЗУЧЕНИЯ ДИСЦИПЛИНЫ

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

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

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

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

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

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


^ 8.2. Темы самостоятельных работ
  1. Сравнительный анализ реализации основных принципов объектно-ориентированного программирования в различных языках.
  2. История развития языков объектно-ориентированного программирования.
  3. Разработка многозвенных приложений (стр. Midas).
  4. Работа с графикой средствами OpenGL
  5. Работа с графикой средствами WIN API
  6. Управление пакетом EXCEL из DELPHI 5.0 (использование СОМ-технологии).
  7. Rational Rose – CASE средство для автоматизации этапов анализа и проектирования ПО.


^ 8.3. Методические рекомендации студентам

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

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

Готовить рефераты по дисциплине (темы должны быть согласованы с лектором).

Рекомендуется выступать с докладами на лекциях по дисциплине.

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

Программа составлена в соответствии с Государственным образовательным стандартом высшего профессионального образования по направлению подготовки магистра техники и технологии 552800 - «Информатика и вычислительная техника» и магистерским программам 552805 – «Интеллектуальные системы» и 552818 – «Компьютерное моделирование».


Программу составили:


доц, к.т.н. Фомичева О.Е.


Рецензент

Программа одобрена на заседании кафедры АСУ

«___» ___________2002 г. протокол №


Зав. кафедрой АСУ

проф., д.т.н. Федунец Н.И.