Опыт преподавания технологий Microsoft.NET

Post on 01-Jan-2016

58 views 1 download

description

Губанов Юрий Санкт-Петербургский государственный университет Математико-механический факультет. Опыт преподавания технологий Microsoft.NET. Содержание. Читаемые курсы Программа курсов Основные идеи Небольшое упражнение. О факультете. - PowerPoint PPT Presentation

Transcript of Опыт преподавания технологий Microsoft.NET

Губанов Юрий

Санкт-Петербургский государственный университет

Математико-механический факультет

Содержание

Читаемые курсы Программа курсов Основные идеи Небольшое упражнение

О факультете

Матмех СПбГУ – победитель многих соревнований по программированию (ACM, единственная команда, два года подряд бравшая первое место)

Первое в России прочтение курса по Microsoft.NET (А.А. Терехов)Старейший курс в РоссииБолее двухсот слушателей

О докладчике Профессиональный программист >10

летОбразование – матмех СПбГУОпыт в коммерческом применении

преподаваемых технологий

Опыт руководства коммерческими проектами по разработке ПО >8 лет

Опыт преподавания с 2003-го года Опыт работы пионервожатым и

учителем в музыкальной школе

Читаемые курсы

Спецкурс "Введение в Microsoft.NET" + Спецсеминар (практикум) "Введение в

Microsoft.NET"

Спецкурс "Разработка бизнес-приложений на Microsoft.NET"

Спецкурс "Перспективные технологии Microsoft.NET"

Основные наработки

Программа курсов Презентации курсов Примеры к презентациям Задачи для семинаров с

"проверочными списками” Методика приёма экзамена,

практических работ

Введение в Microsoft.NET Базовый курс, рассчитанный на студентов

2-4 курсов Рассматриваются основные понятия и

технологии Microsoft.NET Не требуется знакомства с .NET,

желательно знакомство с С++ или Java Одна пара в неделю Идёт с обязательной практикой Презентации этого курса (2005-го года )

доступны на сайте Microsoft

Программа курса Немного истории Обзор платформы Microsoft.NET Основы платформы Microsoft.NET Сборки (assemblies) Обзор C# (2-3 лекции) Windows Forms (1-2 лекции) ADO.NET ASP.NET SOA и веб-сервисы Будущее Microsoft.NET

Что не входит в курс и почему Последнее время – обзор предыдущих

технологий (COM и иже с ним) Сборка мусора Рефлексия (атрибуты входят в лекцию по

C#) .NET Remoting Безопасность CAS Взаимодействие .NET и COM и прочий

InteropServices Работа с XML

Практика

Одна пара в неделю Практическое задание даётся к каждой

лекции Выполнение всех без исключения задач –

необходимое условие допуска к экзамену за спецкурс

Разработка бизнес-приложений на Microsoft.NET "Продвинутый" курс для уже знакомых с

Microsoft.NET Рассчитан на студентов 3-5 курсов Рассматривает прикладные вопросы,

встречающиеся в профессиональном программировании

Желательно прослушать первый курс

Программа курса Как увеличить свою зарплату на собеседовании на $1000 Экскурсия по возможностям студии Тонкости C# FxCop – инструмент правильных пацанов Понятие стиля кодирования. Стиль C# Принципы защищённого программирования и C# Коллекции в C# Отладка в Visual Studio Модульное тестирование Работа со строчками. Регулярные выражения Исключения Домены приложений. Как поймать все-все исключения Работа с системными объектами XML, XSD, XSLT, XPath Многопоточность и синхронизация Создание профессионального GUI

Что ещё можно включить в курс, если есть время Работа с неуправляемыми ресурсами.

IDisposable Работа с неуправляемым кодом. Тонкости

взаимодействия Продвинутая работа с конфигурационными

файлами Профессиональный рефакторинг Рефлектор (.NET Reflector) Программирование и отладка с SQL Server Аспектно-ориентированное

программирование

Практика Формат экзамена – задача, охватывающая

все обсуждавшиеся аспекты Выдаётся за 2 дня до сдачи Во время сдачи слушатель должен

дореализовать один из аспектов задачи, выданные непосредственно в классе

Требуется также следование стилю кодирования, отсутствие предупреждений FxCop и наличие unit-тестов

В конце этого процесса слушателю ставится оценка "отлично", если он успел сделать всё перечисленное в отведённое ему время.

Перспективные технологии Microsoft.NET Самый "продвинутый" курс Рассчитан на студентов 4-5 курсов

Аудитория твёрдо владеет основами Microsoft.NET

Рассматривает свежие технологии Microsoft.NETСамый "нестабильный" курс

Желательно прослушать первый курс Презентации этого курса (2007-го года)

доступны на сайте Microsoft

Программа курса Windows Communication Foundation

Введение в SOA и WCFАрхитектура WCFКонтракты данных в WCF. Управление временем жизниБезопасность в WCFТранзакции в WCF

Windows Presentation FoundationВведение в WPFXAMLЭлементы управления и раскладкиРесурсы и стилиСвязывание данных

C# 3.0. LINQ и его разновидности Знакомство с Team Foundation Server

Что насчёт других технологий? Silverlight WWF ADO.NET Data Services ADO.NET Entities Framework

Рекомендуемая литература Programming WCF Services, Juval

Lowy

Рекомендуемая литература Windows Presentation Foundation

Unleashed, Adam Nathan

Практика

Пока не проводилась См. далее "сложности практики"

Основные наблюдения

Практика должна быть всегда!Пример начального курса и курса по

WPF/WCF

Приглашай специалистов!Сотрудничество с компаниями Ланит-Терком,

Digital Design, Murano Software○ …и даже Microsoft!

Не стоит погружаться в детали – не поймутПогрузился в детали – дай на это задачу

Сложности практики Админские права

ADO.NET, ASP.NET, WCF – как правило, не хватает Наличие установленного ПО (Visual Studio, add-

ons, Framework 3.5, etc)Часто IT отделения университетов очень неохотно

содействуют в решении проблем и установке нужного ПО

Мало времени (реально успеть человек 10-12) Сдача по выдаваемому результату – читерство Сдача по почте – читерствоo Кроме того, это просто менее полезно

Только личная проверка + вопросы

Практика

Противодействие манипуляции "ну это же легко сделать!"

Пример кода и советовПалиндромБог

Сдача как правило после 3-5 подходовРассчитывайте время

Практика – практические вопросы

Не только проверка результатов Обучение навыкам профессионального программирования

Правила именования и стиль кодирования XML comments Приёмы хорошего дизайна и исправление плохого

○ Инкапсуляция○ Разбиение ответственностей между классами

FxCop Проверка корректности ввода Валидация параметров Usability Accessibility Обработка исключений Вплоть до орфографических ошибок, терминов и английского языка Проблемы многопоточности

Надо быть занудой!

Сложности лекций Использование видео Успеть показать примеры

Надо иметь готовые и проверенные под рукойПроверенные в классе (проблема прав)Уметь быстро печатать Показывать пример из файла – плохо: не

наглядно и непонятно○ естественное ограничение на размер

примеров

Приём экзамена

Посещение – 50% Пятиминутный экзамен без

подготовки и билетов Сдача всех задач спецсеминара