Бакалавриат
2026/2027



Промышленная разработка на Java с применением технологий искусственного интеллекта
Статус:
Курс по выбору (Прикладная математика и информатика)
Кто читает:
Базовая кафедра Сбер
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
5
Контактные часы:
56
Программа дисциплины
Аннотация
Java - это язык по праву заслуживший место в решениях, где ценится надежность и качество решения задач. Обкатанные в Java решения нашли своё применение в других языках. И, не смотря на то что Java празднует своё 40-ка летие, язык популярен и продолжает развиваться.
В рамках курса мы не будем рассматривать совсем уж детали и фундаментальные нюансы применения языка. Вместо этого, разобрав основные концепции языка, мы сосредоточимся на практическом применении Java в разработке программных решений.
В начале курса мы поймем как устроена платформа Java, как язык позволяет гибко разрабатывать решения и выводить их в промышленную эксплуатацию, разберем как Java освободила нас от сложности управления памятью и как мы управляем потоками в Java. Так же поймем почему функциональный подход - это важная веха в развитии экосистемы.
Преимущество языков с "историей" - это огромное количество инструментов для решения прикладных задач, нам не надо делать всё самостоятельно, для этого есть огромное количество библиотек. И в продолжении курса мы будем изучать как применять экосистему Java для быстрой разработки приложений.
В частности, разберем концепции Java Bean и Dependency Inversion, научимся применять решение на их основе с помощью Spring Framework. На основе этого фрейворка мы научимся быстро создавать и запускать Web-приложения, применять различные хранилища данных, выстраивать безопасность приложений. И всё это в парадигме распределенной разработки - разворачиваем в контейнерах, настраиваем синхронные и ассинхронные интеграции, научимся работать с кэшами.
Современную разработку нельзя представить без участия LLM, в рамках курсы мы поддержим актуальные тенденции и будем активно применять помощь LLM, а так же научимся использовать лучшие практики для взаимодействия наших решений с AI
Цель освоения дисциплины
- Подготовить специалиста, способного эффективно проектировать, разрабатывать и внедрять программные системы, где классические инженерные практики сочетаются с интеллектуальными компонентами.
Планируемые результаты обучения
- Владеет основами javaScript
- Знает многопоточность в Java
- Знает классы стандартной библиотеки Java в области встроенных алгоритмов и структур данных. Умеет использовать данные классы для реализации алгоритмов решения прикладных задач. Владеет навыками разработки собственных классов на основе имеющихся.
- Иметь опыт работы с подсистемой ввода/вывода, разработки программ с использованием языка программирования Java, производить тестирование написанных программ.
Содержание учебной дисциплины
- Основы Java как платформы
- Современный подход к разработке в Java
- Многопоточное программирование в Java
- Разработка и запуск Java приложений в контейнерной среде (Docker, Kuber, особенности)
- Концепция EJB, Java EE. DI и Spring Framework
- Разработка enterprise приложений на Spring Boot
- Работа с LLM моделями с помощью Spring AI
Список литературы
Рекомендуемая основная литература
- Hoger Khayrolla Omar, & Alaa Khalil Jumaa. (2019). Big Data Analysis Using Apache Spark MLlib and Hadoop HDFS with Scala and Java. https://doi.org/10.24017/science.2019.1.2
- Sharan, K. (2017). Beginning Java 9 Fundamentals : Arrays, Objects, Modules, JShell, and Regular Expressions (Vol. Second edition). [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1632186
Рекомендуемая дополнительная литература
- Haverbeke, M. (2019). Eloquent JavaScript, 3rd Edition : A Modern Introduction to Programming (Vol. Third edition). San Francisco, CA: No Starch Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1739634