Каждую тему вы закрепляете пятью задачами, а модуль — проектом, который пишете сами по описанию.
Java с нуля
От первой строки кода до программы, которую вы написали сами
База языка без опыта в программировании: 38 уроков, задачи с проверкой запуском и 9 проектов — по одному в конце каждого модуля. Весь курс проходит в браузере: устанавливать ничего не нужно, код запускается прямо во вкладке.
Весь курс — 2 490 ₽ один раз. Доступ без ограничения по времени, подписки нет. Первый урок — бесплатно после регистрации.
- 38 уроков в 9 модулях
- 9 проектов своими руками
- Старт без опыта
- Всё в браузере, без установки
Измените код и нажмите «Запустить»
Демо понимает только эти четыре примера и простые правки в них. В уроках код запускается по-настоящему, а решения проверяются тестами.
Нажмите «Запустить» — вывод программы появится здесь.
Видео посмотрел. С чистого листа написать не получается
Курс построен вокруг трёх мест, где новички останавливаются чаще всего.
Задачи «найди и исправь ошибку» есть в каждом уроке, а тому, как читать сообщение об ошибке, отведён отдельный урок.
Проекты растут от модуля к модулю: в итоговом вы соединяете классы, коллекции, даты, файлы и обработку ошибок.
Что вы сможете делать после курса
Не «знать Java», а выполнять конкретные действия, которые можно проверить.
Написать программу с нуля
Консольную программу на 200–300 строк из нескольких классов — по описанию задачи, без образца.
Работать с данными
Хранить их в списках и словарях, сортировать и отбирать, читать из файла и записывать обратно.
Находить свои ошибки
Прочитать сообщение об ошибке, найти по нему нужную строку и понять, что именно пошло не так.
Собирать программу из частей
Разложить код по классам, файлам и пакетам так, чтобы в нём легко было разобраться через месяц.
Какой это уровень
База языка. После курса вы пишете свои небольшие программы и читаете чужой несложный код — этого достаточно, чтобы идти дальше: в тесты, базы данных, веб-разработку. Для работы Java-разработчиком одного этого курса мало, и мы этого не обещаем.
9 проектов, которые вы напишете сами
Каждый модуль заканчивается программой. Вы получаете описание того, что она должна уметь, и пишете её сами, без готового решения перед глазами — тесты проверяют поведение, а не совпадение с образцом.
Это консольные программы: без окон и кнопок, общение идёт текстом — вы вводите, программа отвечает. Пишутся и запускаются они в тренажёре на сайте; код любого проекта можно скопировать себе.
- Модуль 1
Калькулятор поездки
Программа спрашивает расстояние, расход и цену топлива и считает стоимость дороги на каждого пассажира.
- Модуль 2
Игра «Угадай число»
Компьютер загадывает число, подсказывает «больше» или «меньше», считает попытки и предлагает сыграть ещё раз.
- Модуль 3
Проверка пароля
Программа оценивает надёжность пароля по нескольким правилам и объясняет, чего ему не хватает.
- Модуль 4
Телефонная книга
Контакты можно добавлять, искать по имени, удалять и выводить по алфавиту.
- Модуль 5
Домашняя библиотека
Каталог книг с жанрами и отметкой «прочитано»: добавление, поиск по автору, список непрочитанного.
- Модуль 6
Расчёт доставки
Курьер, пункт выдачи и почта считают цену по-разному; программа выбирает самый дешёвый способ для заказа.
- Модуль 7
Журнал заметок
Заметки с датой сохраняются в файл и не пропадают между запусками; неверный ввод программу не роняет.
- Модуль 8
Отчёт по заказам
Из списка заказов программа получает выручку по категориям, три самых крупных заказа и клиентов без покупок.
- Модуль 9
Трекер расходов
Консольная программа из нескольких файлов: категории, расходы по датам, отчёт за месяц и сохранение в файл.
Урок — это код, а не лекция
Короткий разбор на работающем примере, потом пять задач. Видео нет: читать и пробовать быстрее, чем смотреть.
Программа выбирает ветку
Условие даёт true или false. Выполнится только одна из двух веток.
int temperature = 8;
if (temperature < 10) {
System.out.println("Нужна куртка");
} else {
System.out.println("Можно налегке");
}Нужна куртка- 1Объяснение стоит рядом с кодом
Новый приём сразу показан в коротком примере, который можно запустить.
- 2Код запускается прямо на странице
Поменяйте число или условие, предскажите вывод и сверьте его с тем, что напечатала программа.
- 3Ошибки объясняются по-русски
Тренажёр показывает строку с проблемой и говорит, что именно не так, но не исправляет за вас.
Посчитайте сумму со скидкой
Метод возвращает итоговую сумму. Скидка 10% действует на заказы от 5 000 рублей.
static double total(double price) {
if (price > 5000) {
return price * 0.9;
}
return price;
}total(3000)3000.0total(8000)7200.0total(5000)ждали 4500.0, получили 5000.0- 4Решение проверяют тесты
Ваш код запускается на нескольких наборах данных. Решить можно любым способом — важен результат.
- 5Видно, какой сценарий не прошёл
Тест показывает входные данные, ожидаемый и полученный результат — искать ошибку приходится в конкретном месте.
- 6Четыре вида задач
Предсказать, что выведет программа; выбрать верный ответ; найти и исправить ошибку в чужом коде; написать решение с нуля.
В каждом уроке: разбор на примере, свободный запуск кода, пять задач с тестами и подсказки, которые наводят на мысль, а не выдают ответ.
38 уроков, 9 модулей
От первой переменной до программы из нескольких файлов. Под каждым уроком написано, что вы в нём делаете руками; каждый модуль заканчивается проектом.
1Первая программа4 урока
- Как устроена программа: класс, main и вывод на экранВы запускаете первую программу и меняете то, что она печатает.
- Переменные и типы: int, double, boolean, StringВы заводите переменные под цену, количество и имя и выводите их.
- Арифметика, деление и приведение типовВы считаете сумму, остаток и среднее и разбираетесь, куда пропала дробная часть.
- Ввод с клавиатуры: ScannerВы пишете программу, которая спрашивает данные и отвечает по ним.
Проект: Калькулятор поездки. Программа спрашивает расстояние, расход и цену топлива и считает стоимость дороги на каждого пассажира.
В итоге: пишете программу, которая получает данные, считает результат и показывает его человеку.
2Условия и циклы5 уроков
- if, else и сравненияВы учите программу выбирать одну из веток.
- Логические операторы и составные условияВы соединяете несколько проверок в одно условие и ловите ошибки на границах.
- switch в современной записиВы заменяете лесенку из if коротким выбором по значению.
- Циклы while и do-whileВы повторяете вопрос, пока пользователь не введёт верные данные.
- Цикл for, break и continueВы перебираете числа, считаете суммы и останавливаете цикл вовремя.
Проект: Игра «Угадай число». Компьютер загадывает число, подсказывает «больше» или «меньше», считает попытки и предлагает сыграть ещё раз.
В итоге: программа принимает решения, повторяет действия и не ломается на неверном вводе.
3Методы и строки4 урока
- Методы: параметры и возвращаемое значениеВы выносите повторяющийся расчёт в метод и вызываете его с разными данными.
- Область видимости и разбиение задачи на методыВы делите длинный main на три-четыре метода с понятными именами.
- Строки: длина, поиск, части и сравнение через equalsВы проверяете и разбираете текст, который ввёл пользователь.
- Сборка текста: StringBuilder и форматированиеВы собираете аккуратный чек с выровненными колонками.
Проект: Проверка пароля. Программа оценивает надёжность пароля по нескольким правилам и объясняет, чего ему не хватает.
В итоге: делите решение на методы и уверенно работаете с текстом.
4Массивы и коллекции5 уроков
- Массивы: хранение и обходВы храните оценки за неделю и выводите их по порядку.
- Поиск, сумма, минимум и максимумВы пишете своими руками четыре базовых алгоритма над массивом.
- ArrayList: список, который растётВы добавляете, удаляете и ищете позиции в списке покупок.
- HashMap: данные по ключуВы считаете, сколько раз встретилось каждое слово.
- HashSet и выбор подходящей коллекцииВы убираете повторы и решаете, что взять под задачу: список, множество или словарь.
Проект: Телефонная книга. Контакты можно добавлять, искать по имени, удалять и выводить по алфавиту.
В итоге: выбираете структуру данных под задачу и обрабатываете наборы значений.
5Классы и объекты5 уроков
- Класс и объект: поля и методыВы описываете книгу классом вместо россыпи переменных.
- Конструкторы и thisВы создаёте объекты сразу в правильном состоянии.
- Инкапсуляция: private, геттеры и проверкиВы запрещаете отрицательную цену и пустое название на уровне класса.
- static, константы и enumВы заводите жанры перечислением и общий счётчик объектов.
- record: короткий класс для данныхВы заменяете двадцать строк класса одной и видите, где это уместно.
Проект: Домашняя библиотека. Каталог книг с жанрами и отметкой «прочитано»: добавление, поиск по автору, список непрочитанного.
В итоге: превращаете разрозненные переменные в объекты с понятными правилами.
6Наследование и интерфейсы4 урока
- Наследование и переопределение методовВы выносите общее в родительский класс и меняете поведение в наследниках.
- Интерфейсы: общий договор для разных классовВы описываете, что должен уметь любой способ доставки.
- Полиморфизм: один список — разные объектыВы считаете стоимость по списку, не спрашивая у объекта, какого он типа.
- equals, hashCode и toStringВы чините поиск в коллекции, который «не находит» одинаковые объекты.
Проект: Расчёт доставки. Курьер, пункт выдачи и почта считают цену по-разному; программа выбирает самый дешёвый способ для заказа.
В итоге: видите общее в разных объектах и добавляете новый вариант, не переписывая старый код.
7Ошибки, даты и файлы5 уроков
- Как читать сообщение об ошибкеВы находите в десяти строках красного текста главную и по ней — строку с причиной.
- Исключения: try, catch, finallyВы ловите ошибку ввода, и программа продолжает работать.
- Свои проверки и понятные сообщенияВы бросаете исключение сами и пишете сообщение, по которому ясно, что исправить.
- Даты: LocalDate и периодыВы считаете, сколько дней осталось до срока, и сортируете записи по дате.
- Чтение и запись текстовых файловВы сохраняете данные в файл и поднимаете их при следующем запуске.
Проект: Журнал заметок. Заметки с датой сохраняются в файл и не пропадают между запусками; неверный ввод программу не роняет.
В итоге: находите причину ошибки по её сообщению, а программа переживает неверный ввод и помнит данные между запусками.
8Современная Java3 урока
- Лямбда-выражения и сортировка через ComparatorВы сортируете заказы по сумме и по дате одной строкой.
- Stream: отфильтровать, преобразовать, собратьВы переписываете три цикла в короткие цепочки и сравниваете результат.
- Optional: когда значения может не бытьВы убираете проверки на null и ошибку NullPointerException.
Проект: Отчёт по заказам. Из списка заказов программа получает выручку по категориям, три самых крупных заказа и клиентов без покупок.
В итоге: читаете и пишете код в стиле, который встречается в современных проектах.
9Итоговый проект3 урока
- Пакеты и программа из нескольких файловВы раскладываете классы по файлам и пакетам так, чтобы в проекте было легко ориентироваться.
- Трекер расходов: данные и командыВы по техническому заданию описываете классы и учите программу принимать команды пользователя.
- Трекер расходов: отчёты и сохранениеВы добавляете отчёт за месяц, сохранение в файл и проверяете программу на неверном вводе.
Проект: Трекер расходов. Консольная программа из нескольких файлов: категории, расходы по датам, отчёт за месяц и сохранение в файл.
В итоге: у вас есть законченная программа из нескольких файлов, написанная по заданию, без образца.
Что входит в курс
- 38 уроков в 9 модулях. От первой строки до проекта с классами, коллекциями, датами и файлами.
- Пять задач в каждом уроке. Предсказать вывод, исправить ошибку, написать с нуля — с проверкой тестами.
- 9 проектов. По одному в конце каждого модуля; итоговый — трекер расходов с сохранением в файл.
- Весь курс в браузере. Устанавливать и настраивать ничего не нужно: код выполняет учебный тренажёр прямо во вкладке.
- Программы целиком, а не упражнения на строчку. Ввод с клавиатуры, работа с файлами и проекты из нескольких файлов — всё в тренажёре.
- Свой темп. Потоков и дедлайнов нет, доступ не ограничен по времени, прогресс сохраняется за аккаунтом.
Для кого этот курс
Никогда не программировали
Курс начинается с того, из чего состоит программа. Термины появляются тогда, когда нужны для задачи; знать алгоритмы, терминал или английский заранее не требуется.
Учились по видео и застряли
Если теория понятна, а написать своё не выходит — здесь почти всё время уходит на практику с быстрой проверкой, а не на просмотр.
Хотите идти в разработку дальше
Язык и объектная модель — основа, на которой держатся тесты, базы данных и веб-разработка на Java. Курс закрывает именно эту основу.
Чего в курсе нет
Лучше узнать это до оплаты, чем после.
- Трудоустройства. Курс даёт базу языка. До вакансии разработчика после него ещё несколько шагов, и мы не обещаем ни работу, ни зарплату.
- Тем следующего уровня. Многопоточность, тесты, сборка проекта, работа с базой данных, веб и Spring в программу не входят.
- Установки программ. Курс целиком проходит на сайте. Как поставить Java на свой компьютер и работать в среде разработки, в нём не разбирается.
- Преподавателя. Задачи проверяет тренажёр. Разбора вашего кода человеком, созвонов и чата с наставником нет; поддержка отвечает на вопросы об оплате, доступе и работе сайта.
- Лёгкого пути. Результат дают задачи и проекты, сделанные своими руками. Прочитать уроки без практики — мало.
Нужно ли уже уметь программировать?
Нет. Первый урок начинается с того, как устроена самая простая программа. Опыт в другом языке не нужен, школьной математики достаточно.
Нужно ли что-то устанавливать?
Нет. Весь курс, включая итоговый проект, проходит в браузере: нужны только современный браузер и интернет. Установка Java на свой компьютер в курс не входит — это отдельный шаг, который понадобится, когда вы захотите писать программы вне сайта.
Это настоящая Java?
Язык — Java 21: те же правила, те же слова и стандартные классы. Но выполняет ваш код не программа от разработчиков Java, а учебный тренажёр Котодаты, написанный специально для курса. Он умеет всё, что есть в программе курса, но не весь язык: многопоточности, работы с сетью и сторонних библиотек в нём нет. Сообщения об ошибках он объясняет по-русски и рядом показывает, как их называет сама Java.
Сколько времени займёт курс?
Ориентир — 30–40 часов вместе с задачами и проектами: от получаса до часа на урок, на уроки с проектами — больше. При пяти часах в неделю это около двух месяцев. Сроков и дедлайнов нет: можно идти быстрее или делать перерывы.
Где будут программы, которые я напишу?
В тренажёре на сайте: там вы их пишете, запускаете и проверяете. Это консольные программы — они работают с текстом, без окон и кнопок. Код остаётся вашим: его можно скопировать и сохранить у себя. Отдельного файла, который запускается на компьютере, курс не даёт.
Можно ли проходить с телефона?
Курс открывается и на телефоне, но писать код удобнее на компьютере или планшете с клавиатурой: в проектах десятки строк.
Что будет, если задача не получается?
У задачи есть подсказки: первая напоминает идею, следующая сужает поиск. Готовое решение открывается последним шагом — после собственных попыток.
Смогу ли я после курса работать Java-разработчиком?
Одного этого курса для вакансии недостаточно. Вы получите базу языка и опыт своих программ; дальше обычно идут система контроля версий, тесты, базы данных и веб-разработка.
Напишите свою первую программу на Java
38 уроков и 9 проектов — от первой переменной до законченной программы в тренажёре на сайте. Один платёж — 2 490 ₽, без подписки и дедлайнов.