Подробнее
Что нужно для старта
- Что нужно знать для старта:
- Основы C# (переменные, циклы, условия, функции — всё, что обычно проходят в первых уроках)
- Немного XAML (достаточно понимать, что такое элементы и атрибуты)
- Базовое понимание, как работают запросы к серверу (не углубляясь)
- Общее представление о таблицах и данных (например, как в Excel)
- Чему вы научитесь с нуля в программе:
- WPF и созданию клиентской части
- Созданию Web API на ASP.NET Core
- SQL: от простых запросов до сложных
- Git и работе в команде
- Паттерну MVVM и unit-тестам
- Технические требования:
- Компьютер с выходом в интернет (Windows, macOS или Linux)
- Возможность устанавливать программы (всё бесплатно)
- 4 ГБ оперативной памяти (хватит для старта)
- Главное: если вы уже писали простые программы на C# и имеете общее представление о XAML — этого достаточно. Всему остальному научим по ходу. Не бойтесь, если что-то пока не знаете — курс ведёт от простого к сложному.
Что вы получите
- Разрабатывать клиент-серверные десктоп-приложения на C# WPF с нуля
- Создавать Web API на ASP.NET Core для серверной части приложения
- Проектировать интерфейсы на XAML с использованием паттерна MVVM
- Применять DI-контейнер PRISM для внедрения зависимостей
- Писать SQL-запросы любой сложности: от простых выборок до оконных функций и CTE
- Использовать продвинутые возможности SQL: транзакции, представления, процедуры, триггеры
- Оптимизировать запросы с помощью EXPLAIN и настраивать права доступа в БД
- Управлять версиями кода с Git и GitHub: ветки, слияние, Pull Requests, командная работа
- Тестировать API-запросы с помощью Postman
- Писать unit-тесты для проверки работоспособности кода
Для кого этот курс
- 👨💻 Начинающие C# разработчики - Освоите desktop-разработку: от клиентской части на WPF до серверной на ASP.NET Core и работы с базами данных.
- 🎯 Разработчики, переходящие в desktop-разработку - Уже знаете основы C#, но хотите научиться создавать клиент-серверные приложения с нуля, используя WPF и паттерн MVVM.
- 📚 Студенты и выпускники IT-специальностей - Получите практические навыки desktop-разработки, которые дополнят академические знания и помогут на старте карьеры.
- 🔄 Разработчики на других языках - Переходите в экосистему .NET и осваивайте востребованную desktop-специализацию с нуля через единую программу.
- 💻 Backend-разработчики на C# - Расширите кругозор до клиентской части на WPF и углубите знания SQL — от простых запросов до оптимизации и транзакций.
- 🚀 Фрилансеры и независимые разработчики - Научитесь самостоятельно создавать полный цикл десктоп-приложений: от клиента на WPF до API на ASP.NET Core и проектирования базы данных.
Программа курса
- Знакомство
- О курсе
- Обзор систем контроля версий
- Установка и настройка Git
- Первый репозиторий
- Первый коммит
- Индекс
- Подробнее о коммита
- Откат изменений
- Удаление файлов
- Переименование/перемещение файлов
- Просмотр изменений
- История коммитов
- Машина времени (изменение истории)
- Игнорирование файлов
- Домашнее задание
- Создание удаленного репозитория
- Клонирование репозитория
- SSH аутентификация
- Копирование чужого репозитория (fork)
- GitHub Copilot
- Файл Readme.md и разметка Markdown
- Альтернативы GitHub
- Домашнее задание
- Введение в ветки
- Переключение между ветками
- Создание, просмотр, удаление веток
- Слияние веток
- Конфликты при слиянии
- Экстренное переключение между задачами
- Безопасное обновление репозитория
- Поиск автора кода
- Запросы на слияние (Pull Request)
- Большая шпаргалка
- Что такое класс
- Подготавливаем классы
- Что такое Entity Framework
- Создаем таблицы из моделей
- Что такое REST API
- Что такое ASP.NET Core
- Создаем первый контроллер, паттерн DTO
- Тестируем запрос
- Добавляем новые end-points
- Что такое токен
- Создание токена и организация UsersService
- Применение токена, атрибут Authorize
- Расширение сервиса UsersService
- Cервис ProjectsService
- Расширение сервиса ProjectsService и рефакторинг
- Тестирование сервиса ProjectsService
- Сервис DesksService
- Тестирование сервиса DesksService
- Сервис TasksService
- Тестирование сервиса TasksService
- Доработка сервиса TasksService
- Что такое WPF
- Паттерн MVVM
- Что такое PRISM
- Создание проекта, создание сервиса, тестирование сервиса
- Расширение сервиса для работы с пользователями
- UsersRequestService. Доработка сервиса и тестирование запросов
- ProjectsRequestService. Сервис для работы с проектами
- ProjectsRequestService. Тестирование сервиса
- DesksRequestService. Сервис для работы с досками
- DesksRequestService. Тестирование сервиса
- TasksRequestService. Создание и тестирование
- Создание окна Login. Верстка xaml
- Класс ViewModel для Login. Получение информации по пользователю
- Сохранение информации по логину и паролю
- Создание кнопок с командами в виде изменяемого списка
- Кнопка управления пользователями
- Страница с информацией о пользователе
- Кнопка Logout
- Отображение задач списком
- Создание страницы с проектами
- Отображение участников в проекте
- Создание и редактирование проекта
- Добавление пользователей в проект
- Отображение досок
- Создание досок
- Редактирование досок, создание нового сервиса
- Открытие досок с задачами
- Открытие задач и колонок
- Окно создания задачи
- Debugging. Отображение исполнителя и создателя
- Перетаскивание задач между колонками
- Импорт из excel, редактирование проекта, исправление багов
- Ограничение работы в программе по времени
- Установка MySQL сервера
- Работа в терминале
- Графические IDE (Workbench, DBeaver)
- Взаимодействие с сервером
- Контрольные вопросы
- Решаем задачи. Пишем SQL код
- Первичные ключи
- Особенности типов данных и именование объектов
- Руководство по стилю SQL · SQL Style Guide
- Индексы
- Внешние ключи
- Подробнее про ALTER TABLE
- Особенности синтаксиса MySQL
- Виды связей между таблицами (1х1, 1хМ, МхМ)
- Таблицы-справочники
- ER-диаграмма
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Команда INSERT
- Команда SELECT
- Команда UPDATE
- Команда DELETE
- Бонус: Сервисы для генерации данных
- Импорт-экспорт данных
- Контрольные вопросы
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Простые примеры SELECT запросов
- Фильтрация (WHERE + LIKE)
- Сортировка (ORDER BY)
- Агрегирующие функции (COUNT, MIN, MAX, AVG, SUM)
- Группировка (GROUP BY)
- Фильтрация (HAVING)
- Отсутствие значения (NULL)
- Пейджинг (LIMIT + OFFSET)
- Условия, ветвления (IF, CASE)
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Контрольные вопросы. Часть 3
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Вложенные запросы (подзапросы)
- Объединения (JOIN) - Теория
- Объединения (CROSS JOIN, INNER JOIN)
- Объединения (LEFT JOIN, RIGHT JOIN)
- Объединения (FULL OUTER JOIN)
- Вложенные запросы VS объединения
- Соединения (UNION)
- Оконные функции
- Общие табличные выражения (CTE)
- Рекурсивные табличные выражения
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Решаем задачи. Пишем SQL код. Часть 3
- Решаем задачи. Пишем SQL код. Часть 4
- Полнотекстовый поиск
- Представления (View)
- Хранимые процедуры
- Пользовательские функции
- Переменные
- Триггеры
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Контрольные вопросы. Часть 3
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Введение в транзакции
- Обработка исключений (ошибок)
- Уровни изоляции транзакций
- Блокировки таблиц
- Взаимная блокировка (deadlock)
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код
- Пользователи
- Роли
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код
- Лишний JOIN
- Денормализация
- Настройки сервера
- Анализ запросов (EXPLAIN)
- Графический план исполнения запроса
- Исправление проблемных мест
- Графический план: показательные примеры
- Контрольные вопросы
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Работа с логами
- Циклы
- Курсоры
- SQL инъекции
- Контрольные вопросы
- Решаем задачи. Пишем SQL код
- Подведение итогов
01Git [1] Основы Git
- Знакомство
- О курсе
- Обзор систем контроля версий
- Установка и настройка Git
- Первый репозиторий
- Первый коммит
- Индекс
- Подробнее о коммита
- Откат изменений
- Удаление файлов
- Переименование/перемещение файлов
- Просмотр изменений
- История коммитов
- Машина времени (изменение истории)
- Игнорирование файлов
- Домашнее задание
02Git [2] GitHub
- Создание удаленного репозитория
- Клонирование репозитория
- SSH аутентификация
- Копирование чужого репозитория (fork)
- GitHub Copilot
- Файл Readme.md и разметка Markdown
- Альтернативы GitHub
- Домашнее задание
03Git [3] Ветвление и командная работа
- Введение в ветки
- Переключение между ветками
- Создание, просмотр, удаление веток
- Слияние веток
- Конфликты при слиянии
- Экстренное переключение между задачами
- Безопасное обновление репозитория
- Поиск автора кода
- Запросы на слияние (Pull Request)
- Большая шпаргалка
04WPF [1] Начало работы
- Что такое класс
- Подготавливаем классы
- Что такое Entity Framework
- Создаем таблицы из моделей
05WPF [2] Создание контроллера
- Что такое REST API
- Что такое ASP.NET Core
- Создаем первый контроллер, паттерн DTO
- Тестируем запрос
- Добавляем новые end-points
06WPF [3] Ограничение прав доступа
- Что такое токен
- Создание токена и организация UsersService
- Применение токена, атрибут Authorize
07WPF [4] Сервисы
- Расширение сервиса UsersService
- Cервис ProjectsService
- Расширение сервиса ProjectsService и рефакторинг
- Тестирование сервиса ProjectsService
- Сервис DesksService
- Тестирование сервиса DesksService
- Сервис TasksService
- Тестирование сервиса TasksService
- Доработка сервиса TasksService
08WPF [5] Начало работы с UI
- Что такое WPF
- Паттерн MVVM
- Что такое PRISM
09WPF [6] Разработка UI сервисов
- Создание проекта, создание сервиса, тестирование сервиса
- Расширение сервиса для работы с пользователями
- UsersRequestService. Доработка сервиса и тестирование запросов
- ProjectsRequestService. Сервис для работы с проектами
- ProjectsRequestService. Тестирование сервиса
- DesksRequestService. Сервис для работы с досками
- DesksRequestService. Тестирование сервиса
- TasksRequestService. Создание и тестирование
10WPF [7] Окно Login
- Создание окна Login. Верстка xaml
- Класс ViewModel для Login. Получение информации по пользователю
- Сохранение информации по логину и паролю
11WPF [8] Главное окно MainWindow
- Создание кнопок с командами в виде изменяемого списка
- Кнопка управления пользователями
- Страница с информацией о пользователе
- Кнопка Logout
- Отображение задач списком
12WPF [9] Страница с проектами
- Создание страницы с проектами
- Отображение участников в проекте
- Создание и редактирование проекта
- Добавление пользователей в проект
13WPF [10] Страница с досками
- Отображение досок
- Создание досок
- Редактирование досок, создание нового сервиса
14WPF [11] Страница с задачами
- Открытие досок с задачами
- Открытие задач и колонок
- Окно создания задачи
- Debugging. Отображение исполнителя и создателя
- Перетаскивание задач между колонками
15WPF [12] Дополнение функционала
- Импорт из excel, редактирование проекта, исправление багов
- Ограничение работы в программе по времени
16SQL [1.1] Установка рабочего окружения
- Установка MySQL сервера
- Работа в терминале
- Графические IDE (Workbench, DBeaver)
- Взаимодействие с сервером
- Контрольные вопросы
- Решаем задачи. Пишем SQL код
17SQL [1.2] Проектирование БД (команды DDL)
- Первичные ключи
- Особенности типов данных и именование объектов
- Руководство по стилю SQL · SQL Style Guide
- Индексы
- Внешние ключи
- Подробнее про ALTER TABLE
- Особенности синтаксиса MySQL
- Виды связей между таблицами (1х1, 1хМ, МхМ)
- Таблицы-справочники
- ER-диаграмма
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
18SQL [1.3] Работа с данными (команды DML, CRUD)
- Команда INSERT
- Команда SELECT
- Команда UPDATE
- Команда DELETE
- Бонус: Сервисы для генерации данных
- Импорт-экспорт данных
- Контрольные вопросы
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
19SQL [2.1] Базовые возможности SELECT запросов
- Простые примеры SELECT запросов
- Фильтрация (WHERE + LIKE)
- Сортировка (ORDER BY)
- Агрегирующие функции (COUNT, MIN, MAX, AVG, SUM)
- Группировка (GROUP BY)
- Фильтрация (HAVING)
- Отсутствие значения (NULL)
- Пейджинг (LIMIT + OFFSET)
- Условия, ветвления (IF, CASE)
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Контрольные вопросы. Часть 3
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
20 SQL [2.2] Продвинутые SELECT-запросы
- Вложенные запросы (подзапросы)
- Объединения (JOIN) - Теория
- Объединения (CROSS JOIN, INNER JOIN)
- Объединения (LEFT JOIN, RIGHT JOIN)
- Объединения (FULL OUTER JOIN)
- Вложенные запросы VS объединения
- Соединения (UNION)
- Оконные функции
- Общие табличные выражения (CTE)
- Рекурсивные табличные выражения
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
- Решаем задачи. Пишем SQL код. Часть 3
- Решаем задачи. Пишем SQL код. Часть 4
21SQL [2.1] Продвинутые фичи SQL
- Полнотекстовый поиск
- Представления (View)
- Хранимые процедуры
- Пользовательские функции
- Переменные
- Триггеры
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Контрольные вопросы. Часть 3
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
22SQL [2.2] Транзакции
- Введение в транзакции
- Обработка исключений (ошибок)
- Уровни изоляции транзакций
- Блокировки таблиц
- Взаимная блокировка (deadlock)
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код
23SQL [2.3] Права доступа
- Пользователи
- Роли
- Контрольные вопросы. Часть 1
- Контрольные вопросы. Часть 2
- Решаем задачи. Пишем SQL код
24SQL [2.4] Вопросы оптимизации
- Лишний JOIN
- Денормализация
- Настройки сервера
- Анализ запросов (EXPLAIN)
- Графический план исполнения запроса
- Исправление проблемных мест
- Графический план: показательные примеры
- Контрольные вопросы
- Решаем задачи. Пишем SQL код. Часть 1
- Решаем задачи. Пишем SQL код. Часть 2
25SQL [2.5] Дополнительные темы
- Работа с логами
- Циклы
- Курсоры
- SQL инъекции
- Контрольные вопросы
- Решаем задачи. Пишем SQL код
26Завершение учебной программы
- Подведение итогов
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Программа: C# Desktop-разработчик [ WPF + Git + SQL ]» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 7 сентября 2026 г.

Stepik 



















