для предложений и замечаний, направленных на улучшение деятельности университета и повышение качества образования
Нашли опечатку?
Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.
Учебный план
Аннотации учебных дисциплин
Семинар наставника
Семинар обеспечивает регулярную работу студента с академическим наставником и профессиональным сообществом программы, помогает связать учебные курсы, практику, научно‑исследовательскую работу и карьерные цели в целостную траекторию развития бэкенд‑разработчика и архитектора программных систем.
Алгоритмы и структуры данных
Дисциплина закладывает фундаментальные представления о базовых алгоритмах и структурах данных, используемых при проектировании и реализации программных систем различного типа. В рамках курса рассматриваются методы асимптотического анализа алгоритмов, классические алгоритмы сортировки и поиска, а также линейные и древовидные структуры данных, что формирует основу для последующего изучения продвинутых курсов по программной инженерии и компьютерным наукам.
Математика для программирования
Дисциплина систематизирует и углубляет знания по дискретной математике, математическому анализу и линейной алгебре в разрезе задач серверной разработки и проектирования сложных программных систем. Фокус делается на тех разделах математики, которые непосредственно используются при анализе алгоритмов, моделировании нагрузки и производительности, проектировании распределенных систем, работе с графами и структурированными данными.
Язык Python для разработчиков
Дисциплина дает студентам основные понятия языка программирования Python, учит решать основные программные задачи, отлаживать и тестировать программы. Таким образом, студенты приобретут навыки, необходимые как для изучения последующих дисциплин образовательной программы, так и для работы в области бэкенд-разработки.
Реляционные базы данных
Дисциплина формирует основные навыки работы с реляционными базами данных и системами управления базами данных, включая умение писать запросы на языке SQL. Освоение дисциплины готовит к изучению более сложных аспектов разработки бэкенда с использованием баз данных.
Фронтенд-разработка для бэкенд-разработчиков
Дисциплина направлена на формирование у студентов системного понимания принципов frontend-разработки в контексте проектирования и реализации backend-систем. В рамках курса рассматриваются основы клиентской веб-архитектуры, ключевые концепции языка JavaScript, асинхронная модель выполнения, а также принципы построения современных клиентских приложений на базе компонентного подхода.
Веб-разработка
Дисциплина ориентирована на углубленное изучение архитектуры и реализации веб‑приложений, включая как серверную, так и базовую клиентскую составляющую, с опорой на современные стек‑технологии и практики индустрии. Курс фокусируется на проектировании и разработке производительных, масштабируемых и отказоустойчивых веб‑систем: от понимания принципов работы веба и протокола HTTP до построения API, интеграции с БД, организации CI/CD и обеспечения наблюдаемости (логирование, метрики, мониторинг).
Архитектура программного обеспечения
Архитектура программной системы определяет структуру и динамические свойства этой системы. Архитектурные решения разработчиков системы имеют ключевое значение для обеспечения ее работоспособности на протяжении всего жизненного цикла. Архитектура задает свойства адаптивности, расширяемости, эффективности для системы. Архитектурные свойства имеют решающее влияние на то, насколько просто будет систему поддерживать, анализировать, дорабатывать, обновлять. Именно поэтому архитектурные решения должны приниматься ответственно и взвешенно. В рамках данного курса студенты должны будут овладеть систематическим инженерным подходом к принятию архитектурных решений. Будут рассмотрены разные подходы к проектированию на основе анализа требований к информационным системам. Студенты изучат основные задачи программного архитектора на разных уровнях рассмотрения ИТ-среды: от уровня отдельных прикладных и системных приложений до уровня ИТ-инфраструктуры и предприятия в целом. Будут рассмотрены задачи, связанные с архитектурным проектированием, являющиеся элементами разных процессов разработки программного обеспечения. Также студенты усовершенствуют навыки визуального моделирования программного обеспечения с использованием CASE-средств и унифицированного языка моделирования UML. Особое место будет уделено задачам анализа и оценки архитектуры программных систем. Наконец, слушатели приобретут навыки документирования ключевых архитектурных решений в соответствии с отечественными и мировыми стандартами (ГОСТ Р 57100-2016), а также чтения и поддержки архитектурных описаний.
Тестирование для разработчиков
Дисциплина направлена на развитие базовых компетенций в области тестирования программного обеспечения, необходимых разработчику для обеспечения качества кода в соответствии с требованиями и спецификациями. Курс охватывает полный спектр основных видов тестирования: ручное и автоматизированное тестирование, юнит-тестирование, тестирование API и веб-приложений. Особое внимание уделяется методам и инструментам тестирования, видам багов и техникам отладки. Студенты освоят практические навыки контроля качества и надежности программных продуктов, а также научатся анализировать тестируемость кода и выбирать эффективные инструменты и техники тестирования на различных этапах разработки.
Нереляционные базы данных
Дисциплина направлена на формирование знаний и навыков работы с нереляционными базами данных. Рассматриваются различные модели и типы нереляционных данных, изучаются основные принципы их построения и эксплуатации. Осваиваются методы проектирования и создания схем баз данных в нереляционной модели, а также применение различных языков запросов и инструментов для манипулирования данными. Внимание уделяется решению задач управления данными, анализу и оптимизации производительности нереляционных систем. Дисциплина готовит к применению NoSQL баз данных в проектах и дальнейшему профессиональному росту в области бэкенд-разработки и баз данных.
Интеллектуальные системы и MLOps
Дисциплина посвящена методам построения и эксплуатации ML‑моделей, встроенных в серверные и распределенные программные системы. Курс соединяет классические алгоритмы машинного обучения, базовые элементы глубокого обучения и инженерные аспекты интеграции ИИ‑компонент в архитектуру бэкенда: от подготовки данных и выбора модели до деплоя, мониторинга и обеспечения качества ML‑сервисов.
Управление разработкой IT-продукта
Дисциплина ориентирована на формирование у студентов целостного представления о процессах управления разработкой IT‑продукта: от формулирования бизнес‑целей и продуктовой концепции до планирования релизов, организации работы команды и контроля качества. Рассматриваются роли product‑owner, продуктового менеджера, тимлида и архитектора в процессе разработки, принципы формирования продуктовой стратегии и roadmap, управление бэклогом и приоритизацией задач, а также особенности взаимодействия кросс‑функциональной команды (backend, frontend, аналитики, тестировщики). Отдельный блок дисциплины посвящен работе с требованиями как ключевому инструменту управления объемом продукта, качеством и рисками проекта: студенты осваивают методы выявления, формулирования, анализа и согласования требований, а также принципы их документирования и сопровождения.
Разработка бэкенд на Go
Изучение данной дисциплины направлено на формирование профессиональных компетенций бэкенд-разработчика. Студенты приобретут базовые знания и практические навыки, необходимые для создания высокопроизводительных и масштабируемых приложений с использованием языка Go. В ходе обучения студенты освоят базовый синтаксис, многопоточное программирование, разработку сетевых и распределенных приложений, а также тестирование и отладку кода. Полученные компетенции позволят студентам успешно приступить к работе в качестве квалифицированных специалистов в сфере бэкенд-разработки.
Разработка бэкенд на Java
Данная дисциплина направлена на формирование навыков разработки приложений с использованием возможностей объектно-ориентированных языков программирования на примере Java. В ходе обучения студенты получат знания о базовом синтаксисе, основных конструкциях языка Java, научатся работать с файлами и обрабатывать ошибки. Изучат основы объектно-ориентированного программирования, получат навыки разработки серверной части программного приложения на Java. В результате прохождения дисциплины студенты получат все необходимые знания и навыки для разработки программного обеспечения на языке Java в качестве бэкенд-разработчика
Разработка бэкенд на Rust
На дисциплине рассматриваются механизмы безопасности и эффективности языка Rust, инструменты поддержки и сопровождения, возможности построения CLI утилит, облачных сервисов и моделей машинного обучения, способы интеграции с языковыми стеками Python и JS, области применения и сценарии использования в современной промышленной разработке.
Групповая динамика и коммуникации в профессиональной практике программной инженерии
Ядро дисциплины – сквозной учебный проект по разработке ПО, выполняемый командами студентов (3-5 человек) и решающий нужды конкретного заказчика. Целью учебного проекта в данной дисциплине являются прохождение студентов через жизненный цикл разработки программного обеспечения, погружение в реальную практику и развитие комплекса ключевых компетенций. Наша миссия – сделать наших студентов конкурентоспособными на рынке труда за счет формирования у них целостного представления о состоянии, механизмах и основах продуктивной деятельности проектных команд в жизненном цикле разработки ПО.
Презентационные навыки
Дисциплина направлена на развитие ключевых компетенций в области успешного выступления и эффективной коммуникации в профессиональной среде. Студенты изучат основы создания и проведения презентаций, включая подготовку материала. Дисциплина также охватывает аспекты психологии коммуникации, управления эмоциями во время выступления и работы с различными типами аудитории. Особое внимание уделяется развитию ораторских навыков, включая работу с голосом, жестикуляцией и контактом с аудиторией. Освоение дисциплины позволит студентам успешно представлять свои идеи, проекты и продукты, а также эффективно взаимодействовать с публикой на профессиональном уровне.