Онлайн-курс Котодаты · Java

Java с нуля

От первой строки кода до программы, которую вы написали сами

База языка без опыта в программировании: 38 уроков, задачи с проверкой запуском и 9 проектов — по одному в конце каждого модуля. Весь курс проходит в браузере: устанавливать ничего не нужно, код запускается прямо во вкладке.

Весь курс — 2 490 ₽ один раз. Доступ без ограничения по времени, подписки нет. Первый урок — бесплатно после регистрации.

  • 38 уроков в 9 модулях
  • 9 проектов своими руками
  • Старт без опыта
  • Всё в браузере, без установки
Попробуйте формат
Учебное демо

Измените код и нажмите «Запустить»

Ctrl + Enter

Демо понимает только эти четыре примера и простые правки в них. В уроках код запускается по-настоящему, а решения проверяются тестами.

Нажмите «Запустить» — вывод программы появится здесь.

Знакомо?

Видео посмотрел. С чистого листа написать не получается

Курс построен вокруг трёх мест, где новички останавливаются чаще всего.

Пока смотрю разбор — всё понятно. Открываю пустой файл — и не знаю, с чего начать.
В курсе

Каждую тему вы закрепляете пятью задачами, а модуль — проектом, который пишете сами по описанию.

Программа падает, на экране десять строк красного текста, и непонятно, какая из них главная.
В курсе

Задачи «найди и исправь ошибку» есть в каждом уроке, а тому, как читать сообщение об ошибке, отведён отдельный урок.

Синтаксис выучил, но классы, коллекции и файлы не складываются в одну программу.
В курсе

Проекты растут от модуля к модулю: в итоговом вы соединяете классы, коллекции, даты, файлы и обработку ошибок.

Результат

Что вы сможете делать после курса

Не «знать Java», а выполнять конкретные действия, которые можно проверить.

Написать программу с нуля

Консольную программу на 200–300 строк из нескольких классов — по описанию задачи, без образца.

Работать с данными

Хранить их в списках и словарях, сортировать и отбирать, читать из файла и записывать обратно.

Находить свои ошибки

Прочитать сообщение об ошибке, найти по нему нужную строку и понять, что именно пошло не так.

Собирать программу из частей

Разложить код по классам, файлам и пакетам так, чтобы в нём легко было разобраться через месяц.

Какой это уровень

База языка. После курса вы пишете свои небольшие программы и читаете чужой несложный код — этого достаточно, чтобы идти дальше: в тесты, базы данных, веб-разработку. Для работы Java-разработчиком одного этого курса мало, и мы этого не обещаем.

Проекты

9 проектов, которые вы напишете сами

Каждый модуль заканчивается программой. Вы получаете описание того, что она должна уметь, и пишете её сами, без готового решения перед глазами — тесты проверяют поведение, а не совпадение с образцом.

Это консольные программы: без окон и кнопок, общение идёт текстом — вы вводите, программа отвечает. Пишутся и запускаются они в тренажёре на сайте; код любого проекта можно скопировать себе.

  1. Модуль 1

    Калькулятор поездки

    Программа спрашивает расстояние, расход и цену топлива и считает стоимость дороги на каждого пассажира.

  2. Модуль 2

    Игра «Угадай число»

    Компьютер загадывает число, подсказывает «больше» или «меньше», считает попытки и предлагает сыграть ещё раз.

  3. Модуль 3

    Проверка пароля

    Программа оценивает надёжность пароля по нескольким правилам и объясняет, чего ему не хватает.

  4. Модуль 4

    Телефонная книга

    Контакты можно добавлять, искать по имени, удалять и выводить по алфавиту.

  5. Модуль 5

    Домашняя библиотека

    Каталог книг с жанрами и отметкой «прочитано»: добавление, поиск по автору, список непрочитанного.

  6. Модуль 6

    Расчёт доставки

    Курьер, пункт выдачи и почта считают цену по-разному; программа выбирает самый дешёвый способ для заказа.

  7. Модуль 7

    Журнал заметок

    Заметки с датой сохраняются в файл и не пропадают между запусками; неверный ввод программу не роняет.

  8. Модуль 8

    Отчёт по заказам

    Из списка заказов программа получает выручку по категориям, три самых крупных заказа и клиентов без покупок.

  9. Модуль 9

    Трекер расходов

    Консольная программа из нескольких файлов: категории, расходы по датам, отчёт за месяц и сохранение в файл.

Как устроено

Урок — это код, а не лекция

Короткий разбор на работающем примере, потом пять задач. Видео нет: читать и пробовать быстрее, чем смотреть.

Разбор: пример можно менять и запускать сколько угодно
  1. 1
    Объяснение стоит рядом с кодом

    Новый приём сразу показан в коротком примере, который можно запустить.

  2. 2
    Код запускается прямо на странице

    Поменяйте число или условие, предскажите вывод и сверьте его с тем, что напечатала программа.

  3. 3
    Ошибки объясняются по-русски

    Тренажёр показывает строку с проблемой и говорит, что именно не так, но не исправляет за вас.

Задача: третий тест нашёл ошибку на границе — «от 5 000» значит «включительно»
  1. 4
    Решение проверяют тесты

    Ваш код запускается на нескольких наборах данных. Решить можно любым способом — важен результат.

  2. 5
    Видно, какой сценарий не прошёл

    Тест показывает входные данные, ожидаемый и полученный результат — искать ошибку приходится в конкретном месте.

  3. 6
    Четыре вида задач

    Предсказать, что выведет программа; выбрать верный ответ; найти и исправить ошибку в чужом коде; написать решение с нуля.

В каждом уроке: разбор на примере, свободный запуск кода, пять задач с тестами и подсказки, которые наводят на мысль, а не выдают ответ.

Программа

38 уроков, 9 модулей

От первой переменной до программы из нескольких файлов. Под каждым уроком написано, что вы в нём делаете руками; каждый модуль заканчивается проектом.

9 модулей · 38 уроков · 9 проектов
1Первая программа4 урока
  1. Как устроена программа: класс, main и вывод на экранВы запускаете первую программу и меняете то, что она печатает.
  2. Переменные и типы: int, double, boolean, StringВы заводите переменные под цену, количество и имя и выводите их.
  3. Арифметика, деление и приведение типовВы считаете сумму, остаток и среднее и разбираетесь, куда пропала дробная часть.
  4. Ввод с клавиатуры: ScannerВы пишете программу, которая спрашивает данные и отвечает по ним.

Проект: Калькулятор поездки. Программа спрашивает расстояние, расход и цену топлива и считает стоимость дороги на каждого пассажира.

В итоге: пишете программу, которая получает данные, считает результат и показывает его человеку.

2Условия и циклы5 уроков
  1. if, else и сравненияВы учите программу выбирать одну из веток.
  2. Логические операторы и составные условияВы соединяете несколько проверок в одно условие и ловите ошибки на границах.
  3. switch в современной записиВы заменяете лесенку из if коротким выбором по значению.
  4. Циклы while и do-whileВы повторяете вопрос, пока пользователь не введёт верные данные.
  5. Цикл for, break и continueВы перебираете числа, считаете суммы и останавливаете цикл вовремя.

Проект: Игра «Угадай число». Компьютер загадывает число, подсказывает «больше» или «меньше», считает попытки и предлагает сыграть ещё раз.

В итоге: программа принимает решения, повторяет действия и не ломается на неверном вводе.

3Методы и строки4 урока
  1. Методы: параметры и возвращаемое значениеВы выносите повторяющийся расчёт в метод и вызываете его с разными данными.
  2. Область видимости и разбиение задачи на методыВы делите длинный main на три-четыре метода с понятными именами.
  3. Строки: длина, поиск, части и сравнение через equalsВы проверяете и разбираете текст, который ввёл пользователь.
  4. Сборка текста: StringBuilder и форматированиеВы собираете аккуратный чек с выровненными колонками.

Проект: Проверка пароля. Программа оценивает надёжность пароля по нескольким правилам и объясняет, чего ему не хватает.

В итоге: делите решение на методы и уверенно работаете с текстом.

4Массивы и коллекции5 уроков
  1. Массивы: хранение и обходВы храните оценки за неделю и выводите их по порядку.
  2. Поиск, сумма, минимум и максимумВы пишете своими руками четыре базовых алгоритма над массивом.
  3. ArrayList: список, который растётВы добавляете, удаляете и ищете позиции в списке покупок.
  4. HashMap: данные по ключуВы считаете, сколько раз встретилось каждое слово.
  5. HashSet и выбор подходящей коллекцииВы убираете повторы и решаете, что взять под задачу: список, множество или словарь.

Проект: Телефонная книга. Контакты можно добавлять, искать по имени, удалять и выводить по алфавиту.

В итоге: выбираете структуру данных под задачу и обрабатываете наборы значений.

5Классы и объекты5 уроков
  1. Класс и объект: поля и методыВы описываете книгу классом вместо россыпи переменных.
  2. Конструкторы и thisВы создаёте объекты сразу в правильном состоянии.
  3. Инкапсуляция: private, геттеры и проверкиВы запрещаете отрицательную цену и пустое название на уровне класса.
  4. static, константы и enumВы заводите жанры перечислением и общий счётчик объектов.
  5. record: короткий класс для данныхВы заменяете двадцать строк класса одной и видите, где это уместно.

Проект: Домашняя библиотека. Каталог книг с жанрами и отметкой «прочитано»: добавление, поиск по автору, список непрочитанного.

В итоге: превращаете разрозненные переменные в объекты с понятными правилами.

6Наследование и интерфейсы4 урока
  1. Наследование и переопределение методовВы выносите общее в родительский класс и меняете поведение в наследниках.
  2. Интерфейсы: общий договор для разных классовВы описываете, что должен уметь любой способ доставки.
  3. Полиморфизм: один список — разные объектыВы считаете стоимость по списку, не спрашивая у объекта, какого он типа.
  4. equals, hashCode и toStringВы чините поиск в коллекции, который «не находит» одинаковые объекты.

Проект: Расчёт доставки. Курьер, пункт выдачи и почта считают цену по-разному; программа выбирает самый дешёвый способ для заказа.

В итоге: видите общее в разных объектах и добавляете новый вариант, не переписывая старый код.

7Ошибки, даты и файлы5 уроков
  1. Как читать сообщение об ошибкеВы находите в десяти строках красного текста главную и по ней — строку с причиной.
  2. Исключения: try, catch, finallyВы ловите ошибку ввода, и программа продолжает работать.
  3. Свои проверки и понятные сообщенияВы бросаете исключение сами и пишете сообщение, по которому ясно, что исправить.
  4. Даты: LocalDate и периодыВы считаете, сколько дней осталось до срока, и сортируете записи по дате.
  5. Чтение и запись текстовых файловВы сохраняете данные в файл и поднимаете их при следующем запуске.

Проект: Журнал заметок. Заметки с датой сохраняются в файл и не пропадают между запусками; неверный ввод программу не роняет.

В итоге: находите причину ошибки по её сообщению, а программа переживает неверный ввод и помнит данные между запусками.

8Современная Java3 урока
  1. Лямбда-выражения и сортировка через ComparatorВы сортируете заказы по сумме и по дате одной строкой.
  2. Stream: отфильтровать, преобразовать, собратьВы переписываете три цикла в короткие цепочки и сравниваете результат.
  3. Optional: когда значения может не бытьВы убираете проверки на null и ошибку NullPointerException.

Проект: Отчёт по заказам. Из списка заказов программа получает выручку по категориям, три самых крупных заказа и клиентов без покупок.

В итоге: читаете и пишете код в стиле, который встречается в современных проектах.

9Итоговый проект3 урока
  1. Пакеты и программа из нескольких файловВы раскладываете классы по файлам и пакетам так, чтобы в проекте было легко ориентироваться.
  2. Трекер расходов: данные и командыВы по техническому заданию описываете классы и учите программу принимать команды пользователя.
  3. Трекер расходов: отчёты и сохранениеВы добавляете отчёт за месяц, сохранение в файл и проверяете программу на неверном вводе.

Проект: Трекер расходов. Консольная программа из нескольких файлов: категории, расходы по датам, отчёт за месяц и сохранение в файл.

В итоге: у вас есть законченная программа из нескольких файлов, написанная по заданию, без образца.

Цена

Что входит в курс

  • 38 уроков в 9 модулях. От первой строки до проекта с классами, коллекциями, датами и файлами.
  • Пять задач в каждом уроке. Предсказать вывод, исправить ошибку, написать с нуля — с проверкой тестами.
  • 9 проектов. По одному в конце каждого модуля; итоговый — трекер расходов с сохранением в файл.
  • Весь курс в браузере. Устанавливать и настраивать ничего не нужно: код выполняет учебный тренажёр прямо во вкладке.
  • Программы целиком, а не упражнения на строчку. Ввод с клавиатуры, работа с файлами и проекты из нескольких файлов — всё в тренажёре.
  • Свой темп. Потоков и дедлайнов нет, доступ не ограничен по времени, прогресс сохраняется за аккаунтом.
Кому подойдёт

Для кого этот курс

Никогда не программировали

Курс начинается с того, из чего состоит программа. Термины появляются тогда, когда нужны для задачи; знать алгоритмы, терминал или английский заранее не требуется.

Учились по видео и застряли

Если теория понятна, а написать своё не выходит — здесь почти всё время уходит на практику с быстрой проверкой, а не на просмотр.

Хотите идти в разработку дальше

Язык и объектная модель — основа, на которой держатся тесты, базы данных и веб-разработка на Java. Курс закрывает именно эту основу.

Честная граница

Чего в курсе нет

Лучше узнать это до оплаты, чем после.

  • Трудоустройства. Курс даёт базу языка. До вакансии разработчика после него ещё несколько шагов, и мы не обещаем ни работу, ни зарплату.
  • Тем следующего уровня. Многопоточность, тесты, сборка проекта, работа с базой данных, веб и Spring в программу не входят.
  • Установки программ. Курс целиком проходит на сайте. Как поставить Java на свой компьютер и работать в среде разработки, в нём не разбирается.
  • Преподавателя. Задачи проверяет тренажёр. Разбора вашего кода человеком, созвонов и чата с наставником нет; поддержка отвечает на вопросы об оплате, доступе и работе сайта.
  • Лёгкого пути. Результат дают задачи и проекты, сделанные своими руками. Прочитать уроки без практики — мало.
Вопросы

Частые вопросы

Не нашли ответа — напишите на support@kotodata.ru.

Начать бесплатно
Нужно ли уже уметь программировать?

Нет. Первый урок начинается с того, как устроена самая простая программа. Опыт в другом языке не нужен, школьной математики достаточно.

Нужно ли что-то устанавливать?

Нет. Весь курс, включая итоговый проект, проходит в браузере: нужны только современный браузер и интернет. Установка Java на свой компьютер в курс не входит — это отдельный шаг, который понадобится, когда вы захотите писать программы вне сайта.

Это настоящая Java?

Язык — Java 21: те же правила, те же слова и стандартные классы. Но выполняет ваш код не программа от разработчиков Java, а учебный тренажёр Котодаты, написанный специально для курса. Он умеет всё, что есть в программе курса, но не весь язык: многопоточности, работы с сетью и сторонних библиотек в нём нет. Сообщения об ошибках он объясняет по-русски и рядом показывает, как их называет сама Java.

Сколько времени займёт курс?

Ориентир — 30–40 часов вместе с задачами и проектами: от получаса до часа на урок, на уроки с проектами — больше. При пяти часах в неделю это около двух месяцев. Сроков и дедлайнов нет: можно идти быстрее или делать перерывы.

Где будут программы, которые я напишу?

В тренажёре на сайте: там вы их пишете, запускаете и проверяете. Это консольные программы — они работают с текстом, без окон и кнопок. Код остаётся вашим: его можно скопировать и сохранить у себя. Отдельного файла, который запускается на компьютере, курс не даёт.

Можно ли проходить с телефона?

Курс открывается и на телефоне, но писать код удобнее на компьютере или планшете с клавиатурой: в проектах десятки строк.

Что будет, если задача не получается?

У задачи есть подсказки: первая напоминает идею, следующая сужает поиск. Готовое решение открывается последним шагом — после собственных попыток.

Смогу ли я после курса работать Java-разработчиком?

Одного этого курса для вакансии недостаточно. Вы получите базу языка и опыт своих программ; дальше обычно идут система контроля версий, тесты, базы данных и веб-разработка.

Напишите свою первую программу на Java

38 уроков и 9 проектов — от первой переменной до законченной программы в тренажёре на сайте. Один платёж — 2 490 ₽, без подписки и дедлайнов.

Java с нуля · 2 490 ₽Один платёж · без подписки
Начать

Кабинет