На этом курсе начинают с базовых понятий программирования. Студенты разбираются с алгоритмами, переменными, типами данных и условными операторами. Учат правильно называть переменные и понимают разницу между циклами for, while и do-while. Также объясняют принципы компиляции кода и сферы применения Java.
Далее курс охватывает математические, бинарные и логические операторы. Студенты учатся работать с двоичной системой счисления, переводить числа между системами и понимают булеву алгебру. Дополнительно знакомятся с тернарным оператором и получают первые навыки работы с Git.
Здесь рассматривают одномерные и многомерные массивы, включая матрицы. Студенты учатся обходить массивы, понимают ошибку ArrayIndexOutOfBound и осваивают алгоритм пузырьковой сортировки. Практические занятия помогают закрепить эти знания.
Этот блок посвящен основам объектно-ориентированного программирования. Студенты понимают разницу между классами и объектами, учатся создавать функции и правильно их называть. Также изучают рекурсию, стек вызовов и обучаются использовать точки останова для отладки кода.
Курс детально рассматривает Git - от базовых понятий commit и веток до более сложных операций push, fetch, merge и pull. Студенты понимают, что такое pull request и как Git используется в реальных проектах с code reviews и feature branches.
Здесь объясняют важность тестирования программного обеспечения. Студенты знакомятся с различными видами тестирования, TDD и TLD подходами, а также получают первые навыки работы с Maven.
Этот модуль охватывает более сложные аспекты объектно-ориентированного программирования. Студенты понимают разницу между heap и stack, изучают интерфейсы, статические поля и методы. Также рассматривают доменную модель, наследование, композицию и работу конструкторов.
Далее курс углубляется в абстрактные классы, полиморфизм и виртуальные таблицы методов. Студенты изучают перечисления, методы hashCode и equals, а также различные типы ссылок в Java.
Этот блок посвящен различным подходам к обработке ошибок. Студенты понимают разницу между checked и unchecked исключениями, изучают try-catch-finally блоки. Также рассматривают NullPointerException, Optional и Null-Object Pattern для безопасной работы с null значениями.
Здесь студенты знакомятся с теорией сложности алгоритмов, нотацией О-большое. Изучают алгоритмы сортировки слиянием, линейный и бинарный поиск. Также рассматривают generics, коллекции и принципы boxing/unboxing.
Курс продолжает изучение коллекций - Queue, Dequeue, HashSet, HashMap. Студенты понимают принципы FIFO и LIFO, учатся создавать итераторы. Также изучают бинарные деревья, графы и алгоритмы их обхода.
Этот модуль охватывает функциональное программирование через Stream API, lambda-выражения и collectors. Также студенты учатся работать с файловой системой через IO/NIO, понимают разницу между синхронным и асинхронным программированием.
Здесь студенты изучают аннотации и reflection в Java. Затем переходят к основам SQL - реляционная модель, нормальные формы, транзакции ACID. Обучаются подключаться к базам данных из Java-приложений.
Курс объясняет, что такое ORM и какие задачи он решает. Студенты знакомятся с Hibernate, entity manager, созданием сущностей и связей между ними. Также получают базовые знания HQL.
Этот блок охватывает NoSQL базы данных, в частности MongoDB. Студенты понимают разницу между SQL и NoSQL, работают с JSON и BSON. Также изучают основы операционных систем, процессы, потоки и синхронизацию.
Здесь студенты получают практические навыки работы с Linux - файловая система, стандартные потоки, базовые команды терминала. Также изучают принципы SOLID, Unix philosophy и паттерны проектирования.
Этот модуль посвящен многопоточному программированию. Студенты понимают Thread и Runnable, race condition, dead lock. Изучают synchronized, volatile, mutex и semaphore. Также знакомятся с сетевыми основами - модель OSI, HTTP, cookies.
Курс охватывает создание web-приложений с использованием Servlets. Студенты учатся создавать проекты в Maven, реализовывать Servlet, работать с фильтрами и паттерном Chain of Responsibility.
Здесь объясняют разницу между монолитной и микросервисной архитектурами. Студенты изучают REST API, принципы IoC и DI в Spring. Также знакомятся с Spring Boot, MVC и Spring Data.
На завершение курса студенты получают задание для финального проекта. Они продумывают архитектуру, выбирают технологии, знакомятся с Agile. Также изучают паттерны Proxy, Facade, Bridge и Adapter перед защитой дипломной работы.
Дипломная работа включает создание веб-приложения или веб-сайта с несколькими страницами. Студенты демонстрируют полученные знания, работают с базами данных. Защита состоит из демонстрации рабочего проекта и теоретического собеседования с независимым экспертом.
Курс включает 24 занятия по английскому языку для технических специалистов. Проводят тестовые собеседования с техническими специалистами и мастер-классы по составлению резюме. Каждый студент получает консультации с рекрутером и сопровождение менеджера до момента трудоустройства.