Основы информатики и программирования
Вид материала | Пояснительная записка |
- В курсе информатики основной школы, 96.17kb.
- Учебно-методический комплекс по дисциплине высокоуровневые методы информатики и программирования, 435.89kb.
- Программа курса по выбору «Основы программирования» (6-8 классы,, 35.37kb.
- «Основы алгоритмизации и объектно-ориентированного программирования на языке Gambas», 318.06kb.
- Урок на тему «Решение логических задач с помощью электронных таблиц ms excel\ Раздел, 149.53kb.
- Поэтапном формировании у студентов следующих знаний, умений и владений: основы алгоритмизации,, 25.99kb.
- Программа курса " Азы программирования", 26.19kb.
- Курс: 2 Саранск 2007 а рассмотрено и одобрено на заседании предметной (цикловой) комиссии, 168.43kb.
- Курс Методы визуального программирования при разработке системного программного обеспечения., 30.14kb.
- Учебно-методический комплекс дисциплины высокоуровневые методы информатики и программирования, 533.39kb.
Утверждена
УМО вузов Республики Беларусь
по образованию в области информатики
и радиоэлектроники
« 03 » июня 2003 г.
Регистрационный № ТД-40-011/тип.
^ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ
И ПРОГРАММИРОВАНИЕ
Учебная программа для высших учебных заведений
по специальности -40 01 02-02 Информационные системы
и технологии (в экономике)
Согласована с Учебно-методическим управлением БГУИР
« 28 » мая 2003 г.
Составители:
Ю.А. Луцик, доцент кафедры электронных вычислительных машин Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», кандидат технических наук;
^ В.Н. Комличенко, заведующий кафедрой экономической информатики Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», доцент, кандидат технических наук
Рецензенты:
Кафедра математического обеспечения АСУ Учреждения образования «Белорусский государственный университет» (протокол № 10 от 26.05.2003 г.);
Кафедра информатики и вычислительной техники Государственного образовательного учреждения «Институт подготовки научных кадров» Национальной академии наук Беларуси (протокол № 5 от 23.01.2003 г.)
Рекомендована к утверждению в качестве типовой:
Кафедрой экономической информатики Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (протокол № 15 от 10.02.2003 г.);
Научно-методическим советом по специальности -40 01 01 Информационные системы и технологии (по направлениям) УМО вузов Республики Беларусь по образованию в области информатики и радиоэлектроники (протокол № 3 от 27.05.2003 г.)
Действует до утверждения Образовательного стандарта по специальности.
^ ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Базовая программа «Объектно-ориентированное программирование и проектирование» разработана для специальности 1-40 01 02 «Информационные системы и технологии (по направлениям)» по направлению1-40 01 02-02 «Информационные системы и технологии (в экономике)».
Дисциплина «Объектно-ориентированное программирование и проектирование» продолжает цикл дисциплин по информационным технологиям, изучаемых студентами на протяжении всего курса обучения в университете. Она обеспечивает формирование у студентов методов и приемов объектно-ориентированного программирования и проектирования сложных информационных систем с использованием современных информационных технологий.
Цель изучения данной дисциплины – овладение знаниями и навыками проектирования информационных систем с использованием языка программирования С++, формирование компьютерной грамотности и подготовка студентов к использованию современных компьютеров и базовых технологий в качестве инструмента для решения практических задач в своей предметной области.
В результате изучения дисциплины «Объектно-ориентированное программирование и проектирование» студенты должны:
- приобрести практические навыки разработки программ на языка С++;
- самостоятельно проектировать информационные системы с использованием языка программирования С++;
- приобрести навыки эффективной работы в визуальных средах.
Программа рассчитана на объем 136 учебных часов. Примерное распределение учебных часов по видам занятий: лекций – 68 часов, лабораторных занятий – 68 часов.
^ Тема 1. Введение в объектно-ориентированное программирование (ООП)
Предмет курса и содержание дисциплины, ее связь с другими дисциплинами. Возникновение ООП. Основные положения объектной модели ее преимущества. Абстрагирование. Модульность. Иерархия. Типизация. Базовые принципы ООП. Инкапсуляция, наследование, полиморфизм.
^ Тема 2. Объекты и классы в языке С++
Основные понятия: классы и объекты. Инициализация и разрушение объекта. Спецификаторы доступа к элементам объекта (private, public, protected). Указатель this. Организация внешнего доступа к компонентам объекта (спецификатор friend). Статические компоненты класса. Использование спецификатора const. Вложенные классы. Перегрузка и переопределение функций.
^ Тема 3. Особенности языка С++
Организация ввода-вывода информации в С++. Статические и динамические объекты. Использование операторов new и delete.
Тема 4. Наследование
Базовые и производные классы. Основные правила построения производных классов. Конструкторы и деструкторы. Простое и множественное наследование. Переопределение членов базового класса в производном. Указатели на производные классы. Механизм использования виртуальных функций. Абстрактные классы, их назначения. Использование указателя на базовый абстрактный класс.
^ Тема 5. Доопределение операторов
Основные принципы доопределения (перегрузки) операторов. Функция operator. Доопределение унарных и бинарных операторов. Функция operator как член класса и как friend-функция. Ограничения на перегрузку операций. Преобразование типа.
^ Тема 6. Потоки ввода-вывода в С++
Потоки. Вывод потоков. Ввод потоков. Состояние потока. Неформатированный ввод-вывод. Манипуляторы потоков. Манипуляторы, определяемые пользователем.
Тема 7. Обработка файлов
Файлы и потоки. Файлы последовательного доступа. Файлы произвольного доступа. Ввод-вывод объектов.
Тема 8. Шаблоны
Шаблоны функций. Шаблоны классов. Шаблоны и наследование. Шаблоны и дружественные классы. Шаблоны и статические члены.
^ Тема 9. Обработка исключений
Основы обработки исключений в С++. Генерация исключений. Перехватывание исключений. Повторная генерация исключения. Обработка неожидаемых исключений. Исключения и наследование. Иерархия исключений стандартной библиотеки.
^ Тема 10. Организация работы со списками
Списки, очереди, стеки. Основные понятия и определения. Организация, структурные элементы и создание объектно-ориентированных списков.
^ Тема 11. Стандартная библиотека шаблонов (STL)
Введение в стандартную библиотеку шаблонов. Контейнеры. Итераторы. Адаптеры контейнеров. Алгоритмы. Основные алгоритмы поиска и сортировки. Математические алгоритмы.
Тема 12. РАЗРАБОТКА ПРОГРАММ ПОД WINDOWS.
Общие положения разработки программ под Windows. Понятие событийно-ориентированного программирования. Программирование на основе WinAPI.
^ ПЕРЕЧЕНЬ ЛАБОРАТОРНЫХ РАБОТ.
По курсу запланировано 16 четырехчасовых лабораторных работ. В табл. 1 приведен примерный перечень работ с указанием цели каждой работы. Техническим обеспечением лабораторного практикума является ПЭВМ с объемом оперативной памяти от 16 Мб и сервером с архивированными лицензионными копиями программного обеспечения.
Таблица 1
№ | Название работы | Цель работы |
1 | Объекты и классы Инкапсуляция | Разработать программу с использованием: классов (объектов), внешнего доступа к компонентам объекта (friend) вложенных классов. |
2 | Наследование (простое), полиморфизм | Разработать программу по замещению функций-членов базового класса, с использованием виртуальной функции, перегрузки и переопределения функций. |
3 | Наследование (множественное), виртуальное наследование классов | Разработать программу с использованием множественного наследования. |
4 | Перегрузка операторов | Составить программу перегрузки операторов +,-. ++,--,=. == и др. |
5 | Ссылки. | Разработка программы с использованием ссылки. |
6 | Абстрактные классы | Разработка программы с использованием чисто виртуальных функций. |
7 | Потоки в/в, файлы | Разработать программу организации работы с потоками ввода вывода. Работа с файлами. |
8 | Шаблоны | Разработать программу с использованием шаблонов (классов, функций). |
9 | Исключения. | Обработка исключений в программах |
10 | Контейнеры и алгоритмы STL | Разработка программы с использованием контейнерных классов и стандартных алгоритмов STL. |
11 | Контейнерные классы и итераторы | Разработка программы создания контейнерного класса (одно или двунаправленный список) |
12 | Контейнерные классы и итераторы | Разработка программы создания контейнерного класса. Организация бинарного дерева. |
13 | Вывод информации на экран. | Работа с текстом. |
14 | Работа с текстовыми документами | Создание простейшего текстового редактора. |
15 | Панели инструментов и строка состояния | Разработать программу добавления и удаления кнопок. |
16 | Печать документов и организация прокрутки в окне | Печать текста и его просмотр |
ЛИТЕРАТУРА.
ОСНОВНАЯ
- Х.Дейтел, П.Дейтел. Как прграммировать на С++: Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 1999 г. – 1024 с.: ил.
- Х.Дейтел, П.Дейтел. Как прграммировать на С++: Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 2001 г. – 1152 с.: ил.
- Касаткин А.И., Вальвачев А.Н. От TURBO C к Borland C++. Мн.: Вышейшая школа, 1992г. –240 с.: ил.
- Кнут Д.Э. Искусство программирования, том 1. Основные алгоритмы, 3-е изд.: Пер. с англ. : Уч. Пос. – М. : Издательский дом «Вильямс», 2000. – 720 с. : ил.
- Кнут Д.Э. Искусство программирования, том 2. Получисленные алгоритмы , 3-е изд.: Пер. с англ. : Уч. Пос. – М. : Издательский дом «Вильямс», 2000. – 832 с. : ил.
- Кнут Д.Э. Искусство программирования, том 3. Сортировка и поиск, 2-е изд.: Пер. с англ. : Уч. Пос. – М. : Издательский дом «Вильямс», 2000. – 832 с. : ил.
- Скляров В.А. Язык С++ и объектно-ориентированное программирование –Мн.: Выш. шк.1997.- 478 с.
- Скляров В.А. Программирование на языках Си и Си++ –М.: Высш. шк.1999.- 288 с.
- Пол Ирэ Объектно ориентированное программирование с использованием С++; - К.: НИПФ «ДиаСофт Лтд» 1995. –480с.
- Шилд Г. Программирование на ИЩКДФТВ С++ для профессионалов. – Мн.: ООО «Попурри», 1998. –800 с.
ДОПОЛНИТЕЛЬНАЯ
- Круглински Дэвид. Основы Visual C++/Пер. с англ.-М.: Издательский отдел «Русская редакция» ТОО “ Channel Trading Ltd.”,1997.-696 с.:ил.
- Чен М.С., Грифис С.В., Изи Э. Ф. Программирование на JAVA: 1001 совет/ Пер. с англ.- Мн.:ООО «Попури», 1997.-640с.
- Холзнер С. VISUAL C++6 учебный курс. –СПб: ЗАО «Питер», 1999 – 576 с.; ил.
Утверждена
УМО вузов Республики Беларусь
по образованию в области информатики
и радиоэлектроники
« 03 » июня 2003 г.
Регистрационный № ТД-40-012/тип.
^ ВИЗУАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ ПРИЛОЖЕНИЙ
Учебная программа для высших учебных заведений
по специальности -40 01 02-02 Информационные системы
и технологии (в экономике)
Согласована с Учебно-методическим управлением БГУИР
« 28 » мая 2003 г.
Составители:
В.Н. Комличенко, заведующий кафедрой экономической информатики Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», доцент, кандидат технических наук;
^ Н.А. Кириенко, доцент кафедры экономической информатики Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», кандидат технических наук
Рецензенты:
П.Н. Бибило, заведующий лабораторией логического проектирования Государственного научного учреждения «Объединенный институт проблем информатики» Национальной академии наук Беларуси, профессор, доктор технических наук;
Кафедра математики и информатики Учреждения образования «Европейский гуманитарный университет» (протокол № 5 от 28.01.2003 г.)
Рекомендована к утверждению в качестве типовой:
Кафедрой экономической информатики Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (протокол № 15 от 10.02.2003 г.);
Научно-методическим советом по специальности -40 01 01 Информационные системы и технологии (по направлениям) УМО вузов Республики Беларусь по образованию в области информатики и радиоэлектроники (протокол № 3 от 27.05.2003 г.)
Действует до утверждения Образовательного стандарта по специальности.
^ ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Программа «Визуальные средства разработки приложений» разработана для специальности -40 01 02-02 Информационные системы и технологии (в экономике) высших учебных заведений.
Дисциплина «Визуальные средства разработки приложений» является составной частью цикла дисциплин по информационным технологиям, изучаемых студентами на протяжении всего курса обучения в университете. Она обеспечивает формирование у студентов базовых понятий и навыков создания программных комплексов в операционной среде Windows, без которых невозможно изучение многих последующих дисциплин данного направления, а также эффективное использование информационных технологий в специальных дисциплинах.
Цель изучения данной дисциплины – овладение знаниями и навыками использования языка С++, библиотеки классов MFC и среды Microsoft Visual Studio для разработки Windows-приложений, применяемых при автоматизации решения экономических задач.
В результате изучения дисциплины «Визуальные средства разработки приложений» студент должен:
знать:
- базовые понятия операционной системы Windows;
- методы и средства разработки Windows-приложений с помощью Visual C++;
уметь характеризовать:
- современные технологии разработки программ с использованием визуальных средств разработки;
- особенности программирования в операционной системе Windows;
уметь анализировать:
- предлагаемый средой Microsoft Developer Studio набор средств разработки с целью использования для создания программных комплексов;
- возможности, предоставляемые пользователю библиотекой MFC;
приобрести навыки:
- уверенной работы в среде программирования Microsoft Visual Studio;
- самостоятельной разработки Windows-приложений с использованием языка С++ и библиотеки классов MFC;
- проектирования информационных систем с использованием визуальных средств обработки данных.
Программа рассчитана на объем 82 учебных часа. Примерное распределение учебных часов по видам занятий: лекций – 50 часов, лабораторных работ – 32 часа.
^ Раздел 1. основные концепции разработки программных комплексов, функционирующих под управлением Windows
В курсе изучаются основные концепции разработки программных комплексов, функционирующих под управлением Windows. Рассматривается технология проектирования приложений под Windows с использованием языка С++, библиотеки классов MFC и среды Microsoft Visual Studio.
Рассматриваются преимущества использования Visual C++ для разработки приложений с современным интерфейсом, отвечающим сложившимся стандартам функционирования программ под Widows. Большое значение приобретает возможность за короткие сроки (благодаря использованию библиотеки MFC) разработать приложение, совмещающее сложную обработку данных с богатыми средствами их отображения на экране, включающими диалоговые окна, элементы управления Active X. Visual C++ дает возможность использования технологии клиент-сервер, программирования для Internet, автоматизированной разработки справочной системы.
Особое внимание уделяется изучению средств автоматизации разработки Windows-приложений, применяемых при решении экономических задач. Изучение методов создания приложений сопровождается рассмотрением примеров, отражающих приемы программирования в среде Microsoft Visual C++ с использованием библиотеки классов MFC.
Данная дисциплина имеет тесную связь с дисциплинами «Основы информатики и программирования», «Языки программирования С и С++», «Объектно-ориентированное программирование и проектирование».
^ Раздел 2. Обзор среды Microsoft Visual Studio
Раздел посвящен знакомству со средой программирования Microsoft Visual Studio и компилятором Visual C++. Рассматриваются всевозможные команды и опции меню, имеющиеся в распоряжении пользователя. Изучаются возможности создания и редактирования программ, классов, приложений. Рассматриваются возможности компилятора Visual C++ 6.
Тема 2.1 среда программирования Microsoft Visual Studio. Средства, возможности и общие характеристики интерфейса. Компилятор Visual C++. Интерфейс и средства создания, редактирования, отладки и выполнения программ.
Тема 2.2 Концепция документ/представление.
Рабочие пространства, файлы и классы проектов. Основные опции и настройки среды Visual C++.
^ Раздел III. Программирование Windows-приложений
Тема раздела посвящена изучению работы Windows и принципов взаимодействия с ней программ. Рассматриваются специфика Windows-программы, содержание и назначение библиотеки классов MFC, архитектура приложения.
^ Тема 3.1 КОНСОЛЬНЫЕ ПРИЛОЖЕНИЯ
Создание консольных приложений. Простое консольное приложение с использованием языка С++, но без использования классов и библиотеки MFC. Объектно-ориентированное консольное приложение с возможностями построения объектов и поддержкой библиотекой классов MFC.
^ Тема 3.2 ПРОСТОЕ ДИАЛОГОВОЕ ПРИЛОЖЕНИЕ
Создание простого диалогового приложения. Анализ текста программ, построенных мастером AppWizard.
Тема 3.3 ВЗАИМОДЕЙСТВИЕ ПРОГРАММ В Windows
Интерфейс вызовов функций в Windows. Многозадачность и взаимодействие программ в Windows.
^ Тема 3.4 Специфика программ для Windows
Специфика программ для Windows. Функция окна. Цикл сообщений. Карта сообщений и ее значение для организации обработки сообщений. Сообщения, которые перехватываются функциями MFC. Организация перехвата сообщений в приложении с помощью ClassWizard. Добавление обработчиков сообщений. Команды, обновления команд. Перехват команд и их обновлений с помощью ClassWizard. Библиотека MFC.
^ Тема 3.5 Архитектура приложения
Архитектура приложения. Каркас приложения. Проект приложения.
Тема 3.6 Библиотека классов MFC
Краткий обзор классов MFC. Использование средств разработки.
^ Раздел IV. Основные методы проектирования Windows-приложений с использованием библиотеки MFC
Рассматриваются основные методы и средства автоматизированной разработки приложений: AppWizard для шаблона приложения и ClassWizard для проектирования классов. Обзор классов окон библиотеки MFC. Стандартные диалоговые панели.
^ Тема 4.1 средство проектирования классов ClassWizard
ClassWizard и диалоговые окна. Использование ClassWizard для проектирования классов. Основные этапы разработки Windows-приложений. Жизненный цикл программ. Особенности работы над проектом группы разработчиков.
^ Раздел V. Архитектура Document-View. SDI- и MDI-приложения
Рассматривается концепция «документ-представление» для представления данных в Windows-приложениях. Дается характеристика классов документа и представления, рассматриваются способы построения однодокументных и многодокументных приложений.
^ Тема 5.1 Архитектура Document-View
Архитектура Document-View. Классы документа и представления.AppWizard и однооконное приложение. AppWizard и многооконное приложение.
^ Тема 5.2 Работа с документами
Классы для работы с документами. Обработка командных сообщений. Вывод на экран и вывод документа на печать.
Раздел VI. Сохранение-восстановление объектов и работа с файлами
Тема раздела посвящена вопросам сохранения и восстановления документа в памяти (сериализации) в процессе работы приложения, а также классам, отвечающим за работу файловой системы.
^ Тема 6.1 Работа с файлами
Классы для работы с файловой системой. Стандартные диалоговые панели открытия и сохранения файлов.
Тема 6.2 Сериализация объектов
Сохранение и восстановление состояния объектов (сериализация данных). Создание класса, обеспечивающего сериализацию объектов. Сериализация в классе документа.
^ Раздел VII. ПОвышение производительности приложений
Повышение производительности приложений. Макросы ASSERT и TRACE. Отладочные функции. Устранение утечки памяти. Оптимизация. Работа с исключениями. Вопросы повышения производительности приложений, контроля промежуточных данных при отладке, причины возникновения и устранение утечки памяти, функции обработки исключений.
^ Раздел VIII. Введение в технологии OLE и ActiveX
Введение в технологии OLE и ActiveX. Связывание и внедрение объектов. Контейнеры и серверы. Основные концепции технологий OLE и ActiveX для создания многокомпонентных документов. Понятия связывания и внедрения объектов. Примеры многокомпонентных объектов.
^ Раздел IX. Доступ к базам данных
Рассматриваются возможности Visual C++ по созданию приложений, работающих с базами данных. Классы для работы с использованием ODBC. Создание программы, работающей с БД на основе классов ODBC. Регистрация БД. Создание экранной формы для отображения содержимого БД. Добавление и удаление записей. Сортировка и фильтрация записей. Схема процесса обмена данными между источником данных и экранной формой. Режимы работы с наборами данных Snapshot и Dynaset. Базы данных SQL и C++. Основные положения работы в Enterprise Edition.
^ Раздел X. Разработка сетевых приложений
Рассматриваются вопросы программирования с использованием TCP/IP протокола. Сокеты, порты, адреса. Модель клиент-сервер. Класс CAsyncSocket. Проектирование и программирование сетевого приложения.
^ Примерный перечень лабораторных работ
В табл. 1 приведен примерный перечень работ с указанием цели каждой работы. Техническим обеспечением лабораторного практикума является ПЭВМ с объемом оперативной памяти от 16 Мб и сервером с архивированными лицензионными копиями программного обеспечения.
Таблица 1
№ | Название работы | Цель работы |
1 | ^ Создание SDI-приложенияи использование графических возможностей библиотеки MFC | Знакомство со средой Microsoft Visual Studio. Разработка каркаса приложения с однодокументным интерфейсом. Разработка классов для хранения информации об объекте. Рисование основных графических примитивов. Использование кисти и пера в приложении. Реализация команд меню. |
2 | ^ Сериализация и хранение данных | Обеспечение сериализации в классе документа и в разработанных классах. Изучение технологии drag-and-drop. Регистрация типа файла. |
3 | ^ Диалоговые окна и элементы управления | Формирование ресурсов диалогового окна. Создание диалога и его класса. Организация вывода диалогового окна на экран. Окна редактирования, списки, поля со списком, переключатели-радиокнопки, флажки, кнопки. |
4 | ^ Разработка приложения управления базой данных | Разработка интерфейса для работы с базой данных. Организация редактирования, сортировки и фильтрации данных. |
5 | Работа с базой данных на основе OLE DB | COM-интерфейс доступа к данным. Использование COM-интерфейсов для программирования приложений. |
6 | ^ Построение приложений на основе ActiveX | Управляющие элементы ActiveX. Разработка приложений для работы с БД на основе управляющих элементов ActiveX. |
7 | Разработка многопоточных приложений | Потоковая многозадачность. Синхронизация потоков, работа с семафорами и с объектами событий. |
8 | ^ Разработка сетевых приложений | Понятие адреса, порта, сокета. Протокол TCP/IP и UDP. Использование сокетов для разработки приложений “клиент-сервер” |
ЛИТЕРАТУРА
Основная
- Г.Шилдт. Самоучитель C++ (3-е издание). BHV - Санкт-Петербург, 2001, 688 с.
- Г.Шилдт. Теория и практика C++. BHV - Санкт-Петербург, 1999, 416с.
- Б.Страуструп. Язык программирования C++ (Специальное издание), «Невский диалект», 2001, 1099с.
- Г. Шилдт. "MFC: основы программирования".
- К. Грегори. Использование Visual C++ 6. Специальное издание.: Пер. с англ. - М.; СПб.; К.: Издательский дом «Вильяме»,2000. - 864 с.
- А. Мешков, Ю. Тихомиров. "Visual C++ и MFC" (в 3-х томах)
- Д. Беннет. "Visual C++. Руководство разработчика"
- Н. Гуревич, О. Гуревич. "Освой самостоятельно Visual C++"
- В.А Биллиг, И.Х. Мусикаев. "Visual C++. Книга для программистов"
- Ю.Тихомиров. Самоучитель MFC. - СПб.: БХВ-Петербург. 2002. - 640 с.
- Холзнер С. Visual C++6 [14 уроков для освоения языка]: Учеб. курс. СПб.: Питер. 1999.-569 с.
- Черносвитов A. Visual C++6 и MFC. СПб.: Питер. 2000. - 538 с.
- Паппас Крис, Мюррей Уильям. Полное руководство по Visual C++. Мн. ООО «Попурри». 1999. - 767 с.
- Н.Элджер Джефф. C++. СПб.: Питер. 1999. - 320 с.
- Янг Майкл Дж. Visual C++6. Полн. рук. [в 2 т.]. Изд. группа BHV (Киев) и ООО «Спарк» (Москва). 1999. - 543 с.
- Секунов Н.Ю. Самоучитель Visual C++6. - СПб.: БХВ-Петербург. 1999. - 941 с.
- Вопросы и ответы по С и C++. Подгот. А.В.Крупник. М. «МикроАрт». 1997. - 227 с.
- Мюллер Джон. Visual C++5. СПб.: БХВ-Петербург. 1998. - 713 с.
- Круглински Дэвид. Основы Visual C++. 2002.
- Ласло Майкл. Вычислительная геометрия и компьютерная графика на C++. М. Бином. 1997.-301 с.
- Баженова И.Ю. Visual Studio 98. Visual C++6.0. Уроки программирования. М. АО «Диалог-МИФИ». 1999. - 416 с.
- Гилберт Стивен, Маккартни Билл. Программирование на Visual C++6. Этюды профессионалов. Киев. Diasoft. 1999. - 366 с.
- Черносвитов A. Visual C++7. СПб.: Питер. 2001. - 528 с.
- Халперн П. Стандартная библиотека C++ на примерах. М. и др. Изд. дом «Вильямс» 2001. - 335 с.
- Паппас Крис, Мюррей Уильям. Отладка в C++. Рук. для разработчиков. М. ЗАО «Изд-во Бином». 2001. - 509 с.
- В.Н. Комличенко, Е.Н. Живицкая, С.А. Соколов и др. Лабораторный практикум по курсу «Визуальные средства разработки приложений» для студентов специальности 40 01 02-02 "Информационные системы и технологии в экономике" / -Мн.: БГУИР, 2002.-89с.: ил.
- Скляров В.А. Программирование на языках С и C++. Учеб. пособие для вузов. М. Высш. шк. 1999.-286с.
- Ахметов К. Windows 98 для всех. - М.: КомпьютерПресс, 1998. - 287 с.,
- Бородина А.И. Методы разработки программ. - Мн.: БГЭУ, 1992.
- Буза М.К. Операционная среда Windows и ее приложения. Мн.: Выш. школа, 1997.-
- Настоящий самоучитель Windows 98/2000. Практическое пособие. / Под ред. Комягина В. - М.: Издательство ТРИУМФ, 1999. - 320 с., ил.
- Методическое пособие и учебные материалы по курсу «Основы информатики и вычислительной техники» для студентов экономических специальностей заочной формы обучения. В 2ч./ А.В. Бахирев, Е.Н. Живицкая, В.Н. Комличенко и др.-, 2000.-83с. Мн: БГУИР
- Лабораторный практикум по курсу «Основы информатики и вычислительной техники» для студентов экономических специальностей. В 2ч./ А.В. Бахирев, Е.Н. Живицкая, В.Н. Комличенко и др.-,ч.1- 2001.-68с. Мн: БГУИР
- Лабораторный практикум по курсу по курсу «Основы информатики вычислительной техники» для студентов экономических специальностей заочной формы обучения. В 2 ч./ Е.Н. Живицкая, В.Н. Комличенко и др.- ч. 2-2002.-75с. Мн: БГУИР
Дополнительная
- Андреева А. и др. Новые технологии Windows 2000. /Под ред. Чекмарева А. - СПб.: БХВ - Санкт-Петербург, 1999. - 592 с.
- Дьяконов В. 98 вопросов по Windows 98 с ответами. - М.: Солон-Р, 1999. - 560 с., ил.
- Валединский В.Д. Информатика. Словарь компьютерных терминов. М.: Аквариум, 1997.-
- Лейко И. Осваиваем Windows 98. - М.: ЗАО " Издательство БИНОМ", 1999. - 368 с., ил.
Утверждена
УМО вузов Республики Беларусь
по образованию в области информатики
и радиоэлектроники
« 03 » июня 2003 г.
Регистрационный № ТД-40-013/тип.
^ ЯЗЫКИ ПРОГРАММИРОВАНИЯ ДЛЯ РАЗРАБОТКИ
СЕТЕВЫХ ПРИЛОЖЕНИЙ
Учебная программа для высших учебных заведений
по специальности -40 01 02-02 Информационные системы
и технологии (в экономике)
Согласована с Учебно-методическим управлением БГУИР
« 28 » мая 2003 г.
Составители:
В.Н. Комличенко, заведующий кафедрой экономической информатики Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», доцент, кандидат технических наук;
^ И.Г. Орешко, доцент кафедры экономической информатики Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники»;
^ Е.Н. Унучек, инженер кафедры экономической информатики Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники»
Рецензенты:
Кафедра математического обеспечения АСУ Учреждения образования «Белорусский государственный университет» (протокол № 10 от 26.05.2003 г.);
^
Кафедра информатики и вычислительной техники Учреждения образования «Могилевский государственный университет продовольствия» (протокол № 6 от 10.02.2003 г.)
Рекомендована к утверждению в качестве типовой:
Кафедрой экономической информатики Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (протокол № 15 от 10.02.2003 г.);
Научно-методическим советом по специальности -40 01 01 Информационные системы и технологии (по направлениям) УМО вузов Республики Беларусь по образованию в области информатики и радиоэлектроники (протокол № 3 от 27.05.2003 г.)
Действует до утверждения Образовательного стандарта по специальности.
^ ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Дисциплина «Языки программирования для разработки сетевых приложений» является центральной в цикле освоения языков программирования и технологий ориентированных на разработку и применение сетевых технологий для экономических задач. Она открывает цикл специальных дисциплин, посвящаемых сетевой тематике, без знания которой нельзя представить сегодня специалиста в области информационных технологий. В настоящее время, разработка любой информационной системы должна допускать сетевое использование. Рассматриваемая дисциплина определяет базовую подготовку студентов, без которой невозможно изучение последующих специальных дисциплин. Цель ее изучения – овладение знаниями языка программирования и современных технологий эффективной разработки и использования приложений в среде локальных, корпоративных и глобальных сетей для решения практических задач в области экономики и других областях деятельности человека. В настоящее время данная дисциплина ориентирована на изучение языка Java, и технологий, ориентированных на использование этого языка. Почему именно Java и Java-технологии являются объектом изучения данной дисциплины?
Язык Java появился на свет в 1995 и в кратчайшие сроки стал лидером в мире информационных технологий. По статистике, около 80% программных проектов сейчас выполняется на Java и их количество возрастает. Java – достаточно простой язык. Многое позаимствовав от своего знаменитого предшественника С++, Java лишен тех инструментов, которые создавали много проблем в С++: перегрузка операторов, множественное наследование и некоторых других. Java является чисто объектно-ориентированным языком программирования. На сегодняшний день объектно-ориентированный подход к разработке программ наиболее популярен, и Java поддерживает его в полной мере. Уникальным свойством Java является его распределённость: объекты программы могут быть «разбросаны» по различным компьютерам, подключенным к Internet. Средой работы языка стала вся сеть. Java – безопасный язык, что чрезвычайно значимо для работы в Internet, он снабжен средствами защиты, которые не позволят использовать его для несанкционированного доступа к информации. Java – истинный переносимый и платформо-независимый язык. Программа будет выполняться в любой среде и любой платформе, будь то Windows, UNIX, Macintosh или любая другая архитектура. Все это делает Java замечательным инструментом не только для программирования в Internet, но и создания автономных приложений. Язык непрерывно и стремительно развивается, обогащаясь новыми технологиями и на сегодняшний день является наиболее перспективным.
Предполагается, что студенты, изучающие данный курс достаточно хорошо освоили язык и принципы объектно-ориентированного программирования на С++. Курс базируется на знаниях, и читается после изучения дисциплин: «Компьютерные сети», «Основы и лингвистическое обеспечение баз данных», а также дисциплины «Системный анализ и проектирование информационных систем».
В результате освоения курса «Языки программирования для разработки сетевых приложений» студент должен:
знать:
- Язык программирования Java;
- Многопоточное программирование;
- Методы разработки приложений Java различных типов;
- Методы разработки и использования сервлетов и страниц JSP;
- Методы разработки распределенных приложений.
уметь характеризовать:
- работу приложений Java, наиболее перспективные и рациональные способы организации и разработки сетевых приложений;
- структуру и возможности рассмотренного языка и технологий;
- наиболее эффективные методы организации сетевого взаимодействия;
- возможности и перспективы языка программирования;
- основные направления развития в области сетевых технологий;
- требования к технологическим и техническим ресурсам для решения конкретных задач;
уметь анализировать:
- уровень эффективности предлагаемых программных решений;
- состояние и перспективы развития языков программирования и сетевых технологий;
- программные и технологические средства поддержки программирования;
- эффективность операционных систем и инструментальных средств программирования;
приобрести навыки:
- разработки программ на Java;
- подбора и обоснование принимаемых решений по проектированию и программированию прикладных задач;
- использования современных языков и технологий программирования для разработки сетевых приложений;
- разработки Web–страничек и Web–серверов, клиентских и серверных приложений;
- использования наиболее перспективных клиентских и серверных технологий;
- программирования работы с сетевым аппаратным и программным оборудованием;
- написания программ на основе распределения функций и данных между узлами сети;
- использования программных средств для создания сетевых информационных систем и технологий.
Программа рассчитана на объем 68 часов. Примерное распределение учебных часов по видам занятий: лекций – 34 часов, лабораторных работ – 34 часов.
Раздел 1. ЯЗЫК ПРОГРАММИРОВАНИЯ JAVA
Тема 1.1. Введение. Предмет и содержание дисциплины.
Предмет и содержание дисциплины, ее место и значение для формирования специальности, связь с другими дисциплинами.
Тема 1.2. Язык Java. Обзор базовых конструкций и основных элементов языка. Отличительные особенности Java (по сравнению с С++).
Форматы основных выражений. Особенности операторов программирования и других базовых конструкций языка. Типы данных и операторы управления. Динамическая инициализация, область действия и время жизни переменных, преобразование и приведение типов, расширение типов. Особенности объявления структурных типов. Особенности разработки архитектуры приложений в Java. Основные виды приложений.
^ Тема 1.3. Введение в классы Java. Методы и классы.
Особенности реализации основных фундаментальных свойств ООП в Java. Классы и объекты. Динамическая инициализация объектов. Ссылочные переменные объекта. Ограничения доступа к элементам. Методы класса, конструкторы, параметризация методов. Использование ключевого слова this. Скрытие экземпляра. Сборка «мусора». Перегрузка и переопределение методов. Использование и передача методов в качестве параметра. Рекурсия. Ограничения и управления доступом. Специализация методов. Использование аргументов командной строки. Вложенные и внутренние классы. Классы Stack и String.
^ Тема 1.4. Классы и наследование в Java.
Основы наследования. Модификаторы ограничения доступа к элементам при наследовании. Понятие суперкласса и подкласса и организация связей при наследования. Использование ключевого слова super. Вызов конструктора суперкласса с помощью форм ключа super. Создание многоуровневой иерархии. Переопределение и применение переопределенных методов. Динамическая диспетчеризация методов. Понятие и использование абстрактных классов. Использование ключевого слова final при наследовании. Иерархия классов, класс Object.
^ Тема 1.5. Пакеты и интерфейсы
Пакеты. Определение пакета. Использование CLASSPATH. Защита и управление доступом. Импорт пакетов. Интерфейсы. Определение интерфейса. Реализация интерфейсов. Применения интерфейсов. Переменные в интерфейсах. Расширение интерфейсов.
^ Тема 1.6. Методы и средства обработка исключений
Необходимость обработки исключительных ситуаций. Основные принципы обработки исключений. Типы исключений. Использование операторов try и catch. Множественные операторы catch. Вложенные операторы try. Оператор throw. Методы с ключевым словом throws. Блок finally. Встроенные исключения Java. Создание собственных подклассов исключений. Использование исключений.
^ Тема 1.7. Многопоточное программирование.
Поточная модель Java. Класс Thread и интерфейс Runnable. Главный поток. Создание потока. Реализация интерфейса Runnable. Расширение Thread. Выбор подхода. Создание множественных потоков. Использование методов isAlive() и join(). Приоритеты потоков. Синхронизация. Передача сообщений. Использование синхронизированных методов. Оператор synchronised. Межпоточные связи. Блокировка. Приостановка, возобновление и остановка потоков в Java. Использование многопоточности.
^ Тема 1.8. Основы ввода/вывода.
Потоки. Байтовые и символьные потоки. Предопределенные потоки. Чтение консольного ввода. Чтение символов. Чтение строк. Запись консольного вывода. Класс PrintWriter. Чтение и запись файлов. Апплеты. Основы программирования. Использование instanceof. Native-методы. Проблемы native-методов.
^ Тема 1.9. Работа со строковыми данными
Обработка строк. String-конструкторы. Длина строки. Специальные строковые операции. Строковые литералы. Конкатенация строк. Конкатенация других типов данных. Преобразование строк и метод toString(). Извлечение символов. Сравнение строк. Поиск строк. Изменение строки. Преобразование данных, использующее метод valueOf(). Другие методы для работы со строками.
Тема 1.10. пакеты JAVA
Понятие пакета. Организация и особенности доступа к классам пакетов. Преимущества пакетирования. Основные пакеты Java.
Тема 1.11. События
Обработка событий. Два механизма обработки событий. Модель делегирования событий. Источники событий. Блок прослушивания событий. Классы событий. Интерфейсы прослушивания событий. Обработка событий мыши. Обработка событий клавиатуры. Классы-адаптеры. Внутренние классы. Анонимные внутренние классы.
^ Тема 1.12. Классы AWT.
Основы оконной графики. Класс Component. Класс Container. Класс Panel. Класс Window. Класс Frame. Класс Canvas. Работа с фреймовыми окнами. Создание фрейм-окна в апплете. Обработка событий фрейм-окна. Отображение информации в окне. Работа с графикой. Методы управления цветом. Работа со шрифтами. Управление текстовым выводом.
Использование элементов управления, менеджеров компоновки и меню AWT. Элементы управления. Основные понятия. Добавление и удаление элементов управления. Реагирование на элементы управления. Понятие менеджера компоновки. Работа с меню и диалоговыми окнами.
Работа с изображениями. Создание объекта изображения. Загрузка изображения. Просмотр изображения. Интерфейс ImageObserver. Буферизация. Фильтры.
Раздел 2. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
Тема 2.1. Разработка сетевых приложений.
Основы работы в сети. Обзор сокетов. Клиент-сервер. Зарезервированные сокеты Proxy-серверы. Адресация Internet. Сетевые классы и интерфейсы. Класс InetAddress. Сокеты TCP/IP клиентов. Использование URL. Сокеты TCP/IP серверов. Дейтаграммы. Основные классы и интерфейсы реализации сетевого взаимодействия. Распределенная обработка данных. Вызов удаленных методов (RMI).
^ Тема 2.2. Апплеты
Основы апплетов. Класс Applet. Архитектура апплета. Инициализация и завершение апплета. Переопределение метода update(). Простые методы отображения апплетов. Требование перерисовки. Тег