1 / 26

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. О факультете • Матмех СПбГУ – победитель многих соревнований по программированию (ACM, единственная команда, два года подряд бравшая первое место) • Первое в России прочтение курса по Microsoft.NET (А.А. Терехов) • Старейший курс в России • Более двухсот слушателей

  4. О докладчике • Профессиональный программист >10 лет • Образование – матмех СПбГУ • Опыт в коммерческом применении преподаваемых технологий • Опыт руководства коммерческими проектами по разработке ПО >8 лет • Опыт преподавания с 2003-го года • Опыт работы пионервожатым и учителем в музыкальной школе 

  5. Читаемые курсы • Спецкурс "Введение в Microsoft.NET" • + Спецсеминар (практикум) "Введение в Microsoft.NET" • Спецкурс "Разработка бизнес-приложений на Microsoft.NET" • Спецкурс "Перспективные технологии Microsoft.NET"

  6. Основные наработки • Программа курсов • Презентации курсов • Примеры к презентациям • Задачи для семинаров с "проверочными списками” • Методика приёма экзамена,практических работ

  7. Введение в Microsoft.NET • Базовый курс, рассчитанный на студентов 2-4 курсов • Рассматриваются основные понятия и технологии Microsoft.NET • Не требуется знакомства с .NET, желательно знакомство с С++ или Java • Одна пара в неделю • Идёт с обязательной практикой • Презентации этого курса (2005-го года) доступны на сайте Microsoft

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

  9. Что не входит в курс и почему • Последнее время – обзор предыдущих технологий (COM ииже с ним) • Сборка мусора • Рефлексия (атрибуты входят в лекцию по C#) • .NET Remoting • Безопасность CAS • Взаимодействие .NET и COM и прочий InteropServices • Работа с XML

  10. Практика • Одна пара в неделю • Практическое задание даётся к каждой лекции • Выполнение всех без исключения задач – необходимое условие допуска к экзамену за спецкурс

  11. Разработка бизнес-приложений на Microsoft.NET • "Продвинутый" курс для уже знакомых с Microsoft.NET • Рассчитан на студентов 3-5 курсов • Рассматривает прикладные вопросы, встречающиеся в профессиональном программировании • Желательно прослушать первый курс

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

  13. Что ещё можно включить в курс, если есть время • Работа с неуправляемыми ресурсами. IDisposable • Работа с неуправляемым кодом. Тонкости взаимодействия • Продвинутая работа с конфигурационными файлами • Профессиональный рефакторинг • Рефлектор (.NET Reflector) • Программирование и отладка с SQL Server • Аспектно-ориентированное программирование

  14. Практика • Формат экзамена – задача, охватывающая все обсуждавшиеся аспекты • Выдаётся за 2 дня до сдачи • Во время сдачи слушатель должен дореализовать один из аспектов задачи, выданные непосредственно в классе • Требуется также следование стилю кодирования, отсутствие предупреждений FxCop и наличие unit-тестов • В конце этого процесса слушателю ставится оценка "отлично", если он успел сделать всё перечисленное в отведённое ему время.

  15. Перспективные технологии Microsoft.NET • Самый "продвинутый" курс • Рассчитан на студентов 4-5 курсов • Аудитория твёрдо владеет основами Microsoft.NET • Рассматривает свежие технологии Microsoft.NET • Самый "нестабильный" курс • Желательно прослушать первый курс • Презентации этого курса (2007-го года) доступны на сайте Microsoft

  16. Программа курса • Windows Communication Foundation • Введение в SOA и WCF • Архитектура WCF • Контракты данных в WCF. Управление временем жизни • Безопасность в WCF • Транзакции в WCF • Windows Presentation Foundation • Введение в WPF • XAML • Элементы управления и раскладки • Ресурсы и стили • Связывание данных • C# 3.0. LINQ и его разновидности • Знакомство с Team Foundation Server

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

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

  19. Рекомендуемая литература • Windows Presentation Foundation Unleashed, Adam Nathan

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

  21. Основные наблюдения • Практика должна быть всегда! • Пример начального курса и курса по WPF/WCF • Приглашай специалистов! • Сотрудничество с компаниями Ланит-Терком, Digital Design, Murano Software • …и даже Microsoft! • Не стоит погружаться в детали – не поймут • Погрузился в детали – дай на это задачу

  22. Сложности практики • Админские права • ADO.NET, ASP.NET,WCF – как правило, не хватает • Наличие установленного ПО (Visual Studio, add-ons, Framework 3.5, etc) • Часто IT отделения университетов очень неохотно содействуют в решении проблем и установке нужного ПО • Мало времени (реально успеть человек 10-12) • Сдача по выдаваемому результату – читерство • Сдача по почте – читерство • Кроме того, это просто менее полезно • Только личная проверка + вопросы

  23. Практика • Противодействие манипуляции "ну это же легко сделать!" • Пример кода и советов • Палиндром • Бог • Сдача как правило после 3-5 подходов • Рассчитывайте время

  24. Практика – практические  вопросы • Не только проверка результатов • Обучение навыкам профессионального программирования • Правила именования и стиль кодирования • XML comments • Приёмы хорошего дизайна и исправление плохого • Инкапсуляция • Разбиение ответственностей между классами • FxCop • Проверка корректности ввода • Валидация параметров • Usability • Accessibility • Обработка исключений • Вплоть до орфографических ошибок, терминов и английского языка • Проблемы многопоточности • Надо быть занудой! 

  25. Сложности лекций • Использование видео • Успеть показать примеры • Надо иметь готовые и проверенные под рукой • Проверенные в классе (проблема прав) • Уметь быстро печатать  • Показывать пример из файла – плохо: не нагляднои непонятно • естественное ограничение на размер примеров

  26. Приём экзамена • Посещение – 50% • Пятиминутный экзамен без подготовки и билетов • Сдача всех задач спецсеминара

More Related