Министерство образования и науки Российской Федерации
Московский физико-технический институт
(государственный университет)
УТВЕРЖДАЮ
Проректор по учебной работе
__________
«____» ____________ 2013г.
П Р О Г Р А М М А
по курсу: ТЕХНИКА программирования (базовый)
по направлению: 010900
факультеты: ФУПМ
профиль подготовки: Компьютерные технологии и интеллектуальный анализ данных
кафедра: ИНФОРМАТИКИ
курс: 3 (бакалавриат) семестр: 6
Трудоёмкость в зач. ед.: базовая часть – 0 зач. ед.; вариативная часть – 0 зач. ед.; по выбору студента –3 зач. ед.
лекции: – 32 часв 1 зач. ед.
практические (семинарские) занятия: нет
лабораторные занятия: – 64 часа 2 зач. ед.
мастер классы, индивид. и групповые консультации: нет
дифференцированный зачёт: 6 сем.
ВСЕГО АУДИТОРНЫХ ЧАСОВ: 96
Программу составил к. ф.-м. н., доцент
Программа обсуждена на заседании кафедры информатики
“30” августа 2013г.
Заведующий кафедрой,
член-корр. РАН
Программа утверждена на заседании
Ученого совета ФУПМ « ___» ___________2013г.
Декан ФУПМ
ОБЪЁМ УЧЕБНОЙ НАГРУЗКИ И ВИДЫ ОТЧЁТНОСТИ.
По выбору студента, включая: | 3 зач. ед. |
Лекции | 32 часа |
Практические занятия | 0 часов |
Лабораторные работы | 64 часа |
Дифференцированный зачет | 6 семестр |
ВСЕГО | 3 зач. ед. |
Итоговая аттестация | Дифференцированный зачет 6 семестр |
Цель курса - освоение студентами практических навыков и знаний в области основных техник разработки программного обеспечения с использованием стека технологий Microsoft, изучение подходов к проектированию и анализу ПО, а также основных библиотек необходимых для успешного применения опыта на практике.
Задачами данного курса являются:
· формирование основных навыков разработки программного обеспечения
· формирование навыков работы в среде Microsoft Visual Studio
· формирование навыков использования технологического стека на примере языка C#
· формирование основных навыков тестирования программного обеспечения
Место дисциплины в структуре ООП МАГИСТРАТУРЫДисциплина Техника программирования_ включает в себя разделы, которые могут быть отнесены к циклу __Б3__ (шифр цикла).
Дисциплина «Техника программирования» базируется на материалах курсов бакалавриата: базовая и вариативная часть кода УЦ ООП Б.2 (математический естественнонаучный блок) по дисциплинам «Информатика».
Компетенции обучающегося, формируемые в результате освоения дисциплины
Освоение дисциплины «Техника программирования» направлено на формирование следующих общекультурных и профессиональных компетенций бакалавра:
а) общекультурные (ОК):
- способность использовать на практике фундаментальные знания для понимания сущностных явлений окружающего мира (ОК 1);
- способность активно и целенаправленно применять полученные знания, навыки и умения для выбора тематики выполнения индивидуальной научно-исследовательской работы (ОК-2);
- готовность работать с информацией в области разработки программного обеспечения: отечественной и зарубежной научной периодической литературы, монографий и учебников, электронных ресурсов Интернет (ОК-3);
- способность работать в коллективе и применять навыки эффективной организации труда и командной работы (ОК-4).
б) профессиональные (ПК):
- готовность использовать основные принципы разработки и анализа программного обеспечения в последующей профессиональной деятельности в качестве научных сотрудников, преподавателей вузов, инженеров, технологов (ПК-1);
- готовность к решению практических задач по разработке и анализу программного обеспечения (ПК-2);
- готовность выявить естественнонаучную сущность проблем, возникающих в ходе профессиональной деятельности в областях: разработка, анализ и тестирование программного обеспечения; привлекать для решения освоенный аналитический аппарат (ПК-3);
- готовность к творческому подходу в реализации научно-технических задач, основанному на систематическом обновлении полученных знаний, навыков и умений и использовании последних достижений в областях: разработка, анализ и тестирование программного обеспечения (ПК-4);
- способность к созданию математических моделей исследуемых процессов, явлений и объектов, относящихся к профессиональной сфере (ПК-5);
- способность применять на практике умения и навыки в организации исследовательских работ и проводить научные исследования, готовность к участию в инновационной деятельности (ПК-6).
конкретные Знания, умения и навыки, формируемые в результате освоения дисциплиныВ результате освоения дисциплины Техника программирования обучающийся должен:
1. Знать:
- Основные техники разработки программного обеспечения
- Принципы создания многопоточных приложений,
- основные подходы тестирования приложений,
- основные библиотеки стека .
2. Уметь:
- Разрабатывать консольные приложения,
- Разрабатывать оконные приложения,
- Разрабатывать сетевые приложения,
- Разрабатывать приложения с использованием базовых операций ввода/вывода,
- Тестировать разработанные приложения.
3. Владеть:
- навыками работы в среде Microsoft Visual Studio,
- методами тестирования приложений,
- инструментами тестирования приложений nUnit
Структура и содержание дисциплиныСтруктура преподавания дисциплины
Перечень разделов дисциплины и распределение времени по темам
№ темы и название | Количество часов |
Введение в разработку ПО на основе | 2 |
Введение в тестирование приложений | 2 |
Разработка консольного приложения | 8 |
Использование регулярных выражений | 6 |
Подсистема ввода/вывода. Работа с файлами и потоками ввода вывода. | 6 |
Разработка многопотчных приложений | 6 |
Событийная модель приложения. NET | 8 |
Основы разработки оконного приложения | 8 |
Использование 2-мерной графики в оконных приложения | 12 |
Связывание данных с элементами оконного приложения | 10 |
Основы WCF | 12 |
Основы LINQ | 6 |
Основы WPF 3D | 10 |
ВСЕГО( зач. ед.(часов)) | 96 час. (3 зач. ед.) |
Вид занятий ЛЕКЦИИ
№ темы и название | Количество часов |
Введение в разработку ПО на основе | 1 |
Введение в тестирование приложений | 1 |
Разработка консольного приложения | 2 |
Использование регулярных выражений | 2 |
Подсистема ввода/вывода. Работа с файлами и потоками ввода вывода. | 2 |
Разработка многопотчных приложений | 2 |
Событийная модель приложения. NET | 2 |
Основы разработки оконного приложения | 4 |
Использование 2-мерной графики в оконных приложения | 4 |
Связывание данных с элементами оконного приложения | 3 |
Основы WCF | 3 |
Основы LINQ | 2 |
Основы WPF 3D | 4 |
ВСЕГО( зач. ед.(часов)) | 32 час. (1 зач. ед.) |
Вид занятий Лабораторные работы
№ п. п. | Темы | Трудоёмкость в зач. ед. (количество часов) |
1 | Введение в разработку ПО на основе | 2 |
2 | Введение в тестирование приложений | 2 |
3 | Разработка консольного приложения | 4 |
4 | Использование регулярных выражений | 4 |
5 | Подсистема ввода/вывода. Работа с файлами и потоками ввода вывода. | 4 |
6 | Разработка многопотчных приложений | 4 |
7 | Событийная модель приложения. NET | 6 |
8 | Основы разработки оконного приложения | 4 |
9 | Использование 2-мерной графики в оконных приложения | 10 |
10 | Связывание данных с элементами оконного приложения | 6 |
11 | Основы WCF | 8 |
12 | Основы LINQ | 4 |
13 | Основы WPF 3D | 6 |
ВСЕГО ( зач. ед.(часов)) | 64 часа 2 зач. ед. |
Содержание дисциплины
Развёрнутые темы и вопросы по разделам
№ п/п | Название модулей | Разделы и темы занятий | Содержание | Объем | |
Аудиторная работа (зачетные единицы/часы) | Самостоятельная работа (зачетные единицы/часы) | ||||
1 | Введение в разработку ПО на основе | Основы разработки ПО. | 2 | 0 | |
2 | Введение в тестирование приложений | Основы тестирования. | 2 | 0 | |
3 | Разработка консольного приложения | Основы работы приложения в. NET. | 8 | 0 | |
4 | Использование регулярных выражений | Анализ и синтез регулярных выражений. | 6 | 0 | |
5 | Подсистема ввода/вывода. Работа с файлами и потоками ввода вывода. | Основные операции с дисковой системой: просмотр, открытие, чтение, запись. Утечка ресурсов. Работа с файлами. Работа с директориями. | 6 | 0 | |
6 | Разработка многопотчных приложений | Основные примитивы языка C# для создания многопоточных приложений. Потоковая обработка данных. | 6 | 0 | |
7 | Событийная модель приложения. NET | Знакомство с базовыми конструкциями. NET: делегаты и события, примеры их использования | 8 | 0 | |
8 | Основы разработки оконного приложения | Элементы управления в Windows Presentation Foundation. Использование шаблона Model-View-ViewModel | 8 | 0 | |
9 | Использование 2-мерной графики в оконных приложения | Формы и основы рисования в WPF. Основы анимации. Построение графиков. | 12 | 0 | |
10 | Связывание данных с элементами оконного приложения | Использование автоматических механизмов связывания данных с отображаемыми элементами. | 10 | 0 | |
11 | Основы WCF | Основы создания сетевых приложений | 12 | 0 | |
12 | Основы LINQ | Основы использования LINQ | 6 | 0 | |
13 | WPF 3D | Основы разработки приложений с 3d графикой | 10 | 0 |
В учебном процессе используются следующие образовательные технологии:
№ п/п | Вид занятия | Форма проведения занятий | Цель |
1 | лекция | Изложение теоретического материала | Получение теоретических знаний по дисциплине |
2 | лекция | Изложение теоретического материала с помощью презентаций | Повышение степени понимания материала |
3 | лекция | Разбор конкретных примеров разработки ПО | Осознание связей между теорией и практикой, а также взаимозависимостей разных дисциплин |
4 | Лабораторные работы | Проведение лабораторных в компьютерном классе | Получение теоретических и практических знаний по дисциплине |
Контрольно-измерительные материалы (вопросы к зачету):
1. Опишите основные архитектурные элементы платформы .
2. Опишите основные способы тестирования программ.
3. Опишите основные особенности юнит-тестирования программ.
4. Регулярные выражения и способы их использования в C#.
5. Опишите основные классы для реализация потокового ввода-вывода.
6. Опишите основы разработки многопоточных приложений.
7. Опишите основные примитивы синхронизации потоков в многопоточной среде.
8. Опишите событийную модель платформы и механизмы, позволяющие ее использовать в своих приложениях.
9. Опишите методологию разработки оконного приложения средствами Microsoft Visual Studio.
10. Опишите основные базовые классы для реализации 2-мерной графики в .
11. Опишите механизм связывания элементов оконных форм с данными.
12. Опишите основные шаги, необходимые для создания веб-сервиса средствами WCF.
13. Использование языка LINQ для работы с коллекциями.
14. Приведите основные классы для работы с трехмерной графикой средствами WPF 3D.
Материально-техническое обеспечение дисциплиныНеобходимое оборудование для лекций и практических занятий: компьютер и мультимедийное оборудование (проектор)
Необходимое программное обеспечение: Microsoft Visual Studio
Наименование возможных тем курсовых работ учебным планом не предусмотрено ТЕМАТИКА И ФОРМЫ ИНДИВИДУАЛЬНОЙ РАБОТЫ учебным планом не предусмотрено ТЕМАТИКА ИТОГОВЫХ РАБОТ учебным планом не предусмотрено Учебно-методическое и информационное обеспечение дисциплиныОсновная литература.
Нафтел Дж., Microsoft .NET Remoting (пер. с англ.). Просиз Дж. Программирование для , 2002. Программирование для Microsoft Windows на C#. Гиббонз П. Платформа. NET для Java-программистов. C# и платформа. NET. Библиотека программиста, 2002. Защищенный код. 2003. Скотт К. UML. Основы. Краткое руководство по унифицированному языку моделирования. 2002. Сайт курса: https://sites. /site/techprog2011spring/

