О курсе
Что организован курс
Java — это не только синтаксис языка. В реальной разработке рядом с ним всегда есть виртуальная машина, стандартная библиотека, инструменты сборки, тесты, работа с базами данных и другие части экосистемы. Поэтому курс идёт дальше переменных и циклов и постепенно показывает всю картину целиком. На Java курсе разобрано свыше 50 теоретических тем и предоставлено свыше 250 практических заданий.
Для того, чтобы вы как можно лучше понимали и запоминали теорию, мы наполнили наш курс большим количеством ярких и запоминающихся иллюстраций.
Чтобы вы практиковали и закрепляли ваши практические навыки, мы сделали различные виды заданий:
- Тест с выбором варианта ответа;
- Дописать фрагмент кода;
- Расставить шаги в правильном порядке;
- Соеденить термины с определением;
- Вписать прямой ответ;
- Выделить ошибочную строку;
- Полноценное написание кода
Доказано, что разные форматы практики помогают лучше закреплять материал и тренировать разные способы мышления. Этим же принципом мы решили воспользоваться и в нашем курсе.
Маршрут курса
Чтобы темы не выглядели набором несвязанных глав, курс собран в три больших слоя:
- Фундамент. Основы Java, ООП, исключения, коллекции, Generics, Stream API и lambda-выражения. Это то, без чего трудно уверенно читать и писать Java-код.
- Как Java работает внутри. IO и NIO, дата и время, аннотации, рефлексия, многопоточность, Java Memory Model и устройство JVM.
- Работа над приложением. JDBC, JPA, тестирование, Maven и Gradle, а также паттерны проектирования. Здесь отдельные знания начинают складываться в привычный рабочий стек.
Темы идут от более простых к более зависимым от предыдущих знаний. Если где-то стало тяжело, это не сигнал «я не понимаю Java» — чаще всего стоит вернуться на одну-две темы назад и проверить фундамент.
Как мы разбираем код
Примеры кода мы держим небольшими: один фрагмент — одна идея. Так проще увидеть механику, а не потеряться в десятках строк вокруг неё.
public class Main {
public static void main(String[] args) {
int completedTopics = 3;
if (completedTopics > 0) {
System.out.println(completedTopics);
}
}
}
Здесь достаточно заметить две вещи: условие проверяет, что значение больше нуля,
а System.out.println() выводит его в консоль.
Позже те же конструкции будут встречаться внутри более реалистичных примеров.