Программирование на C#
20483
Окончив курс, Вы получите знания и навыки программирования, необходимые для разработки Windows-приложений с использованием языка программирования C#.
Курс охватывает основы построения программ на языке C#, синтаксис языка и детали реализации приложений на платформе .NET Framework 4.5. Курс также познакомит Вас с методами и технологиями, используемыми в современных настольных и корпоративных приложениях.
В курсе рассматриваются обработка событий, программирование пользовательского интерфейса, доступ к базам данных, асинхронное выполнение операций, создание пользовательских атрибутов и шифрование/расшифровка данных. Курс использует среду разработкиVisual Studio 2012 на Windows 8.
Аудитория
Курс предназначен для опытных разработчиков, которые уже имеют опыт программирования на C, C++, JavaScript, Objective-C, Microsoft Visual Basic или Java и понимают концепции объектно-ориентированного программирования.
Курс помогает подготовиться к сертификационному экзамену: 70-483: Programming in C#
Предварительный уровень подготовки
Обучение на курсе 10266 Программирование на языке C# 4.0 в среде разработки MS Visual Studio 2010 или эквивалентная подготовка.
Результат обучения
По окончании курса Вы будете уметь:
- Описывать синтаксис и основные особенности C#;
- Создавать и вызывать методы, перехватывать и обрабатывать исключения, описывать требования к мониторингу масштабируемых приложений;
- Реализовать базовую структуру и основные элементы типичного настольного приложения;
- Создавать классы, определять и реализовать интерфейсы, а также создавать и использовать коллекции;
- Использовать наследование для создания иерархии классов, расширять классы .NET Framework, а также создавать универсальные классы и методы;
- Читать и записывать данные с помощью методов файлового ввода/вывода, потоков, сериализовать и десериализовать данные в различных форматах;
- Создавать и использовать модель данных (Entity Data Model) для доступа к базам данных ис помощью LINQ-запросов, обновлять данные;
- Создавать графический интерфейс пользователя средствами XAML;
- Повышать удобство и снижать время отклика приложений с помощью задач и асинхронных операций;
- Интегрировать неуправляемые библиотеки (unmanaged libraries) и динамические компоненты в приложения C#;
- Использовать метаданные с помощью отражения (reflection), создавать и использовать пользовательские атрибуты, генерировать код во время выполнения, а также управлять версиями сборок;
- Шифровать и расшифровывать данные с помощью симметричного и асимметричного шифрования.
Программа курса
Модуль 1. Обзор синтаксиса C# (3 ак. часа)
- Обзор способов разработки приложений с использованием C#
- Типы данных, операторы и выражения
- Программирование языковых конструкций на C#
Лабораторная работа: Разработка приложения Class Enrolment
- Реализация функциональности редактирования списка студентов
- Реализация функциональности добавления в список студентов
- Реализация функциональности удаления из списка студентов
- Отображение возраста студента
Модуль 2. Создание методов, обработка исключений и мониторинг приложений (3 ак. часа)
- Создание и вызов методов
- Создание перегруженных методов и использование опциональных (optional) и параметров, возвращающих значение (Output)
- Обработка исключений
- Мониторинг приложений
Лабораторная работа: Расширение функциональности приложения Class Enrolment
- Рефакторинг существующего кода
- Проверка корректности (validation) информации о студенте
- Сохранение изменений списка классов
Модуль 3. Разработка кода для графического приложения (3 ак. часа)
- Реализация структур и перечислений
- Организация данных в коллекции
- Обработка событий
Лабораторная работа: Написание кода для приложения Grades Prototype
- Добавление логики навигации
- Создание типов данных для хранения информации о пользователях и классах
- Отображение информации о пользователях и классах
Модуль 4. Создание классов и реализация коллекций (3 ак. часа)
- Создание классов
- Определение и реализация интерфейсов
- Реализация коллекции
Лабораторная работа: Добавление проверки данных и коллекции в приложение Grades
- Реализация Teacher, Student и Grade Types как классов
- Добавление проверки данных в класс Grades
- Вывод отсортированного списка студентов
- Добавление информации об учителях
Модуль 5. Создание иерархии классов при помощи наследования (3 ак. часа)
- Создание иерархии классов
- Расширение классов .NET Framework
- Создание универсальных (generic) типов
Лабораторная работа: Рефакторинг основных функций класса User
- Создание и наследование от базового класса пользователя (User)
- Реализация сложного пароля с помощью абстрактного метода
- Создание собственного исключения ClassFullException
Модуль 6. Чтение и запись локальных данных (3 ак. часа)
- Чтение и запись файлов
- Сериализации и десериализации данных
- Реализация ввода/вывода с помощью потоков
Лабораторная работа: Создание отчета Grades
- Сериализация данных для XML отчета Grades
- Предварительный просмотр отчета Grades
- Сохранение сериализованных данных Grades в файл
Модуль 7. Доступ к базе данных (3 ак. часа)
- Создание и использование моделей данных (Entity Data Models)
- Запрос данных с помощью LINQ
- Обновление данных с помощью LINQ
Лабораторная работа: Получение и изменение данных Grades
- Создание модели данных (Entity Model) для базы данных
- Обновление данных Student и Grade Data при помощи Entity Framework
- Надстройка модели для проверки корректности данных
Модуль 8. Доступ к удаленным данным (3 ак. часа)
- Доступ к данным через сеть
- Доступ к данным в облаке
Лабораторная работа: Получение и изменение данных Grades в облаке
- Создание службы WCF Data Services для баз данных SchoolGrades
- Интеграция службы WCF Data Services в приложение
- Получение студенческой фотографии через интернет
Модуль 9. Проектирование пользовательского интерфейса для графических приложений (4 ак. часа)
- Использование XAML для проектирования пользовательского интерфейса
- Привязка элементов управления к данным
- Стилизация пользовательского интерфейса
Лабораторная работа: Настройка студенческой фотографии и стилизация приложений
- Настройка внешнего вида студенческих фотографий
- Стилизация формы входа в приложение и элемента управления StudentPhoto
Модуль 10. Повышение производительности приложений (3 ак. часа)
- Реализация многопоточности с помощью классов Tasks и лямбда выражений
- Асинхронное выполнение операций
- Синхронизация одновременного доступа к данным
Лабораторная работа: Повышение отзывчивости и производительности приложений
- Обеспечение отзывчивости пользовательского интерфейса во время доступа к объекту Teachers
- Предоставление визуальной обратной связи во время длительных операций
Модуль 11. Интеграция с неуправляемым (unmanaged) кодом (3 ак. часа)
- Создание и использование динамических объектов
- Управление временем жизни объектов и unmanaged ресурсами
Лабораторная работа: Обновление отчета
- Создание отчета Grades с помощью Microsoft Office Word
- Управление временем жизни объектов при помощи метода Dispose
Модуль 12. Создание повторно используемых типов и сборок (3 ак. часа)
- Проверка метаданных объекта
- Создание и использование пользовательских атрибутов
- Генерация управляемого кода
- Управление версиями, подпись и развертывание сборок
Лабораторная работа: Определение данных для включения в отчет Grades
- Создание собственного атрибута IncludeInReport
- Генерация отчетов
- Централизованное хранение сборки Grades.Utilities
Модуль 13. Шифрование данных (3 ак. часа)
- Реализация симметричного шифрования
- Реализация асимметричного шифрования
Лабораторная работа: Шифрование отчета Grades
- Шифрование отчета Grades
- Расшифровка отчета Grades