Министерство образования и науки Российской Федерации

Московский физико-технический институт

(государственный университет)

УТВЕРЖДАЮ

Проректор по учебной работе

__________

«____» ____________ 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/