Узнать подробности и записаться на сайте школы на пробный бесплатный урок Сайт школы

Курс "C# Junior Developer"

Школа LevelUp

Научись самому известному языку программирования C# на платформе NET

  • Срок обучения
    1,5 месяца

Практика: 

  • Практической частью домашней работы будет последовательная разработка приложения
  • Курс будет построен на активном взаимодействии с обучаемыми в форме разбора домашнего задания: выбора оптимальной доменной модели; реализации, паттернов проектирования, дизайна разрабатываемого приложения.
  • От скорости прохождения материалов курса группой будет зависеть объем функциональности полученного в конце курса приложения. 
  • Побочным результатом курса будет ваше личное резюме junior c# разработчика с одним из пунктов в списке достижений: разработка приложения. 

Программа обучения

Занятие 1. Повторение основ Microsoft .NET и C#

  • Введение в платформу .NET, инструменты разработки
  • Управление памятью и какие есть типы данных
  • Подробнее про типы значений
  • Подробнее про ссылочные типы данных
  • Массив
  • Кастинг типов, подробнее об упаковке и распаковке
  • Детальнее про garbage collector
  • Структура кода, область видимости
  • Основные операторы и на чем строится вся логика ПО
  • Закрепление знаний созданием консольного приложения и работа с GitHub

Занятие 2. Повторение основ Microsoft .NET и C#

  • Подробнее про циклы
  • Простая сортировка и поиск
  • Строки, нюансы работы с ними
  • Энумераторы, операторы работы с ними
  • Исключения
  • Базис профилирования приложения
  • Структура кода, сборки

Занятие 3. ООП в C#

  • Основа ООП, методы, классы, структуры
  • Наследование
  • Модификаторы доступа
  • Абстракция, виртуальные методы
  • Свойства
  • Конструкторы, вызов конструктора
  • Запаковка классов, методов и почему это важно, основы SOLID
  • Финализаторы, нюансы работы с ними

Занятие 4. ООП. Продолжение

  • Интерфейсы
  • Часто используемые интерфейсы
  • Абстрактный класс или интерфейс, что и когда выбрать, закрепление SOLID
  • Дженерик типы, ограничения
  • Рефлексия, наука о типах данных
  • Атрибуты
  • Статика, статичные методы, что делать если нужно дополнить запакованный класс
  • Создание структуры данных

Занятие 5. Выборка, основы LINQ

  • Подробнее о методах расширениях
  • Подробнее о циклах
  • Подробнее о структурах данных (FIFO/LIFO, словарь, список)
  • Отложенный вызов
  • Выборка объектов из структур данных

Занятие 6. SQL и базы данных, основы ORM

  • Введение в SQL
  • Основные операторы SQL, основы CRUD
  • Таблицы, ключи и основные объекты в базах данных
  • Основные принципы работы с базой данных из C#
  • Работа с nuget репозиторием
  • Основа работы с ORM
  • Планы запросов

Занятие 7. Многопоточность

  • Делегаты и события
  • Процесс и поток
  • Работа с потоками
  • Основные методы синхронизации потоков
  • Что такое взаимоблокировка и как с ней бороться
  • Асинхронность

Занятие 8. Паттерны

  • Типы паттернов
  • Абстрактная фабрика
  • Стратегия
  • Цепочка обязанностей
  • Основы DI/IOC

Занятие 9. Архитектура приложений

  • Двухзвенная архитектура
  • Трехзвенная архитектура
  • Микросервисная архитектура
  • Шина сообщений, краткий обзор
  • Форматы JSON, XML, SOAP
  • Кэш
  • Что такое RESTful Services
  • Популярные пакеты в nuget репозиториях
  • Локальный репозиторий nuget

Занятие 10. WebAPI

  • Методы REST
  • Идемпотентность
  • Swagger
  • Аутентификация и авторизация, основы OAuth
  • Связываем всё вместе, готовим свой сервис и клиент
  • Развертываем локально, развертываем на веб сервере

Занятие 11. Основы WPF и MVVM

  • Быстрый обзор WinForms
  • Основы WPF
  • Привязка данных
  • Разбор MVVM
  • Работа с контейнером и MVVM
  • Работа с потоками и повышение отзывчивости приложения

Занятие 12. Командная игра, методы разработки

  • Основы Agile
  • Что такое sprint
  • Планирование и цели
  • Детально о контроле версии, закрепление