Разработка приложений на платформе .NET

Основы программирования на языке С# в среде .NET Framework 4.6

  1. По нескольким административным причинам экзамен будет только в сентябре

  2. Вопросы к экзамену:

    Вопросы к экзамену. 1 семестр (Word, pdf)

    Вопросы к экзамену. 2 семестр (Word, pdf)

  3. Модуль 1. Введение. Основные типы

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Анализ сборки с помощью ILDASM
    2. Межъязыковое взаимодействие (использование модулей на разных языках программирования)
    3. Первая программа Hello World
    4. Ссылочные типы и типы-значения
    5. Контекст Checked / Unchecked
    6. Работа с массивами

    Домашнее задание (Word, pdf)

  4. Модуль 2. Объектно-ориентированное программирование

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio 2015 в zip формате):
    1. Класс трехмерного вектора

    Домашнее задание (Word, pdf)

  5. Модуль 3. Передача параметров. Nullable. Работа со строками.

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Передача параметров
    2. Демонстрация работы с типами-значениями, допускающими неопределенное значение - Nullable<T>
    3. Работа со строками и классом StringBuilder
    4. Работа с регулярными выражениями

    Домашнего задания нет

  6. Модуль 4. Интерфейсы.

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Список комплексных чисел
    2. Стандартная сортировка массива объектов класса Complex

    Домашнее задание в начале презентации

  7. Модуль 5. Обобщения

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Обобщенный список
    2. Сортировка пузырьком произвольного массива

    Домашнее задание на последнем слайде презентации.

  8. Модуль 6. Коллекции. Итераторы.

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Демонстрация класса ArrayList
    2. Демонстрация работы с коллекцией на примере List<T>
    3. Демонстрация коллекций, доступных только для чтения, на примере ReadOnlyCollection<T>
    4. Полная реализация Итератора
    5. Упрощенная реализация Итератора. Ключевое слово yield
    6. Примеры бесконечных последовательностей

    Домашнее задание (Word, pdf)

  9. Модуль 7. Делегаты (одиночные делегаты, цепочки делегатов, анонимные методы, лямбда выражения). Ковариантность и контрвариантность. События

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio 2015 в zip формате):
    1. Интеграл (делегаты как параметры функций)
    2. Проблемы при использовании делегата для генерации события
    3. Визуальная сортировка пузырьком (делегаты, события, обобщенные интерфейсы)

    Домашнее задание (Word, pdf)

  10. Модуль 8. Исключения. Файлы

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Демонстрация работы с исключениями
    2. Демонстрация работы с файлами и файловой системой

    Домашнее задание (Word, pdf)

  11. Модуль 9. Сборки. Reflection.

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Распечатка метаданных сборки
    2. Динамическая работа с типами (создание, выполнение операций, dynamic)

    Домашнее задание (Word, pdf)

  12. Модуль 10. Атрибуты. Сериализация.

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Построение SQL запроса (работа с атрибутами)
    2. Сериализация (SOAP, бинарная, XML)

    Домашнее задание (Word, pdf)

  13. Модуль 11. Многопоточное программирование

    Презентация (часть 1) (PowerPoint, pdf)

    Презентация (часть 2). Синхронизация потоков (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Фоновые потоки и потоки переднего плана
    2. Атомарные оперции - класс Interlocked
    3. Синхронизация потоков - lock
    4. Программа, допускающая запуск только одного экземпляра приложения (Mutex)
    5. Синхронизация потоков между приложениями (Mutex)
    6. Синхронизация потоков между приложениями с использованием Семафора
    7. Запуск и контроль процесса (Paint)

    Домашнее задание (Word, pdf)

    Модуль DAL.dll для домашнего задания (в zip формате. .NET Framework 4.5)

    Проект DAL для домашнего задания (Проект Visual Studio в zip формате)

  14. Модуль 12. Время жизни объектов

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Демонстрация интерфейса IDisposable
    2. Реализация рекомендуемого шаблона IDisposable. Освобождение неуправляемых ресурсов - COM объектов - Excel

    Домашнего задания нет

Windows Presentation Foundation (WPF)

  1. Модуль 13. Основы WPF. XAML

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Анимированная кнопка с видео
    2. Демонстрация синтаксиса XAML

    Домашнего задания нет

  2. Модуль 14. Элементы управления WPF

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Контейнеры (Рanels)

    Домашнее задание (Word, pdf)

  3. Модуль 15. Dependency Property. Markup Extensions. Bindings

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Dependency Property
    2. Markup Extension
    3. Привязка к элементу управления

    Домашнего задания нет

  4. Модуль 16. События и команды в WPF

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Маршрутизируемые события в WPF
    2. Редактор сотрудников предприятия (Bindings, Converters, Commands, MVVM)

    Домашнее задание (Word, pdf)

  5. Модуль 17. Ресурсы. Стили. Анимация

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. Ресурсы WPF
    2. Словари ресурсов
    3. Калькулятор. Демонстрация Стилей
    4. Анимация
    5. Пример с кнопкой-рыбкой взят из лекции Романа Здебского "Лучшие практики разработки производительных и интерактивных приложений на WPF" с 10:30 до 13:30 минуты http://www.techdays.ru/videos/1023.html

    Домашнего задания нет

  6. Модуль 18. Графика в WPF

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате):
    1. SolidColorBrush
    2. Кисть с линейным градиентом: LinearGradientBrush
    3. Кисть с радиальным градиентом: RadialGradientBrush
    4. Изображение в качестве кисти: ImageBrush
    5. Кисть VisualBrush
    6. Фигуры. Shapes
    7. Геометрии. Geometry
    8. Обрезание элемента управления. Свойство Clip
    9. Трансформации элементов управления. Свойства RenderTransform и LayoutTransform

    Домашнее задание (Word, pdf)

  7. Модуль 19. Шаблоны в WPF

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате:
    1. Шаблон данных DataTemplate
    2. Автоматическое применение шаблона данных
    3. Замена контейнера в ItemsControl (ItemsPanelTemplate)
    4. ControlTemplate для Button
    5. Просмотр шаблона по умолчанию элемента управления
    6. UserControl

    Домашнее задание (Word, pdf)

Доступ к данным. ADO.NET

  1. Модуль 20. ADO.NET. Присоединенная модель доступа к данным

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате:
    1. Присоединенная модель доступа к данным

    База данных Northwind: Download from www.microsoft.com или урезанный SQL скрипт

    Домашнего задания нет

  2. Модуль 21. ADO.NET. Отсоединённая модель доступа к данным

    Презентация (PowerPoint, pdf)

    Примеры (проекты Visual Studio в zip формате:
    1. DataSet без базы данных
    2. Редактор таблицы базы данных
    3. Типизированный DataSet

    Домашнее задание (Word, pdf)

  3. Модуль 22. LINQ. Расширяющие методы. Неявная типизация. Анонимные типы. LINQ to Objects

    Презентация (PowerPoint, pdf)

    Домашнее задание (необязательное) (Word, pdf)

  4. Модуль 23. LINQ. LINQ to XML. LINQ to DataSet. LINQ to SQL. LINQ to Entities. Parallel LINQ

    Презентация (PowerPoint, pdf)

    Домашнее задание (необязательное) (Word, pdf)

Разработка распределенных приложений

  1. Модуль 24. Windows Communication Foundation (WCF). Основы

    Презентация (PowerPoint, pdf)

    Для контроля HTTP/HTTPS трафика удобно использовать Fiddler: http://www.telerik.com/fiddler/web-traffic-recording

    Домашнего задания нет

  2. Модуль 25. Windows Communication Foundation (WCF)

    Презентация (PowerPoint, pdf)

    Домашнее задание (необязательное) (Word, pdf)