Информатики и радиоэлектроники»
УТВЕРЖДАЮ
Декан ФИТУ
________________ Л.Ю. Шилин
«___»___________ 2011 г.
Регистрационный № УД-_____________/р.
РАБОЧАЯ ПРОГРАММА
по дисциплине ''Современные системы программирования”
для специальности 53 01 02 ''Автоматизированные системы обработки
информации''
факультет ''Информационные технологии и управление''
кафедра ''Информационные технологии автоматизированных систем''
курс 4,5
семестр 8,9
лекции - 96 ч. (48ч- семестр 8, зачет - 8 семестр
48ч- семестр 9 экзамен - 9 семестр
лабораторные занятия - 48 ч.
(24 – семестр 8,
24 – семестр 9)
всего часов - 314.
форма получения высшего образования –
дневная
Минск 2010
Рабочая программа составлена на основе типовой учебной программы ''Современные системы программирования'', утверждённой Министерством образования Республики Беларусь ''15'' 06 2003 г., регистрационный номер №ТД- 1.149 /тип.
Составитель:
О.В. Герман,кандидат технических наук, доцент кафедры информационных технологий автоматизированных систем Белорусского государственного университета информатики и радиоэлектроники.
Рассмотрена и рекомендована к утверждению на заседании кафедры информационных технологий автоматизированных систем
протокол №_____от _______________2009 г.
Заведующий кафедрой _____________ В.С. Муха
Одобрена и рекомендована к утверждению Советом факультета информационных технологий и управления
протокол №_____от _______________2009 г.
Председатель ____________ Л. Ю. Шилин
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Учебная рабочая программа «Современные системы программирования» разработана для студентов специальности 1-53 01 02 Автоматизированные системы обработки информации высших учебных заведений. Программа составлена в соответствии с требованиями Образовательного стпандарта № ОСРБ 1-53 01 02-2007 по специальности 1-53 01 02 Автоматизированные системы обработки информации и типовой учебной программы ''Современные системы программирования'', утверждённой Министерством образования Республики Беларусь ''15'' 06 2003 г., регистрационный номер №ТД- 1.149 /тип.
ЦЕЛИ И ЗАДАЧИ КУРСА, ЕГО МЕСТО В УЧЕБНОМ ПРОЦЕССЕ
Целью курса "Современные системы программировнаия" является изучение основных концепций современных систем программирования на базе технологии NET а также теоретических и практических основ построения компиляторов и интерпретаторов языков программирования, систем тестирования и верификации программ, вопросов обоснования корректности и спецификаций программ, реализованных на основе современных систем объектно-ориентированного и визуального программирования (С#.NET).
Основные задачи: освоение и инженерное использование методов работы с файлами, базами данных, сетевого программирования, реализации графического интерфейса и механизмов потокового программирования, а также овладение теоретическими принципами компиляции и синтаксического распознавания языков, методами тестирования и отладки, включая вопросы спецификации и обоснования корректности программ, их анализа, принципов построения сложных программных систем.
Курс рассчитан на два семестра в объеме 96 лекционных часов и 48 лабораторных часов.
Для изучения курса «Современные системы программирования» необходимы базовые знания по следующим дисциплинам: «Основы алгоритмизации и программирования», «Основы информационных технологий», «Объектно-ориентированное программирование и птроектирование».
В результате изучения дисциплины обучаемый должен:
знать:
– основные принципы программирование на платформе NET;
– технологию ADO.NET и способы работы с реляционными базами данных в сетевом и локальном режимах;
– технологию ASP.NET;
– принципы создания WEB-сервисов;
– основы технологии LINQ;
– работу с сервером MS SQL SERVER 2008 (2005);
уметь:
– применять NET- технологии при разработке практических приложений в автоматизированных информационных системах;
– создавать клиент-серверные системы;
– создавать визуальный интерфейс с базами данных;
– создавать WEB-приложения;
Перечень дисциплин, усвоение которых необходимо
для изучения данной дисциплины.
№ пп | Название дисциплины | Раздел, тема |
1. | Основы алгоритмизации и программирования | Основы хранения и представления информации; Виды информации и ее представление в ЭВМ |
Объектно-ориентированное программирование и проектирование | Классы. API-вызовы. Работа с базами данных |
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
НАЗВАНИЕ ТЕМ ЛЕКЦИОННЫХ ЗАНЯТИЙ, ИХ СОДЕРЖАНИЕ, ОБЪЁМ В ЧАСАХ
№ пп | Название темы | Содержание | Объем в часах (ауд.) |
СЕМЕСТР 8 24 час. | |||
Раздел 1. Технология программирования в С#.NET - 26 ч | |||
1. | Вводная лекция | Характеристика существующих технологий программирования. Классификация языков и систем программирования. История создания и перспективы развития систем программирования. Определение формальных языков. Классификация Н.Хомского. Задачи разбора языков. История и основные концепции платформы NET | |
2. | Основные концепции программироваия в Visual Net | Основы построения программ в С#. Классы и интерфейсы. Пространство имен. Наследование и инкапсуляция. Подключение пакетов (using). | |
3. | Ввод/вывод информации | Построение консольных приложений. Классы для работы с файлами. Сохранение текста и рисунков. Сериализация объектов. | |
4. | Работа с базами данных | Классы для работы с базами данных. SQL-адаптеры. | |
Работа в сети | Организация клиент-серверного взаимодействия на основе проколов НTTP и TCP. Взаимодействие через порты. | ||
Потоковое программирование | Создание потоков. Реализация серверов и клиентов. Ввод-вывод данных через потоки. Анимация графических образов. | ||
Компонентное программирование | Создание собственных компонентов. Создание COM и ACTIVEX-компонентов и включение их в программу. | ||
Создание сборок | Построение DLL-функций. Работа с библиотеками. Сборки и их реализация. | ||
Раздел 2. WEB-ПРОГРАММИРОВАНИЕ - 6ч | |||
Основы WEB-программирования | Работа с приложениями ASP. Создание Web-сервисов. | ||
Работа с документами XML | Работа с XML-базами данных. Обработка HTML-форм. | ||
Раздел 3. РАБОТА C ДАННЫМИ -16ч | |||
Основы работы с сервером SQL 2008 | Создание баз данных. Форматы данных. Подключение сервера. Создание таблиц и представлений. Редактор запросов | ||
Работа на основе классов ODBCConnection, OLEDBConection, SQLConnection. Технология LINQ | Установление соединений. Выполнение SQL-запросов. Параметризованные запросы. Запросы на выполнение хранимых процедур. | ||
Программирование визуального интерфейса с базами данных | Визуальные компоненты и их использование: списки, меню, поля редактирования. Привязка полей таблиц к визуальным компоненам. Навигация по таблицам.. | ||
Итого: 8 семестр |
СЕМЕСТР 9 | |||
Раздел 4. СЕТЕВОЕ ПРОГРАММИРОВАНИЕ В NET -26ч | |||
1. | Вводная лекция | Обзор сетевых протоколов. Базовые протоколы. Протоколы Интернет. Доменные сервера. Web-прокси | |
2. | Создание сетевых приложений на основе сокетов TCP. | Асинхронный и синхронный ввод-вывод. Класс TCPClient. Класс TCPListener. Пример приложения | |
3. | Работа на основе протокола UDP | Основные понятия протокола UDP. Описание класса UDPClient. Реализация файлового сервера. Прием и передача файла. | |
4. | Работа на основе протокола HTTP | HTTP-заголовки. HTTPWebRequest, HTTPWebResponse. Отсылка данных на сервер. реализация клиента WEBClient. | |
Работа с XML-документами | Спецификация XML-документов. Классы для работы с XML-документами. Примеры использования | ||
Электронная почта | Протокол SMTP. Реализация типичного приложения для отсылки электронной почты. Принятие сообщений. POP3 и другие протоколы для работы с почтой. | ||
Криптография в NET. | Алгоритмические основы криптографии. Алгоритм RSA. Класс HashAlgorithm. Класс AssymetricAlgorithm. | ||
Раздел 5. WEB-ПРОГРАММИРОВАНИЕ В NET(Расширенные возможности) -22ч | |||
Создание ASP.NET-скриптов | Особенности технологии ASP-NET. Мастер развертывания сценария ASP-NET. Передача параметров скрипту и возврат значений. | ||
Элементы управления AJAX в ASP.NET | Создание страницы AJAX. Создание WPF-приложения для браузера. Соображения юезопасности и развертывание приложения | ||
WEB-сервисы | Понятие сервиса и концепция его использования. Создание WEB-сервиса. Примеры. | ||
Разработка офисных бизнес-приложений | Функциональные возможности Office. Создание надстройки для Office. Модификация панели задач. Реализация смарт-тегов. | ||
Основы WindowsWorkFlow | Компоненты рабочего процесса. Описание визуального конструктора рабочих процессов. Описание хоста и клиента для рабочего процесса. | ||
Итого: 9 семестр |
2.2. ПЕРЕЧЕНЬ ТЕМ ЛАБОРАТОРНЫХ ЗАНЯТИЙ,
ИХ НАИМЕНОВАНИЕ И ОБЪЁМ В ЧАСАХ
№ пп | Название темы | Содержание | Объем в часах (ауд.) |
СЕМЕСТР 8 24 час. | |||
1. | Основы программирования в C#.NET | Основы построения программ в С#. Классы и интерфейсы. Пространство имен. Наследование и инкапсуляция. Подключение пакетов (using). | |
2. | Работа с файлами в С#.NET. | Операции с файлами:чтение, запись, обновление, сериализация объектов. Сохранение рисунков. | |
3. | Базы данных и язык SQL. | Подключение к источнику данных. Обработка SQL запросов. Навигация по таблицам | |
4. | Создание потоков. | Об’явление потоков. Создание анимации на основе потоков. | |
Работа в сети | Организация клиент-серверного взаимодействия на основе проколов НTTP и TCP. Взаимодействие через порты. | ||
Графика в С#. | Создание потоков. Реализация серверов и клиентов. Ввод-вывод данных через потоки. Анимация графических образов. | ||
Итого семестр 8 24 час. | |||
СЕМЕСТР 9 24 час. | |||
Основы WEB-программирования | Работа с приложениями ASP. Создание Web-сервисов. | ||
Работа с документами XML | Работа с XML-базами данных. Обработка HTML-форм. | ||
Создание WEB-сервисов | Разработка WEB-сервисов. Вызов методов сервиса из приложения клиента. Изучение файла конфигурации | ||
Работа с AJAX в NET | Реализация механизма доступа к удаленной базе данных посредством компонениов AJAX | ||
Реализация почтовой службы. | Формирование, отправка и прием почтовой корреспонденции | ||
Создание собственных компонентов | Использование мастера для создания компонентов пользователя. Подключение класса созданного компонента | ||
Итого: 9 семестр |
УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ
ЛИТЕРАТУРА
ОСНОВНАЯ
- О.В.Герман, Ю.О.Герман. Программирование на JAVA и C#. C-кт Петербург, “БХВ”, 2005- 510c.
- Пауэрс Л., Снелл М. MicroSoft Visual Studio 2008. C-кт Петербург. БХВ, 2009.- 1100с.
- Лабор В.В. Си Шарп. Создание приложений для Windows. – Мн., Харвест, 2003, - 382с.
- Гиббонз П. Платформа NET для Java программистов. Спб., Питер, 2001- 326с.
- Прайс Дж., Гандэрлой М. Visual C#.NET .Полное руководство. Киев, Век, 2004, -958с.
ДОПОЛНИТЕЛЬНАЯ
- Андерсон Р. Доказательство правильности программ. – М, Мир.1982
- Архангельский Б.В., Черняховский В.В. Поиск устойчивых ошибок в программах.- М., Радио и связь, 1989.
3.2. ПЕРЕЧЕНЬ КОМПЬЮТЕРНЫХ ПРОГРАММ, НАГЛЯДНЫХ
И ДРУГИХ ПОСОБИЙ, МЕТОДИЧЕСКИХ УКАЗАНИЙ
И МАТЕРИАЛОВ И ТЕХНИЧЕСКИХ СРЕДСТВ ОБУЧЕНИЯ
1. Система программирования VISUAL STUDIO NET 2005 (2008,2010)
2. Система программирования MS SQL Server 2000 (2005, 2008)
3. Пособие [1] в списке основной литературы
УЧЕБНО-МЕТОДИЧЕСКАЯ КАРТА ДИСЦИПЛИНЫ
Номер недели | Номер темы (по п.2.1) | Название вопросов, которые изучаются на лекциях | Практические (семинарские) занятия (номера) (по п.2.2) | Лабораторные занятия (номера, перечень используемых материалов) (по п.2.3) | Самостоятельная управляемая работа студентов (часы) | Наглядные и методические пособия (номера) (по п.3.2) | Литература (номера) (по п.3.1) указываются главы, разделы, параграфы, страницы | Формы контроля знаний студентов | |
Вводная лекция | Характеристика существующих технологий программирования. Классификация языков и систем программирования. История создания и перспективы развития систем программирования. Определение формальных языков. Классификация Н.Хомского. Задачи разбора языков. История и основные концепции платформы NET | [1-5] | Экзамен | ||||||
Основы построения программ в С#. Классы и интерфейсы. | [1-5] | Зачет по лабораторной тработе | |||||||
Пространство имен. Наследование и инкапсуляция. Подключение пакетов (using). | [1-5] | Экзамен | |||||||
Построение консольных приложений. Классы для работы с файлами. Сохранение текста и рисунков. | [1-5] | Зачет по лабораторной тработе | |||||||
Сериализация объектов.Примеры приложений | Зачетное занятие | ||||||||
Классы для работы с базами данных. SQL-адаптеры. | Зачет по лабораторной тработе | ||||||||
Визуализация данных и работа с конструктором баз данных. Навигация по таблицам | Зачет по лабораторной тработе | ||||||||
Организация клиент-серверного взаимодействия на основе прокола TCP. Взаимодействие через порты. | [2,5] | Зачет по лабораторной работе | |||||||
Организация клиент-серверного взаимодействия на основе проколов НTTP. | [2,6] | Зачет по лабораторной работе | |||||||
Создание потоков. Реализация серверов и клиентов. Ввод-вывод данных через потоки. | [2,6] | Зачет по лабораторной работе | |||||||
Анимация графических образов. | [2,5,6] | Экзамен | |||||||
Создание собственных компонентов. Создание COM и ACTIVEX-компонентов и включение их в программу. | [1] | ||||||||
Построение DLL-функций. Работа с библиотеками. Сборки и их реализация. | [1] | ||||||||
Работа с приложениями ASP. | [1,3,6] | ||||||||
Создание Web-сервисов. | [1] | ||||||||
Работа с XML-базами данных. Обработка HTML-форм. . | [1] | Экзамен | |||||||
Создание баз данных. Форматы данных. Подключение сервера. Создание таблиц и представлений. Редактор запросов | [1,3] | Зачет по лабораторной работе | |||||||
Создание таблиц и представлений. Редактор запросов. | [3] | лабораторной работе | |||||||
Установление соединений. Выполнение SQL-запросов. Параметризованные запросы. | [1] | ||||||||
Запросы на выполнение хранимых процедур. | [1] | ||||||||
Примеры рабочих приложений. Работа с серверами. | [1] | Зачет по лабораторной работе | |||||||
Визуальные компоненты и их использование: списки, меню, поля редактирования. | [1] | Зачет по лабораторной работе | |||||||
Привязка полей таблиц к визуальным компоненам. Навигация по таблицам. | [3] | Зачет по лабораторной работе | |||||||
Работа с компонентом GRID | [3] | Зачет по лабораторной работе | |||||||
ИТОГО СЕМЕСТР 8 48 часов | |||||||||
СЕМЕСТР 9 | |||||||||
Обзор сетевых протоколов. Базовые протоколы. Протоколы Интернет. Доменные сервера. Web-прокси | Экзамен | ||||||||
Асинхронный и синхронный ввод-вывод. | [2] | Экзамен | |||||||
Класс TCPClient. Класс TCPListener. Пример приложения. | [2] | Зачетное занятие | |||||||
Основные понятия протокола UDP. Описание класса UDPClient. | [2] | Зачетное занятие | |||||||
Реализация файлового сервера. Прием и передача файла | [2] | Зачетное занятие | |||||||
HTTP-заголовки. HTTPWebRequest, HTTPWebResponse. | [2] | Зачетное занятие | |||||||
Отсылка данных на сервер. реализация клиента WEBClient. | [2,3] | Зачетное занятие | |||||||
Спецификация XML-документов. Классы для работы с XML-документами. | [2,3] | Зачет по лабораторной работе | |||||||
Примеры использования приложений с XML. | [2,3] | Зачет по лабораторной работе | |||||||
Протокол SMTP. Реализация типичного приложения для отсылки электронной почты. | [2,3] | Зачет по лабораторной работе | |||||||
Принятие сообщений. POP3 и другие протоколы для работы с почтой. | [2,3] | Зачет по лабораторной работе | |||||||
Алгоритмические основы криптографии. Алгоритм RSA | Экзамен | ||||||||
Класс HashAlgorithm. Класс AssymetricAlgorithm. Примеры работы. | Экзамен | ||||||||
Особенности технологии ASP-NET.. | [5] | Зачет по лабораторной работе | |||||||
Мастер развертывания сценария ASP-NET. Передача параметров скрипту и возврат значений | [1,5] | Зачет по лабораторной работе | |||||||
Создание страницы AJAX. Описание технологии AJAX | [5] | Зачет по лабораторной работе | |||||||
Создание WPF-приложения для браузера. Соображения юезопасности и развертывание приложения | [5] | Экзамен | |||||||
Понятие сервиса и концепция его использования. | Зачет по лабораторной работе | ||||||||
Создание WEB-сервиса. Примеры. | Зачет по лабораторной работе | ||||||||
Функциональные возможности Office. | Зачетное занятие | ||||||||
Работа с Excel, Word, Out Look | Зачетное занятие | ||||||||
Создание надстройки для Office. Модификация панели задач. Реализация смарт-тегов. | [5] | Зачетное занятие | |||||||
Компоненты рабочего процесса. Описание визуального конструктора рабочих процессов. | [5] | Зачетное занятие | |||||||
Описание хоста и клиента для рабочего процесса. | Зачетное занятие |