Профессиональное программирование на C#

Информация о курсе:
Длительность курса: 3 месяца (67,5 часов)
Вечерние группы: 27 занятий х 2,5 часа
Субботние группы: 15 занятий х 4,5 часа
Дата начала курса:
2 февраля 15:00-19:30
(занятия проходят по субботам)
Записаться в группу
Если вы уже изучали язык программирования C# в университете, коммерческих учебных заведениях, на онлайн-курсах или самостоятельно, ознакомьтесь с программой курса «Основы программирования на C#» и убедитесь, что вы владеете 70-100% учебного материала. В этом случае рекомендуем вам продолжить обучение на курсе «Профессиональное программирование на С#». Если же у вас возникают какие-то сомнения, звоните, наши тренеры помогут вам сориентироваться при выборе необходимого курса.
Обработка исключительных ситуаций.
- Модели обработки ошибок. Генерирование исключительной ситуации. Классификация исключительных ситуаций. Конструкция try-catch-finally. Использование ключевых слов throws и throw. Создание пользовательских исключений.
Интерфейсы.
- Понятие интерфейса. Свойства интерфейсов.
- Введение в паттерны проектирования.
- Применение интерфейсов для проектирования системы.
- Паттерн проектирования «Strategy».
Клонирование объектов.
- Тип System.Object. Интерфейс ICloneable. Паттерн проектирования «Prototype»
- Эквивалентность типов. Интерфейс IComparable
Работа с файлами.
- Работа с файлами. Классы File и FileInfo. Чтение и запись файла. Класс FileStream.Чтение и запись текстовых файлов. StreamReader и StreamWriter
- Работа с бинарными файлами. BinaryWriter и BinaryReader
- Создание и чтение сжатых файлов. GZipStream и DeflateStream.
- Исключительные ситуации, возникающие при обращении к файлам.
Сериализация объектов.
- Области применения сериализации. Атрибут Serializable. Сериализация и десериализация.
Работа с базами данных.
- Основы работы с базами данных. Понятие и назначение баз данных (БД) и систем управления базами данных (СУБД). Наиболее используемые СУБД. Реляционные базы данных. Основные понятия теории баз данных. Проектирование баз данных. Типы данных, хранимых в БД. Нормальные формы. Обеспечение целостности данных.
- Основы языка структурированных запросов SQL. Назначение и использование SQL. Создание базы данных (оператор CREATE). Модификация данных (операторы INSERT и UPDATE). Выборка данных (оператор SELECT). Выборка из нескольких таблиц. Выборка с условием (оператор WHERE). Сортировка данных (оператор ORDER BY). Группировка данных (оператор GROUP BY).
- Обзор ADO.NET. Архитектура ADO.NET. Создание базы данных. Генератор поставщиков данных. Подключение к базе данных. Команды. Вставка, удаление, обновление записей в базе данных.
- Паттерн проектирования «Adapter»
- Паттерн проектирования «Command».
Обобщенное программирование.
- Эффективность и безопасность обобщений
- Обобщенные классы и структуры. Обобщенные интерфейсы. Обобщенные методы. Обобщенные делегаты.
- Паттерн проектирования «Template Method».
Коллекции.
- Классы коллекций. Необобщенные коллекции System.Collections
- Обобщенные коллекции System.Collections.Generic. Список List. Двухсвязный список LinkedList. Очередь Queue. Стек Stack. Словарь Dictionary<T, V>
- Класс ObservableCollection
- Индексаторы и создание коллекций
- Интерфейсы IEnumerable и IEnumerator
Многопоточное и параллельное программирование.
- Введение в многопоточность. Класс Thread. Создание потоков. Делегат ThreadStart. Потоки с параметрами и ParameterizedThreadStart
- Синхронизация потоко. Мониторы. Класс AutoResetEvent. Мьютексы. Семафоры.
- Параллельное программирование и библиотека TPL. Задачи и класс Task. Работа с классом Task. Класс Parallel.
Основы XML.
- Формат документа XML. Стандарты. Схемы.
- Использование XML.
- Чтение/запись XML.
- Пространство имен System.Xml.
- Обзор классов для работы с XML.
Windows Presentation Foundation.
- Основы технологии WPF. Архитектура. Фундаментальные классы. Элементы управления. Команды. Ресурсы. Стили. Шаблоны.
- Свойства. Зависимости. Привязка данных.
- Основы языка XAML.
Сетевое программирование в С# и .NET.
- Основы работы с сетями в C# и .NET. Введение в сети и протоколы. Адреса в .NET Класс WebClient. Классы WebRequest и WebResponse. Отправка данных в запросе. Обработка ошибок при запросах
- Сокеты. Класс Socket. Клиент-серверное приложение на сокетах TCP. TCP-клиент. Класс TcpClient TCP-сервер. Класс TcpListener. Многопоточное клиент- серверное приложение TCP.
Практические задания курса: Разработка итогового проекта - многопоточное клиент- серверное приложение Морской бой.
