РОССИЙСКАЯ ФЕДЕРАЦИЯ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ Государственное образовательное учреждение высшего профессионального образования ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ «УТВЕРЖДАЮ»: Проректор по учебной работе _______________________ /Волосникова Л.М./ __________ _____________ 2011 г. РАЗРАБОТКА WINDOWS-ПРИЛОЖЕНИЙ НА ПЛАТФОРМЕ MICROSOFT. NET Учебно-методический комплекс. Рабочая программа для студентов очной формы обучения направления 090000.62 – «Информационная безопасность», профиль подготовки «Безопасность распределенных систем» «ПОДГОТОВЛЕНО К ИЗДАНИЮ»: Автор работы _____________________________/Захарова И.Г./ «20» апреля 2011 г. Рассмотрено на заседании кафедры программного обеспечения 20.04.2011, протокол № 9. Соответствует требованиям к содержанию, структуре и оформлению. «РЕКОМЕНДОВАНО К ЭЛЕКТРОННОМУ ИЗДАНИЮ»: Объем 13 стр. Зав. кафедрой ______________________________/Захарова И.Г./ «20» апреля 2011 г. Рассмотрено на заседании УМК ИМЕНИТ, отделение математики, физики, химии и информационных технологий 13.05.2011, протокол № 2 Соответствует ФГОС ВПО и учебному плану образовательной программы. «СОГЛАСОВАНО»: Председатель УМК ________________________/Глухих И.Н./ «______»_____________2011 г. «СОГЛАСОВАНО»: Зав. методическим отделом УМУ_____________/Федорова С.А./ «______»_____________2011 г. РОССИЙСКАЯ ФЕДЕРАЦИЯ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ Государственное образовательное учреждение высшего профессионального образования ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Институт математики, естественных наук и информационных технологий Кафедра программного обеспечения Захарова И.Г. РАЗРАБОТКА WINDOWS-ПРИЛОЖЕНИЙ НА ПЛАТФОРМЕ MICROSOFT. NET Учебно-методический комплекс. Рабочая программа для студентов очной формы обучения направления 090000.62 – «Информационная безопасность», профиль подготовки «Безопасность распределенных систем» Тюменский государственный университет 2011 ЗАХАРОВА И.Г. Разработка Windows-приложений на платформе Microsoft. NET. Учебно-методический комплекс. Рабочая программа для студентов направления 090000.62 – «Информационная безопасность», профиль подготовки «Безопасность распределенных систем» (форма обучения очная). Тюмень, 2011, 13 стр. Рабочая программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПрООП ВПО по направлению и профилю подготовки. Рабочая программа дисциплины опубликована на сайте ТюмГУ: Разработка Windows-приложений на платформе Microsoft. NET [электронный ресурс] / Режим доступа: http://www.umk3.utmn.ru., свободный. Рекомендовано к изданию кафедрой программного обеспечения. Утверждено проректором по учебной работе Тюменского государственного университета. ОТВЕТСТВЕННЫЙ РЕДАКТОР: Захарова И.Г., д.п.н., профессор. © Тюменский государственный университет, 2011. © Захарова И.Г., 2011. 1. Пояснительная записка 1.1.Цели и задачи дисциплины Дисциплина «Разработка Windows-приложений на платформе Microsoft. NET» имеет целью обучить студентов созданию, отладке и тестированию программных приложений в интегрированной среде разработки Microsoft Visual Studio .NET. Задачи дисциплины – совершенствовать знания объектно-ориентированного и визуального программирования, алгоритмов компьютерной обработки структур данных, а также технологии программирования. Данный курс призван развить профессиональные компетенции, включая технологию разработки программного обеспечения на языках высокого уровня. Знания, умения и практические навыки, полученные в результате изучения дисциплины «Разработка Windows-приложений на платформе Microsoft. NET», используются обучающимися при изучении общепрофессиональных и специальных дисциплин, а также при разработке курсовых и выпускных квалификационных работ. 1.2. Место дисциплины в структуре ООП бакалавриата Дисциплина относится к профильным дисциплинам и входит в вариативную часть. Дисциплина развивает компетенции, приобретенные в результате изучения дисциплины «Языки программирования» и ее освоение необходимо для изучения курсов по операционным системам, базам данных, методам и технологиям программирования. Для изучения дисциплины «Разработка Windows-приложений на платформе Microsoft. NET» студент должен успешно освоить дисциплину «Языки программирования» (2-3 семестры), а также дисциплины математического цикла для корректной формализации постановки задач и выбора метода их решения. 1.3. Компетенции выпускника ООП бакалавриата, формируемые в результате освоения данной ООП ВПО. В результате освоения ООП бакалавриата выпускник должен обладать следующими компетенциями: способностью осознавать необходимость соблюдения Конституции Российской Федерации, прав и обязанностей гражданина своей страны, гражданского долга и проявления патриотизма (ОК-1); способностью анализировать социально значимые явления и процессы, в том числе политического и экономического характера, мировоззренческие и философские проблемы, применять основные положения и методы гуманитарных, социальных и экономических наук при решении социальных и профессиональных задач (ОК-3); способностью понимать движущие силы и закономерности исторического процесса, роль личности в истории, политической организации общества, способностью уважительно и бережно относиться к историческому наследию, толерантно воспринимать социальные и культурные различия (ОК-4); способностью к освоению новых образцов программных, технических средств и информационных технологий (ПК-8); способностью осуществлять поиск, изучение, обобщение и систематизацию научно-технической информации, нормативных и методических материалов в сфере своей профессиональной деятельности (ПК-9); способностью применять современные методы исследования с использованием компьютерных технологий (ПК-10). В результате освоения дисциплины обучающийся должен: Знать: объектно-ориентированную парадигму языков программирования; основные способы и принципы представления абстрактных объектов данных; основные этапы реализации проектирования программ; возможности интегрированных сред разработки на примере Microsoft Visual Studio. Уметь: проектировать Windows-интерфейс приложения; использовать приемы визуального программирования в сочетании с разработкой кода; тестировать и отлаживать программы в современных интегрированных средах разработки; применять полученные знания для разработки прикладного программного обеспечения. Владеть: практическими приемами алгоритмизации, разработки, отладки и тестирования программ в различных интегрированных средах на объектно-ориентированных языках, на различных аппаратных платформах, документирования программ. 2. Структура и трудоемкость дисциплины. Таблица 1. Вид учебной работы Всего часов Аудиторные занятия (всего) В том числе: Лекции Практические занятия (ПЗ) Семинары (С) Лабораторные работы (ЛР) Самостоятельная работа (всего) Вид промежуточной аттестации (зачет, экзамен) Общая трудоемкость 108 часа 3 зач. ед. 3. 54 Семестр 4 54 18 18 36 54 36 54 зачет Тематический план. Итог о коли Из них в интерак тивной форме Тема Итого часов по теме № Недели семестра Таблица 2. Виды учебной работы и самостоятельная работа, в час. Лабораторные занятия Самостоятельная работа 2 Лекции 1 4 5 6 3 чест во балл ов 7 8 9 Модуль 1 1.1. Введение в концепцию .NET. Языки 1 программирования. Стандартная система типов 2 1.2. Создание проектов Основные классы. Windows.Forms. 2-4 2 1.3. Пользовательские события. Обработчики 5-6 событий. Всего 6 8 2 0-5 4 8 14 6 0-6 2 8 6 16 8 0-20 6 12 20 38 16 0-31 Модуль 2 2.1. Проектирование пользовательского 7-9 интерфейса. Меню и панели инструментов. 2 6 6 14 6 0-10 2.2. Основные элементы управления. 4 4 10 18 8 0-23 6 10 16 32 14 0-33 2 6 8 16 6 0-8 1013 Всего Модуль 3 3.1. Организация файлами. ввода-вывода. Работа с 14 3.2. Работа с графикой GDI+. 1516 2 6 6 14 6 0-23 3.3. Приложения для работы с базой данных 1718 2 2 4 8 2 0-5 Всего 6 14 18 38 14 0-36 Итого по дисциплине (часов, баллов) 18 36 54 108 44 0- 100 Таблица 3. Виды и формы оценочных средств в период текущего контроля 0-1 0-1 0-3 0-5 0-4 0-5 0-5 014 Модуль 2 2.1 2.2 0-2 0-2 0-4 0-6 Всего 0-4 010 Модуль 3 3.1 3.2 0-1 0-2 0-4 0-6 3.3 Всего 0-3 Итого - 012 0-5 015 039 0-5 0-5 0-5 0-6 0-20 0-31 0-7 0-7 0-5 0-5 0-5 0-5 0-4 010 014 0-10 0-23 0-3 010 0-8 0-23 0-33 0-5 0-36 013 034 015 Итого количество баллов другие формы Информацио нные системы и технологии электронные практикум комплексные ситуационные задания программы компьютерного тестирования Технические формы контроля эссе реферат тест лабораторная работа ответ на семинаре собеседование коллоквиумы Модуль 1 1.1 1.2 1.3 Всего Письменные работы Устный опрос контрольная работа № темы 0-100 Таблица 4. Планирование самостоятельной работы студентов № Модули и темы Виды СРС обязательные дополнитель ные Неделя семестра Объем часов Кол-во баллов 1 6 0-5 2-4 8 0-6 5-6 6 0-20 20 0-31 2 семестр Модуль 1 1.1 1.2 1.3 Введение в концепцию .NET. Языки программирования. Стандартная система типов Создание проектов Windows.Forms. Основные классы. Пользовательские события. Обработчики событий. Всего по модулю 1: Модуль 2 Конспектирование материала на лекционных занятиях Конспектирование материала на лекционных занятиях. Выполнение заданий лабораторных работ Конспектирование материала на лекционных занятиях. Выполнение заданий лабораторных работ Выполнение контрольных работ Работа с учебной литературой Разработка программ Работа с учебной литературой. Разработка программ 2.1 2.2 Проектирование пользовательского интерфейса. Меню и панели инструментов. Основные элементы управления. Всего по модулю 2: Модуль 3 3.1 Организация ввода- вывода. Работа файлами. с 3.2 Работа с графикой GDI+. 3.3 Приложения работы с данных для базой Конспектирование материала на лекционных занятиях. Выполнение заданий лабораторных работ 7-9 6 0-10 10-13 10 0-23 16 0-33 14 8 0-8 15-16 6 0-23 17-18 4 0-5 18 54 0-36 0-100 Разработка программ Конспектирование материала на лекционных занятиях. Выполнение заданий лабораторных работ Выполнение контрольных работ Работа с учебной литературой. Разработка программ Конспектирование материала на лекционных занятиях. Выполнение заданий лабораторных работ Разработка программ Работа с учебной литературой. Разработка программ Конспектирование материала на лекционных занятиях. Выполнение заданий лабораторных работ Конспектирование материала на лекционных занятиях. Выполнение заданий лабораторных работ Выполнение контрольных работ Разработка программ Всего по модулю 3: ИТОГО: 4. Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами № п/ п 1. 2. 3. Наименование обеспечиваемых (последующих) дисциплин Операционные системы Технологии и методы программирования Программирование мобильных устройств Темы дисциплины, необходимые для изучения обеспечиваемых (последующих) дисциплин 1.1 + + + 1.2 + 1.3 2.1 2.2 3.1 3.2 3.3 + + + + + + + 5. Содержание дисциплины. 1.1. Введение в концепцию .NET. Языки программирования. Стандартная система типов. Пространства имен. Основные типы приложений. Элементы интерфейса среды разработки приложений Microsoft Visual Studio .NET. Проекты и задачи. Средства отладки. 1.2. Создание проектов Windows.Forms. Использование шаблонов. Основные классы. Свойства и методы классов. Структура классов Application, Component, Control, Form. Использование в пользовательских проектах. 1.3. Пользовательские события. Обработчики событий. Параметры обработчиков. Изменение стандартных способов обработки событий мыши и клавиатуры. Применение событий мыши и клавиатуры для создания пользовательского интерфейса. 2.1. Проектирование пользовательского интерфейса. Меню и панели инструментов. Разновидности меню и панелей инструментов. Создание панелей инструментов. Использование в приложениях. 2.2. Основные элементы управления. Строки ввода, кнопки, флажки. Специальные элементы (таймер, календарь). Пользовательские диалоговые окна. Приложения с многооконным интерфейсом. Управление поведением окон. 3.1. Организация ввода-вывода. Работа с текстовыми и бинарными файлами. Классы для работы с файлами FileInfo, Directory, Stream, StringReader, StringWriter. Диалоговые компоненты для работы с файлами. 3.2. Работа с графикой GDI+. Пространство имен System.Drawing. Формат изображений. Управление текстурой, цветами, шрифтами. Редактирование и вывод изображений. 3.3. Приложения для работы с базой данных. Доступ к данным с помощью технологии ADO.NET. Типы пространства имен System.Data. Элементы управления для создания интерфейса к базе данных. Чтение и запись объектов в различных форматах. Создание команд SQL. 6. Планы семинарских занятий. Не запланированы 7. Темы лабораторных работ (Лабораторный практикум). 1. Разработка приложений в среде визуального программирования. Разработка Windows-приложений в среде Microsoft Visual Studio .NET. Создание и отладка проекта. 2. Разработка пользовательского интерфейса. Использование основных визуальных компонентов (кнопки, меню, списки, строки ввода). Обработчики событий. 3. Работа с файлами. Работа с текстовыми и бинарными файлами. Стандартные диалоги. Форматирование данных при выгрузке в текстовые файлы. 4. Работа с графикой. Стандартные графические примитивы. Построение произвольных изображений на основе примитивов. Разработка простейшего графического редактора. 5. Разработка приложений для работы с базой данных. Технология ADO.NET. Создание базы данных, отображение и редактирование записей. Использование SQL-запросов. Формирование отчетов. 8. Примерная тематика курсовых работ. Не предусмотрены. 9. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины (модуля). Дополнительные задания для самостоятельного углубленного изучения содержания дисциплины 1. Использование возможностей Microsoft Visual Studio .NET для разработки многооконного интерфейса. 2. COM-технология. Представление типов COM как типов NET. 3. Разработка Web-приложений и ASP.NET. Задания для самостоятельной работы по практическому программированию и подготовки к контрольным работам Разработайте Windows-приложения на языках C++, C#. 1. Применение списков, групповых элементов управления и меню. При выполнении заданий необходимо придерживаться следующих требований: 1. Исходные данные должны заноситься в список. 2. В одном проекте решается сразу весь комплекс задач (a, b, c). 3. Выбор решаемой задачи осуществляется через: набор флажков, радиокнопки, главное меню. 4. Результаты заносятся в списки или метки в зависимости от решаемой задачи. Задания 1. Задано произвольное количество чисел. Определить: a. количество и сумму четных чисел; b. произведение первых 3 положительных чисел; c. все положительные числа; d. среднее геометрическое положительных чисел. 2. Задано произвольное количество чисел. Определить: a. есть ли среди чисел хоть одно нулевое; b. есть ли среди первых 5 чисел хотя бы одно нечетное (эти 5 чисел внести в отдельный список); c. есть ли среди последних 5 чисел хотя бы одно четное (эти 5 чисел внести в отдельный список); d. есть ли среди элементов списка с нечетными номерами хоть один нулевой (эти элементы внести в отдельный список); 3. Вводится текст, состоящий из нескольких строк. Найти: a. количество строк, в которых нет цифр; b. строки, оканчивающиеся на русскую букву; c. текст, составленный из строк максимальной и минимальной длины; d. текст, полученный после удаления пробелов из нечетных строк и удвоения пробелов в четных строчках. 2. Работа с файлами Задания 1. Задан текстовый файл. Загрузить его в компонент многострочный редактор или список. Переписать в другой текстовый файл: a. нечетные строки; b. строки, в которых нет пробелов; c. строки, в которых нет цифр; d. все строки, кроме пустых. 2. Задан текстовый файл. Загрузить его в компонент список. Определить: a. количество строк в файле; b. количество символов в файле (считывать в переменную типа char); c. количество символов в первой строке; d. количество символов в последней строке. 3. Заполнить список из текстового файла. Переписать в другой текстовый файл: a. строки списка в обратном порядке (последняя, предпоследняя, …); b. выделенные строки; c. строки отсортированного списка. 4. Заданы текстовые файлы: вопросы, эталоны ответов, баллы, начисляемые за правильный ответ. Разработать проект, обеспечивающий решение следующих задач: a. редактирование этих файлов; b. преобразование текстового файла с эталонами ответов в бинарный (возможно и с шифрованием); c. проведение опроса с начислением баллов и занесением данных об опрашиваемом и результатами в типизированный файл; d. возможность ввода ответа разными способами - через компоненты строка ввода, флажки, радиокнопки; e. возможность подключения таймера для подсчета или ограничения времени, затрачиваемого на отдельные вопросы или в целом; f. возможность случайного выбора вопросов из имеющихся. 3. Работа с графикой 1. Построить плоскую геометрическую фигуру и обеспечить изменение ее размеров или перемещение: a. после установки новых размеров перерисовка по нажатию соответствующей кнопки, b. при каждом нажатии кнопки сдвиг на определенный шаг, c. непрерывное перемещение при нажатии одной кнопки и остановка при нажатии другой. 2. Построить график функции одной переменной с масштабированием на заданном интервале. 3. Обеспечить постоянную закраску прямоугольной области (круга, треугольника) с определенной закономерностью. 4. Обеспечить динамическую закраску прямоугольной области (круга, треугольника) с закономерностью, изменяющейся через определенные промежутки времени. 5. Загрузить из файла или буфера обмена рисунок, обеспечить его дорисовку разными цветами и сохранение в файле или буфере обмена. 6. Обеспечить перемещение по форме нескольких рисунков (каждый перемещается по определенному закону) и реакцию на их возможное пересечение. 4. Проектирование приложений для работы с базой данных 1. a. Создать базу данных, состоящую из одной таблицы. b. Разработать приложение для просмотра и редактирования базы данных через табличное представление. 2. a. Создать базу данных, состоящую из одной таблицы с помощью SQL-запросов. b. Разработать приложение для просмотра и редактирования базы данных в режиме формы, ориентированной на работу с одной записью. c. Разработать приложение для создания простейших отчетов по базе данных на основе SQL-запросов. Требования к зачету Зачет выставляется по результатам работы студента в течение семестра, включая посещение лекций и лабораторных занятий, выполнение лабораторных работ, контрольных работ, заданий для самостоятельной работы. Минимальная сумма баллов, необходимая для получения зачета – 61 балл. 10. Образовательные технологии. Сочетание традиционных и новых образовательных технологий в ходе проведения лекций, компьютерных лабораторных работ и контрольных мероприятий (контрольных работ, промежуточного тестирования, зачета и экзамена). Аудиторные занятия: лекционные и лабораторные занятия (разработка индивидуальных и коллективных проектов); контроль осуществляется в ходе опроса на лекциях, проверки конспектов, при сдаче лабораторных заданий. В течение обучения студенты выполняют комплексы индивидуальных заданий; активные и интерактивные формы – проблемные вопросы на лекциях, публичные защиты проектов, дискуссии по результатам выполнения проектов, работа студенческих исследовательских групп. Внеаудиторные занятия: самостоятельная работа (выполнение самостоятельных заданий разного типа и уровня сложности на лабораторных занятиях, подготовка к аудиторным занятиям, подготовка проектов и курсовых работ, изучение отдельных тем и вопросов учебной дисциплины в соответствии с учебно-тематическим планом, составление конспектов, выполнение индивидуальных заданий: докладов, сообщений, решение олимпиадных задач, выполнение самостоятельных и контрольных работ, подготовка ко всем видам контрольных испытаний: текущему контролю успеваемости и промежуточной аттестации); индивидуальные консультации. 11. Учебно-методическое и информационное обеспечение дисциплины (модуля). 11.1. Основная литература: 1. Захаров А.А., Захарова И.Г. Языки и среды программирования. Учебное пособие. Тюмень: Изд. ТюмГУ, 2006. – 288 с. 2. Кариев Ч.А. Разработка Windows-приложений на основе Visual C#. - М.: БИНОМ, 2009. – 767 с. 3. Мак-Дональд М., Шпушта М. Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов. М.: Вильямс, 2008. – 108 с. 4. Троелсен Э. Язык программирования C# и платформа .NET 2.0. М.: Вильямс, 2008. - 1168 c. 11.2. Дополнительная литература: 1. Лафоре Р. Объектно-ориентированное программирование в С++. - СПб. : ПИТЕР, 2004. - 924 с. 2. Моор П.К. Базы данных. Учебное пособие. - Тюмень: Изд. ТюмГУ, 2010. – 288 с. 3. Охотников Е.С. Языки программирования [Электронный ресурс] : лаб. практикум. Тюмень: Изд-во ТюмГУ: Виндекс, 2008.-1 o=эл. опт. диск (CD-ROM) 11.3. Программное обеспечение и Интернет – ресурсы: 1. MSDN Academic Alliance. Библиотека учебных курсов [электр. ресурс]. – Режим доступа http://www.microsoft.com/Rus/msdnaa/curricula/default.mspx свободный. - Загл. с экрана. 2. Интернет-университет информационных технологий. Базы данных. Разработка приложений [электр. ресурс]. – Режим доступа http://www.intuit.ru/catalog/database/appdevdb/ свободный. - Загл. с экрана. 3. Интернет-университет информационных технологий. Языки и системы программирования [электр. ресурс]. – Режим доступа http://www.intuit.ru/catalog/se/pl/ свободный. - Загл. с экрана. 12. Технические средства и материально-техническое обеспечение дисциплины (модуля). Для чтения лекций используется аудитория, оборудованная мультимедиа проектором и персональным компьютером. Для выполнения лабораторных работ используется компьютерное оборудование с установленным программным продуктом Microsoft Visual Studio .NET (версия не ниже 2010).