Изучите Java с нуля за 11 месяцев: две ступени, живые занятия и две проектные работы с обратной связью преподавателей.
Опыт программирования не обязателен. Понадобятся уверенное пользование компьютером и готовность регулярно писать код между занятиями. Если вы уже работаете Java-разработчиком, посмотрите отдельный курс «Java разработчик. Продвинутый уровень».
Базовая ступень, 5 месяцев: Java Core, ООП, стандартная библиотека, SQL, сети и первый проект. Продвинутая ступень, 6 месяцев: инструменты разработки, базы данных, основы Spring, многопоточность, обмен сообщениями и второй проект.
Во второй ступени вы разберёте основы Spring Framework, Spring Boot, Spring MVC и Spring Data JDBC и узнаете, как применять их при разработке веб-приложения с базой данных.


Подготовите среду разработки, познакомитесь с форматом занятий и начнете писать код на Java.
Задавайте вопросы преподавателям во время вебинаров и разбирайте задачи вместе с группой.
Закрепляйте темы в домашних заданиях и получайте обратную связь по решению.
В конце каждой ступени выполните проектную работу и представите свое решение.
На курсе вы соберете проекты и сможете показать работодателю свой код и подход к решению задач. После обучения можно разместить резюме в базе OTUS и участвовать в карьерных мероприятиях по подготовке резюме и поиску работы.
2 занятия по 2 ак.часа в неделю
Доступ к записям и материалам остается навсегда
В конце каждой ступени выполните проект и обсудите решение с преподавателем. По итогам обучения у вас будут два примера кода для портфолио.
Общайтесь с преподавателями голосом на вебинарах и в чате
Тема 1: Обзор курса. Введение в программирование на Java/
Тема 2: Основы работы в GIT
Тема 3: Основы языка Java. Часть 1
Тема 4: Разбор практических примеров
Тема 5: Основы языка Java. Часть 2
Тема 6: Разбор практических примеров
Тема 7: Основы языка Java. Часть 3
Тема 8: Практический консольный проект
Тема 9: Консультация по ДЗ
Тема 1: ООП. Часть 1. Введение в ООП
Тема 2: ООП. Часть 2
Тема 3: Практика ООП. Работа со строками.
Тема 4: ООП. Часть 3
Тема 1: Исключения
Тема 2: Коллекции. Часть 1
Тема 3: Коллекции. Часть 2
Тема 4: Разбор алгоритмов
Тема 5: Java IO. Часть 1
Тема 6: Консультация по ДЗ
Тема 7: Работа с сетью
Тема 8: Основы многопоточности. Часть 1
Тема 9: Консольный сетевой чат. Часть 1
Тема 10: Консольный сетевой чат. Часть 2
Тема 11: Реляционные базы данных, SQL
Тема 12: JDBC
Тема 13: Консультация по ДЗ
Тема 14: Обобщения
Тема 15: Java IO. Часть 2
Тема 16: Основы многопоточности. Часть 2
Тема 17: Основы тестирования и логирования
Тема 18: Основы Web. Пишем простой http клиент и сервер. Часть 1
Тема 19: Основы Web. Пишем простой http клиент и сервер. Часть 2
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю и можно создать на основе знаний, полученных на курсе. В процессе написания по проекту можно получить консультации преподавателей.
Тема 1: Консультация по ДЗ и проектной работе
Тема 2: Защита проектной работы
Тема 3: Итоговое занятие
В этом модуле изучаются фундаментальные основы работы Java Virtual Machine (JVM) и "тонкие" аспекты языка Java. В результате обучения студент сможет достаточно подробно рассказать как выполняется Java программа и что проиходит "под капотом".
Тема 1: Подготовка к курсу
Тема 2: Дополнение к gradle, история изменения языка
Тема 3: QA и тестирование
Тема 4: Контейнеры и алгоритмы
Тема 5: Инструменты для преобразования контейнеров, unsafe, jmh
Тема 6: Аннотации
Тема 7: Lombok
Тема 8: Сборщик мусора
Тема 9: Java в Docker-е
Тема 10: Байт код, class-loader, инструментация, asm
Тема 11: Функциональное программирование в Java
В этом модуле рассматриваются принципы проектирования SOLID и паттерны проектирования GOF. В ходе выполнения Домашних Работ студент сможет на практике научиться применять паттерны проектирования и их комбинации.
Тема 1: Концепты проектирования ООП
Тема 2: Creational patterns
Тема 3: Behavioral patterns
Тема 4: Structural patterns
Этот блок посвящен вопросам взаимодействия java-приложения с внешним миром. Рассматриваются операции с файловой системой, механизмы сериализации/десериализации объектов. Большое внимание уделяется работе с реляционными базами данных. Подробно изучаются jdbc и Hibernate. При этом не забываем про noSQL. В качестве примера работы с noSQL рассматривается реактивное взаимодействие с MongoDb. Особое внимание уделяется разработке Web-серверов. Изучаем TomCat как пример контейнера war-приложений и Jetty - как встроенный web-сервер, учимся применять технологию web-сокетов. В качестве примера Dependency Injection изучаем Spring и Spring Boot.
Тема 1: Сериализация
Тема 2: NIO. Логирование
Тема 3: JDBC
Тема 4: Общие вопросы работы с СУБД, архитектура РСУБД
Тема 5: Hibernate
Тема 6: JPQL
Тема 7: Типы ссылок. Кэширование
Тема 8: No SQ
Тема 9: Web сервер
Модуль посвящен изучению основ Spring Framework. В этом модуле разберемся в принципах DI, IoC, поймем как это используется в Spring. Изучим как на технологиях Spring-а создать Web-приложение с базой данных.
Тема 1: Dependency injection
Тема 2: Spring Boot. Spring MVC
Тема 3: Asynchronous Web applications
Тема 4: Spring Data Jdbc
Этот модуль посвящен многопоточности в разных ее проявлениях. Начинаем изучение с разбора Java Memory Model, какова цель ее создания, что решается и как это использовать. Заканчиваем Completable Future. Начинаем разрабатывать многопоточные приложения и переходим к разработке многопроцессорных приложений - приложения, отдельные части которых работают на разных хостах. Чтобы понять как объединить такие приложения, изучаем блокирующие и неблокирующие сокеты (NIO).
Тема 1: Thread
Тема 2: JMM
Тема 3: Executors
Тема 4: Потокобезопасные коллекции
Тема 5: Многопроцессные приложения
Тема 6: Применение RabbitMQ
Тема 7: NIO
Тема 8: Netty
Тема 9: Реактивное программирование. Spring Webflux
Тема 10: Применение Kafka
Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц, однако к защите надо разработать действующий прототип, который пояснит идею проекта. В процессе написания по проекту можно получить консультации преподавателей. Для достижения результата работа над проектом организуется в виде недельных итераций. Проект должен стать примером кода, который можно показывать потенциальным работодателям. Студент может самостоятельно выбрать технологии из числа изученных на курсе и/или использовать что-то дополнительно. Примеры тем: - телеграм-бот - распределенный кэш - web сервер (разберите протокол) - socket сервер на NIO (как netty) - свой ORM - кэш для hibernate
Тема 1: Основы CI/CD
Тема 2: Знакомство с Kubernetes
Тема 3: Защита проектных работ
На базовой ступени вы создадите приложение на Java. На продвинутой — проект с инструментами и подходами серверной разработки. Каждую работу можно развить под собственную идею и представить преподавателю. В результате у вас будут два проекта, по которым можно обсудить код и принятые решения.
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
OTUS осуществляет лицензированную образовательную деятельность.
Вы получите сертификат о прохождении обучения, а также можете получить диплом о профессиональной переподготовке.
Стоимость в рассрочку