Курс Java разработан для постепенного усвоения материала - от основ до фреймворков. Каждый модуль логически вытекает из предыдущего.
На первых занятиях студенты знакомятся с языком Java. Рассматривают его историю, преимущества и недостатки. Отдельное внимание уделяют рынку труда - отличиям работы в аутсорсе, аутстаффе и продуктовых компаниях. Потом настраивают рабочее окружение: устанавливают JDK, IDE, Maven, Tomcat и базы данных.
Этот блок посвящен основным концепциям языка. Студенты изучают ключевые слова, объекты, классы, поля и методы. Разбираются с интерфейсами, абстрактными классами и рефлексией. Потом переходят к объектно-ориентированному программированию - инкапсуляции, наследованию и полиморфизму.
Здесь рассматривают работу с разными типами данных - примитивными и ссылочными. Студенты учатся явному и неявному преобразованию типов. Изучают операторы - арифметические, логические, побитовые. Практикуются в использовании условных конструкций if-else, switch и тернарного оператора. Отдельно разбирают циклы for, while, do-while и for-each.
В этом модуле студенты узнают о важности тестирования для разработчиков. Изучают автоматизацию тестирования, TDD и разные виды тестов. Параллельно осваивают Git - работу с репозиториями, коммитами, ветками. Учатся решать конфликты и объединять код через MergeRequest.
Студенты обучаются эффективно работать со строками - использовать String, StringBuffer, StringBuilder, регулярные выражения. Изучают массивы и коллекции - List, Set, Queue, Map. Разбираются в сортировке и отличиях между реализациями коллекций.
Этот блок учит корректно обрабатывать ошибки. Студенты различают Error и Exception, checked и unchecked исключения. Создают собственные исключения. Потом переходят к работе с потоками ввода/вывода, файловой системой, XML и JSON.
Здесь рассматривают лямбда-выражения, функциональные интерфейсы и Stream API. Изучают методы создания стримов, фильтрацию и сортировку. Отдельно изучают многопоточность - работу с классом Thread, интерфейсом Runnable, потоками-демонами. Также рассматривают аннотации - создание и применение.
Студенты учатся экспортировать и импортировать проекты, запускать их с параметрами. Осваивают Maven как инструмент сборки - работу с pom.xml, репозиториями, командами. Изучают дебаг и рефакторинг - использование breakpoint, условных точек остановки. Также знакомятся с графическими интерфейсами - AWT, Swing, JavaFX.
Этот большой блок посвящен работе с данными. Сначала студенты изучают СУБД - реляционные и NoSQL базы, Oracle/PostgreSQL/H2. Осваивают SQL - DDL, CRUD операции, JOIN, GROUP BY, ORDER BY. Потом переходят к работе с БД в Java - Connection, DAO, Statement, PreparedStatement.
Здесь студенты знакомятся с основами web-разработки. Изучают серверы на примере Tomcat, протокол HTTP, URI. Осваивают HTML, JSP, CSS для создания веб-страниц. Используют Jsoup для работы с web-контентом и Selenium для тестирования.
Студенты создают полноценные web-приложения. Изучают MVC модель, сервлеты, фильтры. Учатся взаимодействовать с сервисами, использовать внешние библиотеки. Экспортируют проекты в war-файлы, деплоят их на серверы и настраивают доступ.
Завершающая часть курса посвящена основным фреймворкам. Hibernate для ORM - настройка через XML и properties, HQL и Native SQL. Spring framework - IoC, Dependency Injection, Bean, конфигурация через XML и аннотации. Spring Boot для web-приложений, Spring Data, миграции, Swagger API, Spring Security.
В завершение студенты создают собственный проект. Он помогает закрепить полученные навыки и получить реальную практику. Этот проект можно будет показать на собеседовании.
Занятия проходят дважды в неделю - по вторникам и четвергам в вечернее время. Обучение включает практику на реальных проектах. Поддержка предоставляется как во время курса, так и после его завершения. Выпускники получают свидетельство об окончании.