+7 (812) 703-02-02 info@hse.spbstu.ru

DEV-CSH210. Объектно-ориентированное программирование на языке C#

Длительность дисциплины: 40 ак.ч.


Аннотация

Данный  курс  позволяет приобрести навыки проектирования и разработки быстрых и гибких приложений. Курс охватывает основы построения программ на языке C#, синтаксис языка и детали реализации приложений на платформе .NET Framework 4.5. Курс также познакомит Вас с методами и технологиями, которые используются в современных настольных и корпоративных приложениях. В курсе будут рассмотрены: обработка событий, программирование пользовательского интерфейса, доступ к базам данных, асинхронное выполнение операций, создание пользовательских атрибутов, а также шифрование/дешифрование данных.

Специалисты, обладающие этими знаниями и навыками, в настоящее время крайне востребованы на рынке ИТ.


Знания и умения, полученные в результате изучения

После изучения этого курса, вы будете

знать:
  • синтаксис и основные особенности C#;
  • базовую структуру и основные элементы типичного настольного приложения;
  • принципы использования наследования для создания иерархии классов;

уметь:
  • использовать Visual Studio 2012 для создания Windows Store приложений;
  • создавать и вызывать методы, перехватывать и обрабатывать исключения;
  • создавать классы, определять и реализовывать интерфейсы, а также создавать и использовать коллекции;
  • использовать наследование для создания иерархии классов;
  • расширять классы .NET Framework, а также создавать универсальные классы и методы;
  • описывать требования к мониторингу масштабируемых приложений;
  • создавать и использовать модель данных (Entity Data Model) для доступа к базам данных с помощью LINQ-запросов, обновлять данные;
  • интегрировать неуправляемые библиотеки (unmanaged libraries) и динамические компоненты в приложения C#;
  • использовать метаданные с помощью отражения (reflection);

обладать навыками:
  • создания графического интерфейса пользователя средствами XAML;
  • повышения удобства и снижения времени отклика приложений с помощью задач и асинхронных операций;
  • шифровать и расшифровывать данные с помощью симметричного и асимметричного шифрования;
  • использования чтения и записи данных с помощью методов файлового ввода/вывода, потоков;
  • создания и использования пользовательских атрибутов;
  • генерации кода во время выполнения, а также управления версиями сборок.

Содержание дисциплины

Тема 1: Обзор синтаксиса C#

1.1 Обзор способов разработки приложений с использованием C#
1.2 Типы данных, операторы и выражения
1.3 Программирование языковых конструкций на C#

Тема 2: Создание методов, обработка исключений и мониторинг приложений

2.1 Создание и вызов методов. Создание перегруженных методов и использование опциональных параметров, возвращающих значение
2.2 Обработка исключений. Мониторинг приложений

Тема 3: Разработка кода для графического приложения

3.1 Реализация структур и перечислений
3.2 Организация данных в коллекции
3.3 Обработка событий

Тема 4: Создание классов и реализация «безопасных» коллекций

4.1 Создание классов
4.2 Определение и реализация интерфейсов
4.3 Реализация коллекции

Тема 5: Создание иерархии классов при помощи наследования

5.1 Создание иерархии классов
5.2 Расширение классов .NET Framework
5.3 Создание универсальных типов

Тема 6: Чтение и запись локальных данных

6.1 Чтение и запись файлов
6.2 Сериалиация и десериализация данных
6.3 Реализация ввода/вывода с помощью потоков

Тема 7: Доступ к базе данных

7.1 Создание и использование моделей данных (Entity Data Models)
7.2 Запрос данных с помощью LINQ
7.3 Обновление данных с помощью LINQ

Тема 8: Доступ к удаленным данным


8.1 Доступ к данных через Web
8.2 Доступ к данным в облаке

Тема 9: Проектирование пользовательского интерфейса для графического приложения

9.1 Использование XAML для проектирования пользовательского интерфейса
9.2 Привязка элементов управления к данным
9.3 Стилизация пользовательского интерфейса

Тема 10: Повышение производительности и отклика приложений


10.1 Реализация многопоточности с помощью классов Tasks и лямбда выражений
10.2 Асинхронное выполнение операций
10.3 Синхронизация конкурентного доступа к данным

Тема 11: Интеграция с неуправляемым кодом


11.1 Создание и использование динамических объектов
11.2 Управление временем жизни объектов и неуправляемыми ресурсами

Тема 12: Создание повторно используемых типов и сборок

12.1 Проверка метаданных объекта.
12.2 Создание и использование пользовательских атрибутов
12.3 Генерация управляемого кода.
12.4 Управление версиями, подпись и развертывание сборок

Тема 13: Шифрация и дешифрация данных

13.1 Реализация симметричного шифрования
13.2 Реализация асимметричного шифрования