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

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


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

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

Базовый курс

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

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

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

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

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

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

Вечерняя

16.03.2020 - Группа стартовала
Понедельник, Среда (с 18:30 до 21:20)
594 BYN
72 уч.ч
Рассрочка две выплаты по 330 BYN / месяц
Осталось 4 из 12 мест
К группе можно присоединиться
№ группы: G-ND1-06-20

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

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

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

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

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

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

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

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

  • Английский язык (уровень Pre-Intermediate). Можно воспользоваться партнёрской скидкой для изучения языка до необходимого уровня в Streamline

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

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

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

Вы узнаете

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

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

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

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

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

  1. Знакомство с языком C# и платформой .NET
    1.1. История развития языка C#.
    1.2. Какие программы можно писать, используя язык C#.
    1.3. Обзор среды разработки Visual Studio.
    1.4. Рассмотрение структуры решения и проекта.
    1.5. Создание решений и проектов, используя встроенные шаблоны в поставке Visual Studio.
    1.6. Построение простейших приложений: Console Application, Web Application.
  2. Git
    2.1. О системе контроля версий
    2.2. Основы Git
    2.3. Создание Git-репозитория
    2.4. Запись изменений в репозиторий
    2.5. Просмотр истории коммитов
    2.6. Ветвление в Git
  3. Переменные и типы данных
    3.1. Константы.
    3.2. Преобразование типов (Casting).
    3.3. Арифметические операторы.
    3.4. Математические функции.
    3.5. Инкремент и Декремент.
    3.6. Операции сравнения.
    3.7. Присвоение с действием.
    3.8. Локальные области видимости.
    3.9. Ключевые слова в качестве идентификаторов.
    3.10. Неявно типизированные локальные переменные
  4. Условные конструкции
    4.1. Рассмотрение понятия ветвления в программировании.
    4.2. Обзор операторов ветвления.
    4.3. Рассмотрение случаев применения условных конструкций.
    4.4. Условная конструкция – if (с одной ветвью).
    4.5. Условная конструкция – if-else (с двумя ветвями).
    4.6. Условная конструкция – if-else (с несколькими ветвями). Каскад условных операторов.
    4.7. Тернарная условная операция ( ? : ).
    4.8. Ограничения, связанные с типобезопасностью.
    4.9. Вложенные тернарные операторы.
    4.10. Рассмотрение примеров: Оператор многозначного выбора switch-case (переключатель).
  5. Логические и побитовые операции
    5.1. Логические функции: конъюнкция, дизъюнкция, отрицание, исключающее ИЛИ.
    5.2. Использование побитовых логических операций.
    5.3. Логические операции.
    5.4. Рассмотрение операторов сдвига.
  6. Циклические конструкции
    6.1. Обзор циклических конструкций.
    6.2. Рассмотрение цикла с предусловием while.
    6.3. Рассмотрение цикла с постусловием do-while.
    6.4. Рассмотрение цикла со счетчиком for.
    6.5. Рассмотрение оператора досрочного выхода из цикла break.
    6.6. Рассмотрение оператора пропуска итерации continue.
    6.7. Рассмотрение вложенных циклов.
    6.8. Бесконечные циклы.
  7. Методы
    7.1. Обзор методов.
    7.2. Различия между процедурами и функциями.
    7.3. Рассмотрение примеров: Работа методов.
    7.4. Рассмотрение управляющей структуры return.
    7.5. Использование ref и out аргументов в методах
    7.6. Перегрузки методов.
    7.7. Методы с опциональными параметрами.
    7.8. Рекурсивный вызов метода.
  8. Массивы
    8.1. Одномерные массивы.
    8.2. Двумерные массивы.
    8.3. Индексаторы.
    8.4. Переопределение индексаторов.
  9. Классы и объекты
    9.1. Основные парадигмы ООП.
    9.2. Обзор классов.
    9.3. Обзор объектов.
    9.4. Создание и использование классов.
    9.5. Члены класса.
    9.6. Свойства.
    9.7. ReadOnly и WriteOnly свойства.
    9.8. Конструкторы.
    9.9. Рассмотрение частичных классов
    9.10. Рассмотрение частичных методов
    9.11. Поля доступные только для чтения (readonly).
    9.12. Связи отношения между классами (самоассоциация, ассоциация)
    9.13. Работа наследования.
    9.14. Различные модификаторы доступа.
    9.15. Основные формы полиморфизма
    9.16. Классический полиморфизм
    9.17. Ad hoc полиморфизм
    9.18. Замещение, переопределение и перекрытие методов
  10. Абстракция
    10.1. Абстрактные классы.
    10.2. Интерфейсы.
  11. Статические и вложенные классы
    11.1. Статические члены.
    11.2. Статические классы.
    11.3. Расширяющие методы.
    11.4. Вложенные классы.
  12. Структуры
    12.1. Конструкторы.
    12.2. Наследование в структурах.
    12.3. Вложенные структуры и классы.
    12.4. Рассмотрение понятий упаковки и распаковки.
    12.5. Виды упаковки.
    12.6. Работа со структурами DateTime и TimeSpan.
    12.7. Ковариантность и контрвариантность.
    12.8. Рассмотрение перечислений.
  13. Делегаты
    13.1. Определение делегата.
    13.2. Комбинированные (групповые) делегаты.
    13.3. Анонимные методы.
    13.4. Лямбда операторы и лямбда выражения.
  14. Универсальные шаблоны
    14.1.Обобщения.
    14.2.Ковариантность и контрвариантность обобщений.
    14.3.Nullable типы.
    14.4.Операции поглощения.
    14.5.Ограничения обобщений.
    14.6.Преимущества использования обобщенных коллекций.
  15. События
    15.1.Рассмотрение событий.
    15.2.Обработчики событий
  16. Коллекции
    16.1.Коллекции.
    16.2.Интерфейсы IEnumerable, IEnumerator, IEnumerable, IEnumerator.
    16.3.Работа цикла foreach.
    16.4.Оператор yield.
    16.5.Интерфейсы IEnumerable и IEnumerator.
    16.6.Интерфейсы ICollection и ICollection.
    16.7.Создание простой коллекции с помощью реализации интерфейса IList.
    16.8.Рассмотрение коллекции созданной с использованием паттерна Iterator.
    16.9.Использование ArrayList и сбор элементов данных. Предназначение и использование интерфейса IComparer.
    16.10.Работа с последовательными списками (Queue, Stack).
    16.11.Работа со словарями (Hashtable, SortedList, ListDictionary, HybridDictionary, OrderedDictionary).
    16.12.Роль интерфейса IEqualityComparer.
    16.13.Применение специализированных наборов.
    16.14.Обобщенные наборы.
  17. Исключения
    17.1.Обработка исключений.
    17.2.Ключевое слово try.
    17.3.Ключевое слово catch.
    17.4.Ключевое слово finally.
    17.5.Ключевое слово throw.
    17.6.Класс Exception.
  18. Базовый класс Object и перегрузка операторов
    18.1.Базовый класс object.
    18.2.Клонирование.
    18.3.Паттерн проектирования – Prototype.
    18.4.Интерфейс ICloneable.
    18.5.Перегрузка операторов.
    18.6.Перегрузка операторов преобразования значений типов.
  19. Анонимные и динамические типы. LINQ.
    19.1.Анонимные типы.
    19.2.LINQ.
    19.3.Динамические типы.
    19.4.Лямбда-выражения и лямбда-операторы
    19.5.Построение лямбда выражений
    19.6.Замыкание
    19.7.Мемоизация
    19.8.Каррирование
  20. Программирование ввода-вывода
    20.1.Навигация по файловой системе
    20.2.Чтение и запись файлов
    20.3.Работа с потоками(Streams)
    20.4.Работа с изолированным хранилищем
  21. Работа с текстом
    21.1.Работа со строками
    21.2.Форматирование вывода
    21.3.Локализация и глобализация
    21.4.Кодирование-декодирование строк. Использование класса Encoding
    21.5.Использование класса StringBuilder
    21.6.Регулярные выражения и пространство System.Text.RegularExpressions
    21.7.Метасимволы и Квантификаторы
    21.8.Метод Regex.Replace и использование внутришаблонных переменных
    21.9.Организация поиска по шаблону. Применение Match
    21.10.Построение регулярных выражений
    21.11.Чтение и запись файлов в разных кодировках
  22. Сериализация. XML. JSON
    22.1.Общее понятие сериализации
    22.2.Процесс сериализации и десериализации. Совместимость версий
    22.3.Управление сериализацией
    22.4.Форматы сериализации
    22.5.XML сериализация
    22.6.Binary сериализация
    22.7.SOAP сериализация
    22.8.Собственные методы сериализации
  23. Управление памятью. Сборщик мусора.
    23.1.Время жизни объекта в памяти
    23.2.Сборщик мусора. Поколения объектов
    23.3.Деструкторы и финализаторы
    23.4.Освобождение неуправляемых ресурсов. Интерфейс Idisposable
  24. Потоки(Threads)
    24.1.Потоки.
    24.2.Класс Thread.
    24.3.Делегат ThreadStart.
    24.4.Делегат ParameterizedThreadStart.
    24.5.Критическая секция.
    24.6.Оператор lock.
    24.7.Класс - Monitor.
    24.8.Многозадачность. Многозадачность на основе процессов. Многозадачность на основе потоков.
    24.9.Работа с потоками в .NET Framework: пространство имен System.Threading, класс Thread.
    24.10.Создание потоков. Состояния потоков.
    24.11.Завершение потоков. Определение момента окончания потока.
  25. Потоки. Синхронизация
    25.1.Конструкции пользовательского режима
    25.1.1.Волатильные конструкции (volatile).
    25.1.2.Взаимозапирающие конструкции (interlocked).
    25.2.Конструкции синхронизации режима ядра
    25.2.1.События AutoResetEvent и ManualResetEvent
    25.2.2.Семафоры Semaphore
    25.2.3.Мьютексы Mutex
    25.3.Гибридные конструкции синхронизации потоков
    25.3.1.Monitor
    25.3.2.ManualResetEventSlim
    25.3.3.SemaphoreSlim
  26. Асинхронная модель программирования
    26.1.Пул потоков
    26.2.Шаблон асинхронного вызова методов
    26.3.Асинхронная природа делегатов
    26.4.Интерфейс IAsyncResult
    26.5.Синхронизация вызывающего потока
    26.6.Делегат AsyncCallback
    26.7.Класс AsyncResult
    26.8.Передача и прием специальных данных состояния
  27. TPL. Модель Async, Await
    27.1.Введение в параллельное программирование
    27.2.Класс Task и TaskFactory
    27.3.Создание задачи
    27.4.Методы ожидания выполнения задачи
    27.5.Лямбда-выражения в качестве задачи
    27.6.Создание продолжения задачи
    27.7.Возврат значений из задачи
    27.8.Отмена задачи
    27.9.Класс Parallel
    27.10.Ключевые слова async, await
  28. Базы данных
    28.1.Начало работы с MS SQL Server
    28.2.Создание базы данных
    28.3.Создание таблиц
    28.4.Основы T-SQL. DDL
    28.5.Создание и удаление базы данных
    28.6.Создание и удаление таблиц
    28.7.Типы данных T-SQL
    28.8.Атрибуты и ограничения столбцов и таблиц
    28.9.Внешние ключи
    28.10.Изменение таблицы
  29. Entity Framework
    29.1.Введение в Entity Framework 6
    29.2.Взаимодействие с данными. Подходы
    29.3.Основы Entity Framework
    29.4.LINQ to Entities
    29.5.Основные операции с данными
    29.6.Строка подключения
    29.7.Навигационные свойства и загрузка данных
    29.8.Связь один к одному
    29.9.Связь один ко многим
    29.10.Связь многие ко многим
    29.11.Инициализация базы данных
    29.12.Параллелизм в Entity Framework
    29.13.Управление транзакциями
    29.14.Миграции
    29.15.Generic Repository

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

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

    Опыт работы: Более 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

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

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

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

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