Мы используем cookie для стабильной работы сервиса. Подробнее

Программа: C# Desktop-разработчик [ WPF + Git + SQL ]

ФорматОнлайн
Объём26 занятий
О курсе

Подробнее

Эта программа создана для тех, кто хочет стать desktop-разработчиком на C#. Вы освоите создание клиент-серверных десктоп-приложений с использованием WPF для клиентской части и ASP.NET Core для серверной, научитесь работать с базами данных на всех уровнях — от чистого SQL до продвинутых возможностей, а также освоите Git для контроля версий.   🎯 Цель программы Сформировать у вас навыки для уверенной работы в качестве C# desktop-разработчика. Вы научитесь создавать полноценные клиент-серверные приложения с нуля, проектировать базы данных, управлять версиями кода и разбираться в полном цикле desktop-разработки.   ✨ Почему стоит выбрать именно её? Клиент-серверный подход: Вы изучите как клиентскую часть на C# WPF с паттерном MVVM, так и серверную на ASP.NET Core — станете специалистом, понимающим полный цикл. SQL от А до Я: Три последовательных курса по SQL от Pragmatic Programmer проведут вас от первых запросов до продвинутых транзакций, процедур и оптимизации. Git как у профессионалов: Полноценный курс по Git и GitHub научит работать в команде, управлять ветками и проходить код-ревью. Практический проект: В главном курсе программы вы создадите реальное клиент-серверное десктоп-приложение с нуля. Экономия на пакете: Покупка программы выгоднее, чем приобретение всех 5 курсов по отдельности.   🔥 Особенности программы 5 взаимодополняющих курсов: WPF + ASP.NET Core, Git и 3 уровня SQL — от новичка до продвинутого. Сквозной практический проект: В курсе Руслана Шишмарева вы разработаете полноценное клиент-серверное приложение, имитирующее реальный процесс разработки. Современный стек: WPF, ASP.NET Core, MVVM с PRISM, unit-тестирование, Postman. Поддержка от авторов: Доступ в комментарии и Telegram-сообщества для вопросов и помощи.   📅 Что нужно будет делать Создавать интерфейсы на XAML с использованием паттерна MVVM Разрабатывать Web API на ASP.NET Core для серверной части Писать SQL-запросы любой сложности с JOIN, оконными функциями и подзапросами Работать с транзакциями, представлениями, процедурами и триггерами Управлять версиями кода через Git и GitHub (ветки, Pull Requests) Тестировать API-запросы с помощью Postman Писать unit-тесты для проверки работоспособности кода
Требования

Что нужно для старта

  • Что нужно знать для старта:
  • Основы 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 и проектирования базы данных.
Содержание

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

26 занятий
ТемаЧто внутри
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Завершение учебной программы

- Подведение итогов

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Завершение учебной программы

- Подведение итогов

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Программа: C# Desktop-разработчик [ WPF + Git + SQL ]» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 7 сентября 2026 г.

Продолжить выбор

Похожие курсы

Фреймворк Apache Spark для разработчиков: продвинутый уровень
−10%32 академ. часов
Фреймворк Apache Spark для разработчиков: продвинутый уровень

Глубокое погружение в внутреннее устройство Apache Spark и его компонентов. Этот курс поможет вам понять, как устроены и работают различные модули Spark, такие как Spark Core, Spa…

ОнлайнПродвинутый
55 500 ₽−10%
49 950 ₽
SQL практикум. Полный курс
4-5 часов в неделю
SQL практикум. Полный курс

Загляни в Телеграм канал курса. Там обсуждение и новости. В конце курса студентов ждет приятный бонус! 🎁 Цель курса Научить вас работать с базами данных на профессиональном уровне…

Онлайн12 занятий
1 700 ₽
Базы данных с нуля
−35%
Базы данных с нуля

Узнайте все о работе с реляционными и нереляционными базами данных

ОнлайнНачальный
14 900 ₽−35%
9 680 ₽Рассрочка на 12 мес.
Начать без затрат

Бесплатные курсы

Python для решения практических задач
Бесплатно
Python для решения практических задач

Научились решать простые задачи на питоне, но не можете понять, как сделать что-то полезное? Наш курс научит вас правильно гуглить! На примерах задач сбора данных (Data Scraping)…

Онлайн5 занятий
Бесплатно
Claude Code с нуля до реальных задач
Бесплатно1 месяц
Claude Code с нуля до реальных задач

Вы разовьёте аналитическое мышление, научитесь искать уязвимости и обеспечивать безопасность IT-систем. Освоите востребованную профессию даже с нулевым опытом в IT. Программа курс…

Онлайн
Бесплатноот 11 647 ₽/мес
Markdown синтаксис
Бесплатно2 часа
Markdown синтаксис

Этот курс предназначен для всех, кто работает с текстом в digital-среде. Вы освоите Markdown — универсальный язык разметки, который используют в GitHub, документации, блогах и соо…

Онлайн3 занятий
Бесплатно