Консультация

Консультируем с 8:30 до 19:00 Выходной: суббота и воскресенье


Сообщение об ошибке
Сообщение об ошибке

Программирование на C#

Базовый курс

C# — объектно-ориентированный язык программирования, разработанный в 1998—2001 годах в компании Microsoft. Язык создавался на основе Java и C++ и впитал их лучшие качества, в том числе унаследовал особенности синтаксиса.

Это основной язык для программирования под платформу .NET. Используется для веб-разработки, создания настольных и мобильных приложений.

Благодаря огромному количеству документации C# удобен в изучении. Собственная среда разработки Visual Studio, готовые модули, шаблоны и процедуры, а также большое количество синтаксического сахара делают язык удобным и популярным.

После освоения C# (си шарп) студенты могут выбрать специализации и продолжить обучение.

Описание курса

Формы обучения

Вечерняя

по мере комплектации группы, ориентировочно январь 2020
понедельник 18:30-21:20, четверг 18:30-21:20
536 BYN
72 уч.ч
Рассрочка две выплаты по 295 BYN / месяц
№ группы: G-ND1-06-19

Условия отбора

Зачисление на курс "Программирование на C#" проводится на конкурсной основе по результатам:

  • теста по английскому языку,

  • теста по логике,

  • теста на знание основ web-технологий.

Для кого этот курс

  • Для слушателей, не имеющих специальной предварительной подготовки, желающих изучить основы объектно-ориентированного программирования и научиться программировать на современном языке C#

Необходимая подготовка

  • Английский язык (уровень Pre-Intermediate)

  • Уверенный пользователь персонального компьютера

Для чего этот курс

  • Научить слушателей пользоваться основными инструментами промышленной разработки программного обеспечения используя язык программирования C# и платформу .NET, подготовить их к работе в реальных проектах

Вы узнаете

  • По окончанию курса вы будете понимать основные принципы построения и структурирования приложений, написанных на языке программирования C#, а также создавать полноценные последовательные алгоритмы в своих решениях. Узнаете, что такое рефлексия и атрибуты, сериализация и сборщик мусора. Курс включает изучение ключевых стандартных классов, которые позволяют работать с файловой системой, с наборами данных, строками, XML и многим другим. Также вы будете владеть основными инструментами и технологиями, такими как LINQ, и обладать всеми знаниями и навыками, которые необходимы для .NET разработчика.

Вы будете уметь

  • использовать C# 

  • разбираться в принципах работы разных технологий платформы Microsoft .NET

Программа курса

  1. Базовый уровень (36 уч.ч)
    1.Знакомство с языком C# и платформой .NET
    История развития языка C#.
    Какие программы можно писать, используя язык C#.
    Обзор среды разработки Visual Studio.
    Рассмотрение структуры решения и проекта.
    Создание решений и проектов, используя встроенные шаблоны в поставке Visual Studio.
    Построение простейших приложений: Console Application, Windows Forms Application, WPF Application и Web Application.
    2. Переменные и типы данных
    Константы.
    Преобразование типов (Casting).
    Арифметические операторы.
    Математические функции.
    Инкремент и Декремент.
    Операции сравнения.
    Присвоение с действием.
    Локальные области видимости.
    Ключевые слова в качестве идентификаторов.
    Неявно типизированные локальные переменные.
    3. Условные конструкции
    Рассмотрение понятия ветвления в программировании.
    Обзор операторов ветвления.
    Рассмотрение случаев применения условных конструкций.
    Условная конструкция – if (с одной ветвью).
    Условная конструкция – if-else (с двумя ветвями).
    Условная конструкция – if-else (с несколькими ветвями). Каскад условных операторов.
    Тернарная условная операция ( ? : ).
    Ограничения, связанные с типобезопасностью.
    Вложенные тернарные операторы.
    Рассмотрение примеров: Оператор многозначного выбора switch-case (переключатель).
    4. Логические и побитовые операции
    Логические функции: конъюнкция, дизъюнкция, отрицание, исключающее ИЛИ.
    Использование побитовых логических операций.
    Логические операции.
    Рассмотрение операторов сдвига.
    5. Циклические конструкции
    Обзор циклических конструкций.
    Рассмотрение цикла с предусловием while.
    Рассмотрение цикла с постусловием do-while.
    Рассмотрение цикла со счетчиком for.
    Рассмотрение оператора досрочного выхода из цикла break.
    Рассмотрение оператора пропуска итерации continue.
    Рассмотрение вложенных циклов.
    Бесконечные циклы.
    6. Методы
    Обзор методов.
    Различия между процедурами и функциями.
    Рассмотрение примеров: Работа методов.
    Рассмотрение управляющей структуры return.
    Использование ref и out аргументов в методах
    Перегрузки методов.
    Методы с опциональными параметрами.
    Рекурсивный вызов метода.
    7. Массивы
    Одномерные массивы.
    Двумерные массивы.
    Зубчатые массивы.
    Индексаторы.
    Переопределение индексаторов.
    8. Классы и объекты
    Рассмотрение ООП.
    Обзор классов.
    Обзор объектов.
    Создание и использование классов.
    Члены класса.
    Свойства.
    ReadOnly и WriteOnly свойства.
    Конструкторы.
    Рассмотрение частичных классов
    Рассмотрение частичных методов
    Поля доступные только для чтения (readonly).
    Основные парадигмы ООП.
    Диаграммы классов UML.
    Связи отношения между классами (самоассоциация, ассоциация)
    Работа наследования.
    Различные модификаторы доступа.
    Основные формы полиморфизма
    9. Абстракция
    Абстрактные классы.
    Интерфейсы.
    Паттерн внедрение зависимости
    10. Статические и вложенные классы
    Статические члены.
    Статические классы.
    Расширяющие методы.
    Вложенные классы.
    Паттерн проектирования – Singleton.
    11. Структуры
    Конструкторы.
    Наследование в структурах.
    Вложенные структуры и классы.
    Рассмотрение понятий упаковки и распаковки.
    Виды упаковки.
    Работа со структурами DateTime и TimeSpan.
    Ковариантность и контрвариантность.
    Рассмотрение перечислений.
    12. Делегаты
    Определение делегата.
    Комбинированные (групповые) делегаты.
    Анонимные методы.
    Лямбда операторы и лямбда выражения.
    13. Универсальные шаблоны
    Обобщения.
    Ковариантность и контрвариантность обобщений.
    Nullable типы.
    Операции поглощения.
    Ограничения обобщений.
    Преимущества использования обобщенных коллекций.

    14. События
    Рассмотрение событий.
    Рассмотрение паттерна MVP.
    15. Потоки(Threads)
    Потоки.
    Класс Thread.
    Делегат ThreadStart.
    Делегат ParameterizedThreadStart.
    Критическая секция.
    Оператор lock.
    Класс - Monitor.
    16. Коллекции
    Коллекции.
    Интерфейсы IEnumerable и IEnumerator.
    Работа цикла foreach.
    Оператор yield.
    Интерфейсы IEnumerable и IEnumerator.
    17. Исключения
    Обработка исключений.
    Ключевое слово try.
    Ключевое слово catch.
    Ключевое слово finally.
    Ключевое слово throw.
    Класс Exception.
    18. Базовый класс Object и перегрузка операторов
    Базовый класс object.
    Клонирование.
    Паттерн проектирования – Prototype.
    Интерфейс ICloneable.
    Перегрузка операторов.
    Перегрузка операторов преобразования значений типов.
    19. Анонимные и динамические типы. LINQ.
    Анонимные типы.
    LINQ.
    Динамические типы.
  2. Углубленный уровень (36 уч.ч)
    20. Пользовательские коллекции
    Коллекции.
    Интерфейсы IEnumerable, IEnumerator, IEnumerable, IEnumerator.
    Работа цикла foreach.
    Оператор yield.
    Интерфейсы ICollection и ICollection.
    Создание простой коллекции с помощью реализации интерфейса IList.
    Рассмотрение коллекции созданной с использованием паттерна Iterator.
    21. Системные коллекции
    Использование ArrayList и сбор элементов данных. Предназначение и использование интерфейса IComparer.
    Работа с последовательными списками (Queue, Stack).
    Работа со словарями (Hashtable, SortedList, ListDictionary, HybridDictionary, OrderedDictionary).
    Роль интерфейса IEqualityComparer.
    Применение специализированных наборов.
    Обобщенные наборы.
    22. Программирование ввода-вывода
    Навигация по файловой системе
    Чтение и запись файлов
    Работа с потоками(Streams)
    Работа с изолированным хранилищем
    23. Работа с текстом
    Работа со строками
    Форматирование вывода
    Локализация и глобализация
    Кодирование-декодирование строк. Использование класса Encoding
    Использование класса StringBuilder
    Регулярные выражения и пространство System.Text.RegularExpressions
    Метасимволы и Квантификаторы
    Метод Regex.Replace и использование внутришаблонных переменных
    Организация поиска по шаблону. Применение Match
    Построение регулярных выражений
    Чтение и запись файлов в разных кодировках
    24. XML. Файлы конфигурации. Реестр
    Загрузка и чтение из XML файла
    Применение XmlTextReader
    Загрузка содержимого XML по URL
    Загрузка содержимого XML из строки
    Поэлементное чтение XML файла
    Использование XmlTextWriter
    Запись комментариев в XML файл
    Запись пространства имен и префиксов в XML файл
    Запись в XML файл со специальным форматированием
    Выборка из XML с помощью XPath. (Запросы XPath)
    Вычисление min и max с помощью XPath
    Создание XPathDocument из строки
    Создание файлов конфигурации приложения. Чтение и запись настроек приложения
    Работа с реестром Windows. Использование реестра для хранения настроек приложения
    25. Рефлексия
    Общее понятие рефлексии
    Метаданные, манифест сборки, объект Type
    Позднее связывание. Класс Assembly
    Динамическая генерация кода. Класс Activator
    Генерация кода во время выполнения программы
    26. Атрибуты
    Общее понятие атрибутов
    Класс System.Attribute
    Позиционные и именованные параметры атрибутов
    Создание атрибутов
    Использование атрибутов
    Определение атрибутов при помощи рефлексии
    Системные атрибуты
    27. Сериализация
    Общее понятие сериализации
    Процесс сериализации и десериализации. Совместимость версий
    Управление сериализацией
    Форматы сериализации
    XML сериализация
    Binary сериализация
    SOAP сериализация
    Собственные методы сериализации
    28. Управление памятью. Сборщик мусора.
    1. Время жизни объекта в памяти
    2. Сборщик мусора. Поколения объектов
    3. Деструкторы и финализаторы
    4. Освобождение неуправляемых ресурсов. Интерфейс IDisposable
    29. Версионность
    Шаблон NVI
    Классический полиморфизм
    Ad hoc полиморфизм
    Замещение, переопределение и перекрытие методов
    30. Потоки
    Многозадачность. Многозадачность на основе процессов. Многозадачность на основе потоков.
    Работа с потоками в .NET Framework: пространство имен System.Threading, класс Thread.
    Создание потоков. Состояния потоков.
    Завершение потоков. Определение момента окончания потока.
    31. Потоки. Синхронизация
    Конструкции пользовательского режима
    a. Волатильные конструкции (volatile).
    b. Взаимозапирающие конструкции (interlocked).
    Конструкции синхронизации режима ядра
    a. События AutoResetEvent и ManualResetEvent
    b. Семафоры Semaphore
    c. Мьютексы Mutex
    Гибридные конструкции синхронизации потоков
    a. Monitor
    b. ManualResetEventSlim
    c. SemaphoreSlim
    32. Асинхронная модель программирования
    Пул потоков
    Шаблон асинхронного вызова методов
    Асинхронная природа делегатов
    Интерфейс IAsyncResult
    Синхронизация вызывающего потока
    Делегат AsyncCallback
    Класс AsyncResult
    Передача и прием специальных данных состояния
    33. TPL. Модель Async, Await
    Введение в параллельное программирование
    Класс Task и TaskFactory
    Создание задачи
    Методы ожидания выполнения задачи
    Лямбда-выражения в качестве задачи
    Создание продолжения задачи
    Возврат значений из задачи
    Отмена задачи
    Класс Parallel
    Ключевые слова async, await
    34. Функциональное программирование
    Введение в функциональное программирование
    Лямбда-выражения и лямбда-операторы
    Построение лямбда выражений
    Замыкание
    Мемоизация
    Каррирование
    35. Домены приложений. NT-службы
    Введение в домены приложения
    Класс System.AppDomain
    Создание доменов
    Выполнение сборок в доменах
    Выгрузка доменов
    Конфигурирование доменов приложений
    Запуск сборок с ограниченными привилегиями
    Введение в службы Windows
    Создание служб
    Установка служб

Преподаватели курса

  • Алексей Сизов

    Опыт работы: Более 5 лет

    Специальность:
    Промышленная разработка ПО на ASP.NET

    .Net developer в компании Itransition. Более 6-ти лет опыта работы в разработке сложных промышленных систем, из них более 4-х лет создания корпоративных приложений на платформе Microsoft.NET.

    Узнать больше
  • Дмитрий Легеза

    Специальность:
    Промышленная разработка ПО на ASP.NET

    ASP.NET, full-stack разработчик в компании Exadel. Более 5-ти лет опыта работы в разработке сложных промышленных систем, из них более 3-х лет создания корпоративных веб-приложений на платформе Microsoft.NET.

    Узнать больше

Алексей Сизов

Опыт работы:Более 5 лет

.Net developer в компании Itransition. Более 6-ти лет опыта работы в разработке сложных промышленных систем, из них более 4-х лет создания корпоративных приложений на платформе Microsoft.NET.

Четко представляю с какими проблемами сталкивается большая часть начинающих разработчиков в начале свой карьеры. Преподавание ведется с использованием проверенных подходов, методик, индивидуальный подход для каждого обучающегося."


Дмитрий Легеза

ASP.NET, full-stack разработчик в компании Exadel. Более 5-ти лет опыта работы в разработке сложных промышленных систем, из них более 3-х лет создания корпоративных веб-приложений на платформе Microsoft.NET.

Не понаслышке знаком с первоначальными трудностями, с которыми сталкиваются все новички в начале своей карьеры в ИТ. В процессе преподавания используются проверенные подходы, методики, учебные материалы с учётом личного опыта каждого обучающегося.

dmitry.legeza@gmail.com

Оставьте заявку на курс сейчас

Запишитесь на курс сегодня, и уже завтра мы свяжемся с Вами и пригласим на ближайшее вводное занятие.
И конечно, расскажем про полную программу обучения и ее специфику, тренера, а главное – про нашу программу трудоустройства.

Более 2760 выпускников успешно работают в IT-компаниях в Беларуси и за рубежом

Акции и новости