ТОП-100 Лучших Курсов Программирования на Java для Начинающих с Нуля [2020]

Привет, дружище! ✌ На связи Шаполов Алексей. В этой статье ты найдёшь только самые лучшие 🏆 курсы программирования на языке Java 🏆 для начинающих с нуля.

Готов начать обучение? Тогда поехали! 🚎

А ты знал, что Java-программисты в среднем зарабатывают более 100 000 рублей в месяц?

Начну я, пожалуй, с бесплатных курсов.

ТОП-39 Бесплатных Курсов Программирования на Языке Java

№1. Программирование на Java с нуля

Кто проводит: образовательный проект beONmax.

Перейти к курсу

курсы java

Длительность: 29 пошаговых уроков = примерно 6 часов.

Что ты узнаешь и чему научишься из курса:

  • Разработке программ на языке Java
  • Синтаксису языка Java
  • Что такое переменные и типы данных
  • Работе со строками
  • Основным конструкциям — циклам и условиям
  • Что такое массивы
  • Объектно-ориентированному программированию
  • Что такое методы, конструкторы, объекты и др.
  • Что такое инкапсуляция, наследование и полиморфизм
  • Зачем нужна многопоточность
  • И так далее…
Программа
О курсе "Программирование на Java с нуля"
Установка среды разработки
Первая программа — "Hello World!"
Переменные
Условный оператор
Типы данных. Целые числа
Типы данных. Примитивные типы
Циклы
Массивы
Закрываем пробелы. String и Switch Case
Введение в ООП
Введение в методы
Параметризированные методы
Конструкторы
Перегрузка методов и конструкторов
Объекты в качестве параметров и возврат объектов
Модификаторы доступа
Ключевые слова static и final и аргументы переменной длины
Создаём собственную коллекцию
Ключевое слово import, оболочки типов и продвинутая работа со строками
Встроенные коллекции
Наследование
Интерфейсы
Обработка исключений
Методы String.format(), toString() и случайные числа
Многопоточное программирование
Итоги курса

Стоимость: часть уроков можно пройти бесплатно, дальше придётся оформить недорогую подписку.

Отзывы:

Нюансы и особенности:

  • По окончанию курса ты получишь сертификат о его прохождении
  • Приобретая подписку, кроме курса по Java, тебе становятся доступны ещё свыше 20+ курсов платформы

На правах рекламы. Стань хакером на Java за 3 дня!

Кто проводит: Даниил Пилипенко. Директор центра SymbioWay, находит IT-специалистов для крупнейших компаний России.

Перейти к курсу

Длительность: 3 дня.

Особенности:

  • Ты научишься основам одного из самых популярных языков программирования
  • Напишешь вирус для мониторинга
  • Трое лучших получат сертификаты на 30 000 рублей на курсы SkillBox
  • Всем дошедшим до конца — гарантированные призы

Что ты сможешь запрограммировать после прохождения курса:

  • Android-приложения
  • Серверные приложения
  • Трейдинговые приложения
  • 2D-игры
  • Веб-приложения
  • Высокопроизводительные системы
  • J2ME-приложения
  • Нейронные сети
  • Программные средства
  • Большие данные
  • Встраиваемые системы
  • Научные приложения
Программа
День №1. Основы: пишем первое приложение
День №2. Исключения, многопоточность и работа с файлами
День №3. Подведение итогов

Стоимость: бесплатно.

Отзывы:

№2. 5 бесплатных курсов по Java и его фреймворкам

Кто проводит: онлайн-школа JavaBegin.

Перейти к курсу

Длительность: 5 курсов + дополнительные материалы.

Отзывы: на странице курса.

Нюансы и особенности:

  • Чтобы получить курсы, нужно подписаться на рассылку школы

№3. JavaRush — интерактивный курс обучения Java онлайн для начинающих

Кто проводит: образовательная онлайн-платформа JavaRush.

Перейти к курсу

Длительность: зависит только от твоего упорства и скорости.

Что ты узнаешь и чему научишься из курса: программировать на языке Java.

Стоимость: значительная часть курса бесплатна. Однако, чтобы получить доступ ко всем заданиям и квестам, надо оформить подписку за 1 800 рублей в месяц.

Отзывы:

Нюансы и особенности:

  • 1200+ практических задач
  • Курс построен в виде квеста — чтобы стать профессиональным программистом, тебе нужно будет прокачать персонажа с 1-го до 40-го уровня
  • Когда ты достигнешь 35-го уровня, то сможешь попасть на 3-месячную стажировку в JavaRush и получить реальный опыт работы, который требуют все работодатели

№4. Как профессионально создавать крупные проекты на Java

Кто проводит: Михаил Русаков, автор блога о программировании MyRusakov.ru с 2010 года.

Перейти к курсу

Длительность: 14 уроков = 3,5 часа.

Стоимость: бесплатно.

Отзывы:

Нюансы и особенности:

  • Чтобы получить доступ к курсу, нужно подписаться на рассылку автора

№5. Введение в Java

Кто проводит: онлайн-школа Hexlet.

Перейти к курсу

Длительность: 75 часов.

Программа
Модуль 1. Урок 1. Введение в Java.
Модуль 1. Урок 2. Виды языков программирования и место языка Java среди них.
Модуль 1. Урок 3. Из чего состоит Java.
Модуль 1. Урок 4. Основы работы в терминале (ознакомительный).
Модуль 1. Урок 5. Настройка окружающей среды для разработки на языке Java.
Модуль 2. Урок 1. Введение в ООП.
Модуль 2. Урок 2. Типы данных в Java.
Модуль 2. Урок 3. Работа с экземплярами в Java.
Модуль 2. Урок 4. Пакеты в Java.
Модуль 3. Урок 1. Основы использования и создания методов в классах. Часть 1.
Модуль 3. Урок 2. Основы использования и создания методов в классах. Часть 2.
Модуль 3. Урок 3. Уровни методов в Java.
Модуль 3. Урок 4. Наследование в Java.
Модуль 3. Урок 5. Аннотация @Override в Java.
Модуль 4. Урок 1. Условный оператор IF в Java.
Модуль 4. Урок 2. Массивы в Java.
Модуль 4. Урок 3. Циклы в Java.
Модуль 4. Урок 4. Оператор SWITCH в Java.
Модуль 5. Урок 1. Уровни доступа в Java.
Модуль 5. Урок 2. Конструкторы в Java.
Модуль 5. Урок 3. Неизменяемые объекты.
Модуль 5. Урок 4. Паттерн проектирования Builder.
Модуль 5. Урок 5. Перечисления в Java.
Модуль 6. Урок 1. Составные строки в Java.
Модуль 6. Урок 2. Манипуляции символами.
Модуль 6. Урок 3. Преобразование строк в числа и обратно.
Модуль 7. Урок 1. Интерфейсы в Java.
Модуль 7. Урок 2. Абстрактные классы.
Модуль 7. Урок 3. Интерфейс List в Java.
Модуль 8. Урок 1. Nested (static) классы в Java.
Модуль 8. Урок 2. Inner (non-static) классы в Java.
Модуль 8. Урок 3. Анонимные классы в Java.
Модуль 9. Урок 1. Исключения в Java.
Модуль 9. Урок 2. Иерархия исключений.
Модуль 10. Урок 1. Проект ХО.
Модуль 10. Урок 2. Проект ХО.
Модуль 10. Урок 3. Проект ХО.
Модуль 10. Урок 4. Проект ХО.
Модуль 10. Тест.

Стоимость: бесплатно.

Отзывы:

Нюансы и особенности:

  • Много тестов и упражнений
  • Крепкое коммьюнити

№6. Онлайн-курсы Java для начинающих от проекта ExamClouds

Перейти к курсу

Стоимость: бесплатно.

№7. Уроки программирования на Java

Кто проводит: Гоша Дударь, основатель онлайн-школы itProger.

Перейти к курсу

Длительность: 24 видеоурока по 5-20 минут.

Программа
Введение
Установка Java JDK и IntelliJ IDEA
Вывод информации в консоль (Класс System)
Переменные и типы данных
Данные от пользователя
Математические операции
Условные операции
Циклы (For, While, Do While)
Работа с одномерными массивами
Многомерные массивы (двухмерные массивы)
Функции и методы
Основы ООП
Создание класса и объекта
Конструкторы при создании класса
Наследование классов
Полиморфизм (концепция ООП)
Анонимные и вложенные классы
Абстрактные классы
Пакеты и области видимости
Перегрузка методов в Java
Модификаторы static и final
Интерфейсы
GUI Java (Swing Jframe)
Заключительный урок

Стоимость: бесплатно.

Нюансы и особенности:

  • Короткие видеоуроки, из-за чего курс лёгок для изучения и восприятия

№8. Уроки Java от одноимённого канала «Уроки Java»

Перейти к курсу

Длительность: целых 200 УРОКОВ! Какие тут ещё платные курсы?! Если столько информации можно получить абсолютно бесплатно!

Программа
Установка Java Development Kit (JVK), компиляция и запуск первой программы
Установка и запуск первой программы в Eclipse
Установка и запуск первой программы под Intellij Idea
ООП
Как запустить программу без использования метода main
Типы данных
Зачем нужны типы данных и где их использовать
Комментарии
Пакеты и импорты
Наследование
Полиморфизм
Инкапсуляция
Идентификаторы
Классы
Интерфейсы
Модификаторы
Переменные
Методы
Конструкторы
Массивы
Перечисления
Перегрузка методов
Переопределение методов
Ключевое слово static и инициализация классов
Блоки инициализации
Обёртки
Список всех уроков курса смотри на Youtube!

Отзывы: в комментариях к видео.

Нюансы и особенности:

  • Немного устаревший курс, но всё же большая часть информации в нём актуальна и по сей день

№9. Как выучить Java? Самый аху#### способ!

Кто проводит: основатель Youtube-канала «Хауди Хо™ — Просто о мире IT!».

Перейти к видео

Длительность: 8 минут.

Отзывы: в комментариях под видео.

Нюансы и особенности:

  • В видео присутствует реклама онлайн-курса JavaRush

№10. Разработка на Java

Кто проводит: Youtube-канал «Технострим Mail.Ru Group».

Перейти к курсу

Длительность: 14 видеоуроков в среднем по 1 часу.

Программа
Знакомство с платформой Java
Базовые конструкции языка
ООП (объектно-ориентированное программирование)
Исключения. Reflection API
Коллекции и параметризация
Взаимодействие потоков
Внутренние и анонимные классы
Работа с базой данных
Сокеты, разборы задач. Мессенджеры
Основы тестирования
Потоки
NIO
Тестирование
Memory Model

Отзывы: в комментариях к видеоурокам.

Нюансы и особенности:

  • Слишком долгие уроки — сложно сохранять концентрация в течение 1 часа, намного лучше были бы короткие видео

№11. Start Android: Основы Разработки Android-Приложений на Java

Кто проводит: Дмитрий Виноградов, основатель проекта StartAndroid.ru.

Перейти к курсу

Длительность: 143 видеоурока.

Отзывы: можно посмотреть в комментариях под видео.

Нюансы и особенности:

  • Некоторые уроки пропущены, так после 104 идёт сразу 106 урок, а 107 — 109

№12. Java для начинающих

Кто проводит: Александр Барчук, один из основателей онлайн-академии DevСolibri.

Перейти к курсу

Длительность: 33 видеоурока.

Отзывы: в комментариях под видео.

Нюансы и особенности:

  • Курс создан в 2013 году

№13. Интенсив «Джава для начинающих»

Кто проводит курс: онлайн-университет GeekBrains совместно с Mail.ru Group.

Перейти к курсу

Длительность: 2 часа (вебинар).

Что ты узнаешь и чему научишься из курса:

  • Устанавливать и настраивать Java Development Kit (JDK)
  • Компилировать Java код и запускать байт-код для исполнения
  • Работать с переменными, условиями и циклами
  • Импортировать классы, создавать объекты и вызывать их методы
  • Реализовывать простейшую игровую логику
Программа
Вебинар "Разработка простой игры на языке Java"

Стоимость: бесплатно.

Отзывы:

Нюансы и особенности:

  • Пройдя курс, ты получишь сертификат о его окончании
  • Видеозапись вебинара
  • Методички и практические задания
  • А также сможешь пообщаться с единомышленниками в общем чате

№14. Java. Быстрый старт (основы языка Java на примере разработки небольшой игры)

Кто проводит курс: онлайн-университет GeekBrains совместно с Mail.ru Group.

Перейти к курсу

Длительность: 9 уроков.

Что ты узнаешь и чему научишься из курса:

  • Использовать переменные, ветвления, циклы и методы
  • Выполнять операции ввода/вывода в консоль
  • Пользоваться встроенным в среду разработки отладчиком
  • Разрабатывать небольшие оконные игры без использования сторонних библиотек
Программа
Урок 1. Знакомство с языком Java
Урок 2. Переменные, типы данных, ветвления
Урок 3. Циклы; игра «Угадай число»
Урок 4. Методы
Урок 5. Завершаем разработку игры «Угадай число»
Урок 6. Разработка игры «Поймай каплю». Часть 1
Урок 7. Разработка игры «Поймай каплю». Часть 2
Урок 8. Разработка игры «Поймай каплю». Часть 3
Урок 9. Итоги

Стоимость: бесплатно.

№15. Бесплатный курс по основам программирования на Java

Кто проводит: образовательный проект IT-Academy.

Перейти к курсу

Длительность: 6 уроков.

Программа
Данные и операторы в программе. Типы данных и переменные
Структура программы на Java
Условные операторы
Операторы циклов
Массивы
Работа со строками

Стоимость: бесплатно.

Отзывы: на странице курса.

№16. Java

Кто проводит: преподаватели «Академии IT».

Перейти к курсу

Длительность: 112 уроков.

Стоимость: бесплатно.

№17. Java Professional

Кто проводит: преподаватели «Академии IT».

Перейти к курсу

Длительность: 14 уроков.

Программа
Java Professional. Урок 1. Введение
Java Professional. Урок 2. Объектно-ориентированное программирование. Документация прорамм
Java Professional. Урок 3. Проектирование иерархии классов. Знакомство с UML
Java Professional. Урок 4. Особенности создания классов
Java Professional. Урок 5. Рефакторинг. Типичные архитектурные решения и антипаттерны
Java Professional. Урок 6. Обработка ошибок и исключений. Отладка, тестирование и профилирование
Java Professional. Урок 7. Коллекции и дженерики
Java Professional. Урок 8. Основы ввода-вывода
Java Professional. Урок 9. Работа с консолью и файловой системой
Java Professional. Урок 10. Создание графического интерфейса пользователя
Java Professional. Урок 11. Обработка событий от интерфейсных элементов
Java Professional. Урок 12. Многопоточность в Java
Java Professional. Урок 13. Работа с сетью
Java Professional. Урок 14. Разработка приложений для платформы Netbeans

Стоимость: бесплатно.

№18. Java. Базовый курс

Кто проводит: Алексей Владыкин, Java-разработчик в компании OpenWay, преподаватель Computer Science Center.

Личный сайт: http://alexey.vladykin.name.

Перейти к курсу

Программа
Введение в Java
Базовый синтаксис Java
Объекты, классы и пакеты в Java
Обработка ошибок, исключения, отладка
Ввод-вывод, доступ к файловой системе
Generics. Collections. Streams

Стоимость: бесплатно.

Отзывы: на странице курса.

Нюансы и особенности:

  • По окончанию курса ты получишь сертификат Stepik

Ещё несколько бесплатных курсов и материалов по Java

ТОП-53 Платных Курса Java для Начинающих с Нуля

Платные курсы — не для всех!
Алексей Шаполов
Алексей Шаполов
Автор этого блога. Зарабатываю в Интернете свыше 90 000+ рублей в месяц. Создаю только огненный контент и пилю бомбические подборки онлайн-курсов. (Умею заносить правую ногу за голову, с левой — пока что проблемы, увы).

Любимые цитаты: «Бабло Побеждает Зло», «Миром Правит Капитал — Люди Гибнут за Металл», «Потребление информации — путь в никуда».

Любимые книги: «Тонкое искусство пофигизма», «Всё хреново», «Песнь льда и пламени» (и многие-многие другие, всех здесь не перечислишь).

Слушаю: Billie Eilish и Little Big.

Добавляй мой блог в закладки и будь счастлив, бро!)
Платные курсы и программы — это главным образом не знания. Знания можно и нужно находить самостоятельно. Всё есть в свободном доступе, просто кому-то лень искать.

Платные курсы — это работа с наставником, общение с единомышленниками, создание портфолио, помощь с трудоустройством.

Если тебе нужны только знания — можешь ничего не покупать. Ты и так молодец, "политик, лидер и борец".

А вот, если тебе нужен человек, который покажет путь, если ты хочешь сэкономить время на "гуглении" информации — бегом покупать платные курсы. Как раз для тебя они и созданы, дружище!

Чуть ниже ты найдёшь мой личный рейтинг курсов по языку программирования Java.

Рекомендую пристальное внимание обратить на первую пятёрку. Остальные курсы больше указаны для ознакомления и объёма статьи. Самые лучшие курсы — в ТОП-5.

Приступим.

№1. Профессия Java-разработчик с 0 до PRO

Кто проводит: онлайн-университет SkillBox.

Перейти к курсу

курс джава платный скиллбокс

Преподаватели курса:

Даниил Пилипенко

Директор центра SymbioWay (центр по подбору IT-специалистов в крупнейшие компании России).

Более 15 лет в сфере Java разработки. Долгое время являлся ведущим разработчиком «Ютинета». Руководил отделом разработки ПО в издательстве «Вокруг Света».

https://vk.com/sortedmap

https://www.symbioway.ru

Михаил Овчинников

Главный методист технического направления Skillbox. Ведущий разработчик «Badoo» (https://www.facebook.com/scalar4eg).

Занимается разработкой ПО последние 15 лет. Докладчик крупнейших IT-конференций России. Специалист в области разработки высоконагруженных систем и обработки больших данных.

Длительность: 7 месяцев.

Для кого этот курс: для начинающих программистов и совсем новичков.

Твои навыки после прохождения курса:

  • Администрирование и деплой пилотных работ
  • Разработка интернет-магазинов под ключ
  • Создание анимационных сайтов
  • Настройка интеграции CRM с внешними системами
  • Умение ставить и соблюдать сроки
  • Навыки написание запросов к реляционным базам данных
  • Привычка писать комментируемый и строго форматированный код
  • Умение разбираться в чужом коде

Первый уровень — теория

Программа
Вводный модуль
Синтаксис языка
Система контроля версий Git
Объекты и классы
Числа, строки и даты
Массивы и коллекции
Наследование и полиморфизм
Особенности ООП в Java
Исключения, отладка, тестирование и логирование
Работа с файлами и сетью
Язык запросов SQL
Работа с базами данных
Многопоточность
Разработка веб-приложений
Нереляционные базы данных
Оптимизация кода и приложений
Распределённые хранилища и вычисления
Заключительный модуль
🎁 Бонус-модуль. Протокол HTTP
🎁 Бонус-модуль. Алгоритмы и структуры данных
🎁 Бонус-модуль. Паттерны проектирования

Второй уровень — практика

У тебя будет личный наставник.

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

Стоимость: 6 000 3 500 рублей в месяц.

Отзывы:

Нюансы и особенности:

  • Доступ к курсу — навсегда
  • Очень много практики (за 3 месяца ты сделаешь собственную социальную сеть, что будет приравнено к 3 месяцам стажировки в реальной компании)
  • Оплатить курс можно в рассрочку — первый платёж через 6 месяцев
  • Или в кредит до 3 лет
  • Желающим приобрести курс доступна бесплатная консультация со специалистами компании, которые помогут закрыть все возражения
  • Гарантированное трудоустройство (есть даже возможность попасть в «МегаФон», «Сбербанк», «Яндекс», «МТС» и «ВТБ»)
  • Готовое портфолио

№2. Java-разработчик

Кто проводит: онлайн-университет SkillBox.

Перейти к курсу

Длительность: 4 месяца.

Что ты узнаешь и чему научишься из курса:

  • Писать, читать и понимать код на Java
  • Работать с MySQL: хранить и получать данные
  • Реализуешь на практике все принципы ООП
  • Узнаешь, как создавать веб-приложения на Spring Boot
  • Освоишь все тонкости многопоточного программирования
  • Создашь свой блоговый движок
Программа
Вводный модуль
Синтаксис языка
Система контроля версий Git
Объекты и классы
Числа, строки, даты
Массивы и коллекции
Наследование и полиморфизм
Особенности ООП в Java
Исключения, отладка, тестирование и логгирование
Работа с файлами и сетью
Работа с MySQL в Java
Многопоточность
Разработка веб-приложений
Нереляционные базы данных и очереди
Производительность и оптимизация
Распределённые хранилища и вычисления
Заключительный модуль
🎁 Бонус-модуль. Паттерны проектирования
🎁 Бонус-модуль. Алгоритмы и структуры данных
🎁 Бонус-модуль. Прокотол HTTP

Стоимость: 75 000 45 000 рублей для первых 20 студентов.

№3. Java-разработчик с нуля

Кто проводит: онлайн-университет «Нетология».

Перейти к курсу

Длительность: 10 месяцев.

Что ты узнаешь и чему научишься из курса:

  • Программировать на Java. Изучишь основы программирования, синтаксис Java, объектно-ориентированное программирование
  • Разрабатывать веб-приложения. Узнаешь основы клиент-серверного взаимодействия, вёрстку на HTML и CSS, освоишь работу с базами данных и SQL
  • Использовать фреймворки. Освоишь шаблоны проектирования и фреймворк Spring, который используют 4 из 10 Java-программистов
Программа
Введение в программирование на Java
Основы Java
🎁 Английский язык для начинающих разработчиков (от EnglishDom)
Git — система контроля версий
Java Core
Шаблоны проектирования
Spring Framework
Продвинутое программирование
Вёрстка веб-приложений
SQL и базы данных
Linux и основные команды терминала
Работа с облаком
Карьера в Java-разработке
Дипломная работа

Стоимость: 99 900 59 940 рублей (первый модуль можно получить БЕСПЛАТНО!)

Отзывы:

Нюансы и особенности:

  • Курс разработан совместно с «Альфа-Банком»
  • Все выпускники имеют приоритет при приёме на вакансии и стажировку в данной компании
  • По окончанию курса ты получишь диплом о профессиональной переподготовке установленного образца
  • Бесплатная консультация для желающих участвовать в программе

№4. Java-разработчик с нуля

Кто проводит: Гоша Дударь и команда проекта itProger.

Перейти к курсу

Длительность: 2 месяца.

Твои навыки после прохождения курса:

  • Знание языка Java
  • Работа с JDBC (базами данных)
  • Хорошие знания языка SQL
  • Использование Git
  • Написание тестов на Java
  • Уверенные знания при работе с JavaFx
  • Разработка веб проектов на Java Spring
  • Разработка Android-программ
  • Работа с SQLite и MySQL
  • Maven & Gradle

Стоимость: от 6 500 5 200 до 11 000 8 200 рублей в зависимости от тарифа. Чтобы ознакомиться с манерой ведения уроков, можешь пройти бесплатный курс автора на Youtube.

Отзывы:

Нюансы и особенности:

  • Большая база знаний — 69 лекций (более 25+ часов обучения)
  • Домашние задания с проверкой
  • Персональная поддержка со стороны лектора и куратора
  • Выдача диплома по окончанию курса

№5. Быстрый старт в Java (5 курсов)

Кто проводит: Тимур Батыршинов, основатель проекта JavaBegin.

Перейти к курсу

Список курсов, входящих в набор
Профессиональный код на ООП в Java
Создание MP3-плеера на Swing с нуля
Базы данных и SQL в Java для новичков
Игра "Золотоискатель" (с паттернами проектирования)
Адресная книга на JavaFX + БД SQLite

Стоимость: от 7 350 до 17 850 рублей.

Отзывы: по ссылке выше.

№6. Профессия Java-разработчик

Кто проводит: онлайн-университет SkillFactory.

Перейти к курсу

Длительность: 18 месяцев = 60 часов интерактивных вебинаров + 4 тренажёра + 100 задач на алгоритмы + 110 написанных тобой программ + 3 сквозных проекта + 20 мини-проектов + 1 финальный (дипломный) проект.

Что ты узнаешь и чему научишься из курса:

  • Решать нетривиальные задачи с помощью алгоритмов
  • Создавать программу и имплементировать решение
  • Решать задачи любой сложности с помощью алгоритмов
  • Программировать на Java
  • Писать серверную логику и настраивать взаимодействие с базами данных
  • Развёртывать на домене созданный сайт и поддерживать его
  • Искать и исправлять ошибки в своем коде (debugging)
  • Писать собственные движки сайтов
  • Разрабатывать микросервисы
  • Использовать DevOps-инструменты
  • Тестировать приложения
Программа
Введение в программирование (1 месяц)
Алгоритмы и структуры данных (1 месяц)
Java (2,5 месяца)
SQL и работа с базами данных (1,5 месяца)
Backend-разработка на Java (4,5 месяца)
Java Frameworks (1,5 месяца)
Тестирование приложений (0,5 месяца)
Разработка микросервисов (4 месяца)
Основы DevOps (1,5 месяца)

Стоимость: 7 083 4 250 рублей в месяц.

Отзывы: на странице курса.

№7. Факультет Java-разработки

Кто проводит: онлайн-университет GeekBrains совместно с Mail.ru Group.

Перейти к курсу

Длительность: 9 месяцев.

Твои навыки после прохождения курса:

  • Знание Java Core
  • Уверенные навыки в ООП
  • Использование коллекций, делегатов, исключений
  • Отладка Java-программ
  • Создание графического пользовательского интерфейса
  • Разработка клиент-серверных программ
  • Работа с базой данных, передача данных по сети, применение Java-reflection
  • Разработка программного обеспечения: постановка задач, архитектура приложений, тестирование
  • Подключение сторонних библиотек, использование логирования и отладчика
  • Знание синтаксиса языка SQL
  • Разработка графических приложений на Swing
  • Создание юнит-тестов с использованием JUnit
  • Написание многопоточных приложений
Программа
Основы программирования
Java. Уровень 1
Git. Базовый курс
Основы баз данных
Java. Уровень 2
Java. Уровень 3
Алгоритмы и структуры данных на Java. Базовый курс
Базовый курс HTML/CSS
Основы веб-разработки на Spring Framework
Стажировка в GeekBrains

Стоимость: 6 665 3 999 рублей в месяц.

Отзывы:

Нюансы и особенности:

  • Работа с личным наставником
  • Покупая курс, в подарок ты получаешь доступ к закрытому клубу GeekClub, а также образовательную программу «Английский для IT-специалистов»
  • Гарантированная стажировка в GeekBrains или Mail.ru Group
  • Свидетельство об окончании курса установленного образца

№8. Программирование на Java с нуля до гуру

Кто проводит: Михаил Русаков, ведёт блог о программировании MyRusakov.ru с 2010 года.

Перейти к курсу

Длительность: зависит от твоей скорости освоения материала.

Программа
Введение
Основы программирования на Java
Объектно-ориентированное программирование в Java
Исключения в Java
Основные классы в Java
Создание пользовательского интерфейса
Работа с графикой
Работа с внешними ресурсами
Многопоточное программирование

Стоимость: всего 4 970 рублей.

Отзывы: на странице курса.

Нюансы и особенности:

  • 3 бонусных курса — «Паттерны проектирования», «Калькулятор на Java», «Парсер курсов валют»
  • 30-дневная гарантия возврата средств

№9. Очный авторский курс по Java с нуля за 3 месяца

Кто проводит: преподаватели онлайн-школы ITsJAVA

Перейти к курсу

Длительность: 3 месяца.

https://www.youtube.com/watch?v=d-joWCsMDOg&feature=emb_title

Программа
Типы данных. Условные операторы. Циклы. Массивы
Алгоритмы. Рекурсия. Вычислительная сложность
Объектно-ориентированное программирование. Модификаторы доступа. Ключевые слова
Родитель всех классов Object
Интерфейсы. Абстрактные классы. Перечисления
Потоки ввода-вывода. Работа с файлами
Коллекции. List, Map, Set, Queue. Отличия реализаций
Базы данных. Язык запросов SQL
Класс Thread. Многопоточность
Система контроля версий GIT, сборщик проектов Maven, библиотека Swing
Логирование. Время и дата. Reflection. Lombok
Собеседование один на один с преподавателем. Реализация своего проекта

Стоимость: 50 700 37 500 рублей.

Отзывы: на странице курса.

№10. Курс «Java Developer с оплатой после трудоустройства»

Кто проводит: онлайн-школа Java Mentor.

Перейти к курсу

Длительность: 6 месяцев.

Программа
Java Core
Основы Web/Enterprise разработки
Подготовка к проекту (Spring + Hibernate)
Разработка настоящего проекта в команде
Подготовка к собеседованию + трудоустройство

Отзывы: на странице курса.

Нюансы и особенности:

  • Чтобы попасть на курс, ты должен пройти вступительное испытание (тест и личное собеседования с наставниками проекта)
  • Онлайн-обучение минимум 25 часов в неделю
  • После окончания образовательной программы в соответствии с условиями договора ты должен будешь трудоустроиться на работу в Москве
  • В качестве оплаты за прохождение курса авторы проекта будут получать 17% от твоего фактического дохода разработчика в течение 2-х лет

№11. Java (Джава) для начинающих: с нуля до сертификата Oracle

Кто проводит: Заур Трегулов, окончил факультет Кибернетики, программист с 7-летним стажем.

Перейти к курсу

Длительность: 47,5 часов.

Что ты узнаешь и чему научишься из курса:

  • Шаг за шагом детально изучишь 52 основные темы языка Java
  • Полностью подготовишься к экзамену Java Programmer I от Oracle
  • Научишься писать программы различной сложности
  • Научишься с лёгкостью вникать в другие языки программирования
  • Познакомишься и полюбишь мир объектно-ориентированного программирования

Стоимость: 9 799 1 079 рублей.

Отзывы: на странице курса.

№12. Java-программирование

Кто проводит: образовательный проект IT-Academy.

Перейти к курсу

Что ты узнаешь и чему научишься из курса:

  • Писать аккуратный и «чистый» код
  • Применять объектно-ориентированный подход при разработке программ
  • Использовать полученные знания на практике, что поможет в кратчайшие сроки войти в профессию

Программа курса:

  • Введение в Java
  • Типы данных
  • Переменные
  • Операторы
  • Операторы управления
  • Циклы
  • Массивы
  • Работа со строками
  • Введение в ООП
  • Классы
  • Наследование и полиморфизм
  • Внутренние классы
  • Перечисляемые типы
  • Дженерики
  • Коллекции
  • List Коллекции
  • Set
  • Map
  • Обработка исключений Java Lambda
  • Streams API
  • Java new Date Time API
  • Потоки ввода-вывода
  • Сериализация
  • Практика по потокам ввода-вывода
  • Введение в многопоточность
  • Взаимодействие потоков
  • Producer-consumer
  • Пакет java.util.concurrent
  • Пулы потоков и синхронизаторы
  • Регулярные выражения
  • Принципы дизайна ПО
  • SOLID
  • Паттерны jUnit тестирование
  • Reflection API

Стоимость: 969 белорусских рублей.

Отзывы:

Нюансы и особенности:

  • Вебинары во вторник и четверг с 19:30 до 22:00, в субботу — с 9:30 до 10:50
  • Онлайн-консультации с личным наставником
  • Проверка домашних заданий
  • Зачисление на курс проводится на конкурсной основе по результатам теста (на логику и английский язык)

№13. Java-программист: от новичка до профессионала

Кто проводит: Григорий Кислин, основатель онлайн-школы Java Online Projects, начал карьеру программиста ещё в далёком 1989 году. Его резюме смотри здесь.

Перейти к курсу

Стоимость: первые занятия можно пройти бесплатно.

Отзывы:

Нюансы и особенности:

  • Первые занятия можно пройти бесплатно
  • Стажировка в Top Java
  • IntelliJ IDEA Ultimate ключ на 6 месяцев
  • Сертификаты и дипломы государственного образца
  • Возможность приобретения в рассрочку на 6 месяцев

№14. Разработчик Java

Кто проводит: образовательный проект OTUS.

Перейти к курсу

Длительность: 5 месяцев.

Стоимость: 60 000 48 000 рублей по скидке.

Отзывы: на странице курса.

№15. Видеокурс Java

Кто проводит: образовательный проект ITDVN.

Перейти к курсу

Длительность: 9 видеоуроков + упражнения.

Стоимость: 9,99$ за доступ на 30 дней (подписка).

Отзывы: на странице курса.

№16. Курсы Java в Центре «Специалист» от МГТУ им. Баумана (25 курсов)

Перейти к курсу

Длительность: от 20 до 367 академических часов.

Стоимость: от 12 000 до 169 000 рублей.

№17. Java-программист от Hexlet (12 курсов в 1)

Перейти к курсу

Длительность: от 4 до 7 месяцев.

Что ты узнаешь и чему научишься из курса:

  • Работать со встроенными структурами данных
  • Создавать собственные структуры данных
  • Работать напрямую с байт-кодом Java
Список курсов
Жизнь программиста
Основы командной строки
Введение в Java
Системы контроля версий (GIT)
Java Generics
Байт-код Java
Java: Структуры данных
Java: Многопоточность
Протокол HTTP
Основы реляционных баз данных
Java для веб-сервисов
Java для веб-сервисов Amazon (AWS)

Стоимость: часть курсов можно пройти бесплатно, для освоения остальных — придётся оформить платную подписку (от 39$ до 199$ в месяц).

Отзывы: на странице курса.

№18. Java Junior Developer

Кто проводит: онлайн-школа LevelUp.

Перейти к курсу

Длительность: 1,5 месяца = 48 академических часов.

Программа
Начинаем проект: maven / github / JUnit / непрерывная интеграция
Работа с БД (MySQL, PostgreSQL): JDBC. Hibernate
Веб-Контейнер Tomcat. Сервлеты. JSP. Работа с Датой
Spring: IoC, Dependency Injection, конфигурирование XML, JavaConfig
Generics, Collections, Time complexity
Архитектура веб-приложения со Spring, шаблоны проектирования
Многопоточность, основы и шаблоны
Spring Security - аутентификация и авторизация. jQuery, REST controllers, Ajax
Тестирование Spring. Работа над проектами
Подготовка к собеседованию
Работа над проектами

Стоимость: 19 970 рублей.

Отзывы: на странице курса.

№19. Java-разработчик

Кто проводит: онлайн-школа HackerU.

Перейти к курсу

Длительность: 3,5 месяца = 80 часов академических часов.

Что ты узнаешь и чему научишься из курса: писать код на Java, создавать GUI-приложения и выстраивать взаимодействие с базами данных через JDBC API.

Программа
Модуль 1. Введение в Java
Модуль 2. Базовые конструкции
Модуль 3. Введение в объектно-ориентированное программирование
Модуль 4. Основные принципы объектно-ориентированное программирования
Модуль 5. Обобщения
Модуль 6. Коллекции
Модуль 7. Обработка исключительных ситуаций
Модуль 8. Потоки ввода-вывода
Модуль 9. Работа с сетью
Модуль 10. Многопоточность
Модуль 11. Reflection API

Стоимость: не указана.

№20. Java-разработчик с нуля

Кто проводит: онлайн-школа Avenue.

Перейти к курсу

Длительность: 5 месяцев = 2 дня в неделю по 2 часа.

Стоимость: 44 990 29 950 рублей.

Ещё несколько платных курсов для обучения Java-программированию

На сегодня всё.

Это были самые лучшие курсы программирования на языке Java для начинающих с нуля.

Понравилась статья? Тогда оценивай её по 5-балльной шкале ниже и делись ей с друзьями.

Удачи в обучении Java-программированию и до встречи! 🤘

P.S. Никогда не забывай три магических слова: «Minecraft — это жизнь!»

Ты, это, не жмись — контентом делись!
Алексей Шаполов

Автор этого блога. Зарабатываю в Интернете свыше 90 000+ рублей в месяц. Создаю только огненный контент и пилю бомбические подборки онлайн-курсов. (Умею заносить правую ногу за голову, с левой — пока что проблемы, увы).

Любимые цитаты: «Бабло Побеждает Зло», «Миром Правит Капитал — Люди Гибнут за Металл», «Потребление информации — путь в никуда».

Любимые книги: «Тонкое искусство пофигизма», «Всё хреново», «Песнь льда и пламени» (и многие-многие другие, всех здесь не перечислишь).

Слушаю: Billie Eilish и Little Big.

Добавляй мой блог в закладки и будь счастлив, бро!)

Добавить комментарий

День №1. Основы: пишем первое приложение
- Установка среды разработки.
- Как выглядит программный код.
- Операторы и переменные в коде.
- Основные типы данных.
- Объекты, классы и методы.
- Получение скриншотов экрана.
День №2. Исключения, многопоточность и работа с файлами
- Обработка исключений.
- Потоки и процессы.
- Запуск и остановка потоков.
- Подключение внешних библиотек.
- Отправка файлов на удаленный сервер.
День №3. Подведение итогов
- Ревью работ каждого участника.
- Финальные штрихи программы.
- Выбор победителей.
- Вручение призов всем участникам.
Урок 1. Знакомство с языком Java
Краткое описание языка; установка необходимых инструментов разработки; написание первой программы.
Урок 2. Переменные, типы данных, ветвления
Описание фундаментальных понятий языка Java на примере простого консольного калькулятора.
Урок 3. Циклы; игра «Угадай число»
Начинаем писать консольную игру «Угадай число», на примере которой будем продолжать изучение основ языка.
Урок 4. Методы
Демонстрация методов на примере усовершенствования игры «Угадай число».
Урок 5. Завершаем разработку игры «Угадай число»
Доводим код игры до конечного варианта.
Урок 6. Разработка игры «Поймай каплю». Часть 1
Создаём окно игры.
Урок 7. Разработка игры «Поймай каплю». Часть 2
Учимся загружать и рисовать картинки; реализуем игровой цикл.
Урок 8. Разработка игры «Поймай каплю». Часть 3
Ловим события мыши и заканчиваем разработку игры.
Урок 9. Итоги
Собираем проект в один jar-файл, чтобы его было удобно запускать без среды разработки; подводим итоги.
Введение в Java
Что такое Java, откуда она взялась и зачем нужна
Первый контакт — Hello World
Знакомство со средой разработки
Базовый синтаксис Java
Примитивные типы
Преобразование типов
Массивы и строки
Управляющие конструкции: условные операторы и циклы
Объекты, классы и пакеты в Java
Основы ООП
Пакеты и модификаторы доступа
Объявление класса
Наследование. Класс Object
Абстрактные классы и интерфейсы
Обработка ошибок, исключения, отладка
Знакомство с исключениями
Обработка исключений. Try-catch
Логирование
Ввод-вывод, доступ к файловой системе
Доступ к файловой системе
Потоки байт
Потоки символов
Продвинутые возможности
Generics. Collections. Streams
Generics
Коллекции
Функциональные интерфейсы
Stream API
Вводный модуль
Какие бывают программы.
Где и для чего применяется Java.
Как выглядит программный код.
Установка среды разработки.
Исправляем готовое приложение.
Пишем консольное приложение.
Синтаксис языка
Что вообще бывает в коде.
Переменные в Java.
Boolean, операторы сравнения и условные операторы.
Циклы.
Разбираем сложный код.
Система контроля версий Git
Версии программного кода.
Работа с файлами и коммитами.
Ветки: создание и управление.
Слияние и разрешение конфликтов.
Репозитории и коллективная работа.
Использование Git.
Объекты и классы
Понятие класса и объекта.
Метод, параметры, return.
Статические методы.
Статические переменные и константы.
Создание объектов и конструктор.
Копирование объектов.
Внешние библиотеки классов.
Создание JAR-файлов.
Аннотации и Lombok.
Лямбда-выражения.
Числа, строки и даты
Примитивы и объекты.
Типы чисел и преобразование.
Операции с числами.
Строки, символы и подстроки.
Конкатенация и сравнение строк.
Регулярные выражения.
Календарь и метка времени.
Массивы и коллекции
Массивы.
Списки. Очередь и стек.
Наборы уникальных элементов. HashSet, TreeSet.
Карты данных. Ключи и значения. TreeMap, HashMap.
Поиск и сортировка.
Stream API.
Указатели на методы.
Наследование и полиморфизм
Наследование классов.
Доступ к методам и переменным.
Абстрактные классы.
Интерфейсы и полиморфизм.
Функциональные интерфейсы.
default- и static-методы в интерфейсах.
Generics.
Variance и contravariance.
Проектирование приложений.
Особенности ООП в Java
Лямбда-выражения.
Указатели на методы.
Метод forEach.
Способы получения Stream.
Sorted, max, min.
Map reduce.
Static- и default-методы в интерфейсах.
Generics.
Система сборки Maven.
Репозиторий Maven.
Аннотации и Lombok.
Исключения, отладка, тестирование и логирование
Обработка исключений.
Типы исключений.
Отладка приложений.
Модульное тестирование. JUnit.
Интеграционные и функциональные тесты.
Изоляция тестов.
Logging, Log4j, Apache Commons.
Работа с файлами и сетью
Чтение файлов.
Запись в файл.
Табличные файлы.
Файлы XML и HTML.
Файлы JSON.
Чтение файлов из сети.
Конфигурационные файлы.
Язык запросов SQL
SQL. Введение.
Структура БД, запрос DESCRIBE.
Выбор и фильтрация данных, запрос SELECT.
Функции и выражения, агрегация данных.
Отношения и соединение таблиц: JOIN.
Группировка.
Модификация данных.
Подзапросы.
Объявление и изменение структуры данных.
Работа с базами данных
Установка MySQL (докер).
jdbc.
Таблицы, поля и записи.
ORM: объекты и записи. Hibernate.
Добавление, удаление и обновление.
Сортировка и группировка.
Многопоточность
Процессы и потоки. Как создавать, как использовать, когда выбирать одно, а когда — другое.
Приостановка и прерывание.
Состояние гонки и критические секции.
Синхронизация методов и блоков.
Потокобезопасность, коллекции, atomic, volatile.
Взаимная блокировка. Deadlock.
Future, Promise, ForkJoinPool, ThreadPool.
Разработка веб-приложений
Java Server Pages (JSP).
Spring Boot.
Концепция MVC.
Конфигурация, роутинг.
Dependency Injection.
Jetty.
Нереляционные базы данных
Основы Redis.
Сравнение Redis и MySQL.
Основы MongoDB.
Продвинутые запросы к MongoDB.
Оптимизация кода и приложений
Факторы производительности.
Оптимизация по времени.
Оптимизация по памяти.
Оптимизация работы с базами данных.
Профайлер.
Non-blocking IO.
Распределённые хранилища и вычисления
Что такое большие данные.
Файловая система HDFS и практика.
Концепция MapReduce.
Фреймворк Apache Spark.
Установка Spark.
Запуск в Spark собственного приложения.
Запуск приложения обработки текста.
Модуль YARN.
Заключительный модуль
Реактивное программирование. RxJava.
Oracle, PL/SQL, хранимые процедуры.
Язык программирования Kotlin.
Язык программирования Scala.
Android-приложения.
Desktop-приложения.
🎁 Бонус-модуль. Протокол HTTP
Что такое HTTP.
GET, POST, PUT, DELETE.
REST.
Типы кодирования POST-запросов.
Encoding, сжатие, Content-Type.
Куки и сессии.
HTTP 1, 2.
HTTPS.
🎁 Бонус-модуль. Алгоритмы и структуры данных
Что такое алгоритм.
Алгоритмы для компьютера.
Процессор и память.
Строки. Алгоритмы для строк.
Массивы. Бинарный поиск. Сортировка.
Рекурсия.
Хэш-таблицы.
Деревья.
Графы.
Время работы алгоритма.
🎁 Бонус-модуль. Паттерны проектирования
Зачем нужны паттерны проектирования.
Паттерн Strategy.
Паттерн Observer.
Паттерн Decorator.
Паттерн Factory. Паттерн Singleton. Паттерн Command Паттерны Adapter и Facade. Паттерн Factory Method.
Вводный модуль
Какие бывают программы
Где и для чего применяется Java
Как выглядит программный код
Установка среды разработки
Исправляем готовое приложение
Пишем консольное приложение
Домашняя работа
Синтаксис языка
Приветственное видео
Что вообще бывает в коде
Переменные в Java
Boolean, операторы сравнения и условные операторы
Циклы
Разбираем сложный код
Домашняя работа
Система контроля версий Git
Версии программного кода
Установка Git
Индекс и частичные коммиты
Сравнение версий
Отмена изменений и откат версий
Репозитории и коллективная работа
Ветки - создание и управление
Слияние и разрешение конфликтов
Полезные инструменты
Правила работы с Git
Объекты и классы
Понятие класса и объекта
Метод, параметры, return
Статические методы и переменные
Константы и Enum
Создание объектов и конструктор
Инкапсуляция, геттеры и сеттеры
Копирование объектов
Внешние библиотеки классов
Создание JAR-файлов
Числа, строки, даты
Объекты и примитивы
Зачем нужны объекты и примитивы
Значения по умолчанию
Boxing и unboxing
Повторяем изученное
Домашняя работа
Какие бывают числа
Биты и байты
Числа int и double
Точность чисел с плавающей точкой
Преобразование чисел разных типов
Преобразование строки в число и обратно
Какие бывают операции с числами
Инкремент и декремент
Класс Math
Символы и кодировки
Специальные символы
Методы класса String
Конкатенация строк
Сравнение строк
Регулярные выражения
Календарь и метка времени
Массивы и коллекции
Создание массивов
Перебор элементов массивов
Обход массивов в обратном порядке
Массивы массивов
Домашняя работа
Списки элементов
Наборы уникальных элементов
HashMap и TreeMap
Поиск и сортировка
Наследование и полиморфизм
Наследование классов Java
Домашняя работа
Доступ к методам и переменным
Абстрактные классы
Интерфейсы
Полиморфизм
Интерфейс Comparable
Интерфейс Comparator
Краткая реализация интерфейсов
Интерфейсы Map и Set
Особенности ООП в Java
Лямбда-выражения
Домашняя работа
Указатели на методы
Метод forEach
Способы получения Stream
Sorted, max, min
Map reduce
Static- и default-методы в интерфейсах
Generics
Система сборки Maven
Репозиторий Maven
Аннотации и Lombok
Исключения, отладка, тестирование и логгирование
Возникновение исключений
Отлов исключений
Типы исключений
Домашняя работа
Отладка приложений
Виды тестирования ПО
Модульное тестирование
Логгирование в консоли
Логгирование с помощью log4j2
Работа с файлами и сетью
Класс File
Чтение файлов с помощью FileInputStream
Чтение файлов с помощью BufferedReader
Чтение файлов с помощью класса Files
Домашняя работа
Запись в файл
Табличные файлы
Структура XML и HTML-файлов
Парсинг HTML-файлов
Формат JSON и парсинг JSON файлов
Конфигурационные файлы
Работа с MySQL в Java
Установка MySQL
Подключение через JDBC
Запросы без ResultSet
Домашняя работа
Hibernate — подключение и настройка
Hibernate: изменение данных в базе
Связи ManyToOne и OneToMany
Связь ManyToMany
Hibernate query builder
Ленивая загрузка данных
Where и OrderBy
HQL
Многопоточность
Зачем нужна многопоточность
Класс Thread
Интерфейс Runnable
Домашняя работа
Состояние гонки и критические секции
Атомарные переменные
Ключевое слово Volatile
Synchronized-методы
Synchronized-блоки
Взаимодействие потоков — методы Wait и Notify
Потокобезопасные классы
Взаимная блокировка — Deadlock
Интерфейс Callable
Executors, Executor и ExecutorService
Метод Shutdown
ThreadPoolExecutor
SheduledExecutorService
Приостановка и прерывание потоков
ForkJoinPool и RecursiveTask
Разработка веб-приложений
Создание Maven-проекта
Создаём приложение на Spring Boot
Создание первого контроллера
Домашняя работа
Концепция MVC
RESTful API и CRUD
Создание контроллера
Request, response и статусы ответов
Подключение к БД и создание сущности
Репозиторий и добавление элементов в БД
Получение данных из БД
Изменение и удаление данных в БД
View и подключение шаблонов
Параметры конфигурации
Упаковка приложения в JAR-файл
Нереляционные базы данных и очереди
Введение
Основы Redis, простейшие команды
Домашняя работа
Сложные структуры данных в Redis
Сравнение Redis vs MySQL
Базовые возможности MongoDB
Агрегация данных в MongoDB
Итоги
Производительность и оптимизация
Факторы производительности
Преждевременная оптимизация
Что нужно оптимизировать
Длительность конкатенации строк
Буферизация
Два принципа оптимизации по времени
Домашняя работа
Какую память нужно экономить
Память можно не экономить
Память и разные структуры данных
Чем меньше запросов, тем лучше
Multiinsert
Утечка памяти
Индексация и оптимизация запросов
Кэширование запросов
Хранение данных
Заключение
Распределённые хранилища и вычисления
Что такое большие данные
Файловая система HDFS
Практическая работа с HDFS
Домашняя работа
Концепция MapReduce
Фреймворк Apache Spark
Установка Spark
Запуск в Spark собственного приложения
Запуск приложения обработки текста
Модуль YARN
Заключительный модуль
Заключительный модуль
Desktop-приложения - создание интерфейса
Desktop-приложения - события и их обработка
Desktop-приложения - кастомизация интерфейса
Домашняя работа
Android-приложения
Язык программирования Scala
Язык программирования Kotlin
Реактированое программирование и RxJava
🎁 Бонус-модуль. Паттерны проектирования
Что такое паттерны проектирования
Паттерн Singleton
Паттерн Factory
Паттерн Abstract Factory
Паттерн Decorator
Паттерн Adapter
Паттерн Bridge
Паттерн Strategy
Паттерн Observer
Паттерн Iterator
Другие паттерны
🎁 Бонус-модуль. Алгоритмы и структуры данных
Общие сведения
Вычислительная сложность и расход памяти
Массивы, сортировка и поиск
Рекурсия
Стэк и очередь
Деревья
Графы
Хэш-таблицы
Строки
Битовые маски
Связные списки
🎁 Бонус-модуль. Прокотол HTTP
Что такое HTTP. Заголовки и тело запроса
Заголовки и тело ответа. Коды ответов
Запросы GET и POST
PUT, DELETE, OPTIONS
Стандарт REST
Типы кодирования POST-запросов
Encoding, сжатие, Content-Type
Куки и сессии
HTTP 1.0, 1.0 и 2.0
HTTPS
Введение в программирование на Java
Знакомство с языком Java и инструментами
Переменные и типы данных в Java
Алгоритмы на Java
Работа с массивами
Классы и объекты
Обработка исключений
Строки и регулярные выражения
Основы Java
Первая программа на Java
Условные операторы и циклы
Типы данных
Массивы одномерные и многомерные
Основы объектно-ориентированного программирования
Классы. Модификаторы доступа, наследование
Полиморфизм. Абстракции и интерфейсы
InMemory хранение данных — коллекции
Git — система контроля версий
Предназначение системы контроля версий
Основные операции (фиксация и откат изменений, поиск, история)
Работа с сервисом GitHub
Ветки, слияние веток и разрешение конфликтов
Командная работа
Java Core
Unit-тесты на Junit5
Generic-типы. Runtime, wildcards & PECS
Stream API
Работа с файлами
Работа с памятью JVM. Heap, stack, Garbage collector, VisualVM
Работа с сетью. UPD, TCP/HTTP, OSI
JVM и сборщики мусора
SQL
Логирование
Шаблоны проектирования
Порождающие. Builder, Singletone, Factory Method
Структурные. Proxy, Decorator, Adapter
Поведенческие. Command, Iterator, Observer, Chain of Responsibility
Свойства хорошего кода. Abstraction, Composition, Coupling, Cohesion
Принципы SOLID
Spring Framework
Dependency Injection. Поле, конструктор, сеттер
Системы автоматической сборки Java-проектов. Gradle, Maven
Java-config Spring'a
Обзор REST, SOAP, RPC
Spring MVC + REST
Spring Boot
Spring Boot Test. Библиотека MockMvc
Продвинутое программирование
Параллельное программирование
Функциональное программирование
Blocking and non-blocking IO
Вёрстка веб-приложений
Основы клиент-серверного взаимодействия
Основы HTML, CSS
SQL и базы данных
Виды баз данных. Relation, key-value, document, colon
Реляционные базы данных MySQL, PostgreSQL
Индексы
Синтаксис SQL
Как работать из Java c реляционными базами. JDBC, JPA, ORM, Hibernate
Транзакции и уровни изоляции
NoSQL, MongoDB. Как работать из Java
Spring Data
Linux и основные команды терминала
Работа с файлами
Процессы
Работа с сетью
Работа с облаком
Docker
Создание контейнеров
Запуск контейнеров средствами docker-compose
Библиотека Testcontainers
Обзор оркестраторов. Kubernetes, Nomad
Обзор публичных облаков Amazon Web Services, Google Cloud
Карьера в Java-разработке
Java-разработчик: задачи, работа в команде
Поиск работы: компания vs фриланс
Карьерная траектория: из студента в senior
Первое собеседование
Тренды Java-разработки: за какими ресурсами следить
Резюме, сопроводительное письмо, портфолио
Дипломная работа
Ты будешь работать над собственным облачным хранилищем и напишешь свой мини-Google Диск. Для этого разработаешь backend и frontend приложения, а также его логику. Приложение позволит сохранять несколько файлов в базе данных и предоставлять предпросмотр.

Лучшие выпускники получат возможность принять участие в отборе на открытые вакансии "Альфа-Банка".
Введение в программирование (1 месяц)
- Computational thinking. Работа кода. Хранение и передача информации.

- Устройство WEB и работа браузера. Работа протоколов. DNS

- Основы работы с сетями. TCP/UDP

- Классификация языков программирования. Концепции объектно-ориентированного и функционального программирования. Принципы SOLID, KISS

- Качество кода.

- Введение в Git. Основные операции. Ветки, представление о мёрдже. Командная работа
Алгоритмы и структуры данных (1 месяц)
- Типы данных: числа и операторы, переменные, строки, булевы выражения.

- Структуры данных: массивы, списки, очереди. Условия и циклы. Функции.

- Блок-схемы. О-нотация.

- Алгоритмы сортировки и поиска
- Представление о деревьях, хэш-таблицах, графах. Простые задачи на них.

- Алгоритмическое мышление и паттерны решения проблем. Алгоритмические задачи.
Java (2,5 месяца)
- Установка JDK и IntelliJ IDEA. Особенности выполнения кода на Java

- Основные синтаксические конструкции и операторы. Переменные. Условия и циклы

- Массивы и строки

- Объекты и классы. Создание объектов. Копирование объектов.
Внешние библиотеки классов

- Параметры и методы.
Статистические методы.

- Статистические переменные. Константы

- JAR-файлы

- Операции с числами. Строки, символы, подстроки. Сравнение строк. Регулярные выражения

- Массивы. Списки. Очереди. Поиск и сортировка. Указатели на методы

- Наследование и полиморфизм. Наследование классов. Доступ к методам и переменным.

- Абстрактные классы

- Коллекции (Java Collections Framework): list, set, map

- Библиотека классов Java Concurrency: Thread pooling

- Особенности Java 8: лямбда-функции, Stream API, Date Time API в Java

- Интерфейсы, функциональные интерфейсы. default- и static-методы в интерфейсах

- Примитивы

- Обработка исключений. Типы исключений
SQL и работа с базами данных (1,5 месяца)
- Основы SQL

- Структура БД, основные запросы. Представление о SQL- и noSQL-базах данных. Системы управления БД

- Таблицы и основные функции. Структуры данных

- ORM. Hibernate. EclipseLink

- Запись, добавление, удаление объектов; сортировка и поиск

- Работа с PostgreSQL, MySQL и Oracle. JDBC

- Работа с MongoDB и Redis на Java
Backend-разработка на Java (4,5 месяца)
- Структура проекта. Системы сборки Maven и Gradle

- Java Server Page

- Особенности объектно-ориентированного программирования в Java

- Проектирование приложений

- Процессы и потоки. Однопоточность и многопоточность. Java IO

- Работа с файлами и сетью. Чтение файлов из сети. Файлы HTML, XML, JSON

- API-сервисы. REST и SOAP

- Авторизация

- Логгирование. Log4j, Logback, Slf4j

- Кэширование. CDN, server side/client side

- Безопасность. Симметричное и ассиметричное
шифрование. Работа протоколов. SSL/TSL.

- Хэширование. Spring Security

- Работа с веб-сервером. Nginx, Apache. WebSocket
Java Frameworks (1,5 месяца)
- Spring Boot

- Spring Data. JPA

- Hibernate

- Spring Core. Depedency injection

- Java FX для разработки фронтенда
Тестирование приложений (0,5 месяца)
- Отладка приложений.

- Модульное тестирование. JUnit, Mockito

- Интеграционные и функциональные тесты. Logging, Log4j

- Е2Е-тестирование. Selenium
Разработка микросервисов (4 месяца)
- Концепция CI/CD

- Архитектурные паттерны. Монолитные приложения, микросервисы, бессерверные приложения

- Spring Cloud для разработки микросервисов. GraalVM

- Поисковые механизмы. Elasticsearch

- Message Queue: Kafka, Redis, JMS

- Контейнеризация. Docker

- Виртуализация

- Оркестрация. Kubernetes, Docker Compose

- GraphQL. Apollo.

- Оптимизация кода и приложений. Факторы производительности
Основы DevOps (1,5 месяца)
- Введение в системное администрирование

- Основные OS-концепции: виртуализация, потоки, конкурентность, сокеты, хранение данных, I/O-менеджмент, основы POSIX

- Работа с Linux. Командная строка в Linux

- Работа с сетями и протоколами. Безопасность сетей

- Жизненный цикл ПО и концепция CI/CD. Gitlab CI, Jenkins

- Управление конфигурациями в Ansible

- Оркестрация контейнеров в Kubernetes

- Мониторинг инфраструктуры и приложений: Prometheus, JMX, Spring Metrics, Spring Actuator

- Облачные технологии (AWS, Azure) и дизайн-паттерны

- Тестирование (Molecule)
Типы данных. Условные операторы. Циклы. Массивы
Жизненный цикл программы на Java.
Примитивные типы данных и их свойства.
Условные операторы if и case.
Структурное программирование.
Массивы.
Циклы for, for-each, while-do.
Алгоритмы. Рекурсия. Вычислительная сложность
Процедурное программирование и методы.
Алгоритмы сортировок.
Рекурсия.
Вычислительная сложность алгоритмов.
Объектно-ориентированное программирование. Модификаторы доступа. Ключевые слова
Объектно-ориентированное программирование.
Абстракция, инкапсуляция, полиморфизм и наследование.
Память в Java.
Модификаторы final, static, native, synchronized.
Понятие констант.
Родитель всех классов Object
Родитель всех классов Object.
Детальный разбор переопределения всех его методов.
Интерфейсы. Абстрактные классы. Перечисления
Интерфейсы.
Абстрактные классы.
Перечисления
Потоки ввода-вывода. Работа с файлами
Потоки ввода-вывода.
Запись и чтение из файла.
Сериализация.
Коллекции. List, Map, Set, Queue. Отличия реализаций
Списки ArrayList и LinkedList. Реализация своих списков.
Цикл for-each.
Карта Map и устройство HashMap.
Iterator.
Множество Set.
Очередь Queue.
Базы данных. Язык запросов SQL
Базы данных.
Язык запросов SQL.
Подключение баз данных к Java приложению.
Класс Thread. Многопоточность
Потоки и процессы в Java.
Контролирование работы потоков.
Volatile, synchronized.
Thread pool.
Система контроля версий GIT, сборщик проектов Maven, библиотека Swing
Система контроля версий GIT.
Сборщик проектов Maven
Библиотека Swing.
Логирование. Время и дата. Reflection. Lombok
Логирование в Java.
Время и дата в Java.
Библиотека Lombok.
Основные паттерны проектирования.
Reflection или как сломать ООП.
Собеседование один на один с преподавателем. Реализация своего проекта
Реализация своего проекта.
Собеседование один на один с преподавателем.
Начинаем проект: maven / github / JUnit / непрерывная интеграция
Знакомство
Обзор сайтов и литературы по Java и ООП
Обзор фреймворков, библиотек, инструментов платформы java. Возможности Java
Придумываем проекты: что мы можем сделать на этом курсе
Автоматическая сборка. Maven
Системы контроля версий. Git. Github: создание репозитория, использование средств - issues / milestones
Методологии разработки. Гибкие методологии, каскадная модель. Экстремальное программирование, основные принципы
Разработка через тестирование. JUnit 4
Системы непрерывной интеграции. Travis
Основные этапы разработки, обсуждение. Ядро системы, бизнес-логика, представление. Шаблон MVC
Работа с БД (MySQL, PostgreSQL): JDBC. Hibernate
Обсуждение проектов
Распределение по проектам, командная работа
JPA, Hibernate, подключение и настройка.
Обзор: PostgreSQL, MySQL, HSQLDB, SQLite
Введение в Hibernate (повтор), HQL, Entities lifecycle
Connection Pool в Hibernate
JDBC, Hibernate и Stored Procedures - когда что полезно?
Планы разработки проектов
Веб-Контейнер Tomcat. Сервлеты. JSP. Работа с Датой
Java 9 - что нового?
Date, Calendar, DateFormat (Format). Работа с датой и временем в Java 8.
Сервера приложений. Установка и настройка Tomcat
Создание простого веб-приложения на Java.
Servlets (HttpServlet, GET/POST/PUT/DELETE запросы), web.xml, добавление своих сервлетов
JSP (базовые теги, Jasper), JSTL
Обзор: Javascript, DOM, HTML, CSS
Spring: IoC, Dependency Injection, конфигурирование XML, JavaConfig
Hibernate: ManyToOne, OneToMany, ManyToMany
Spring Project: что в него входит и какие возможности он предоставляет.
Inversion of Control, Dependency Injection.
Spring IoC, ApplicationContext, конфигурирование через XML и аннотации. Beans.
Autowire, как это работает (dependency resolution, beans scope).
Spring MVC. Основная структура приложения (dispatcher servlet, view resolver, controllers)
Настройка DispatcherServlet .
Контроллеры и их методы (пути в веб-приложении)
Generics, Collections, Time complexity
Повторение generics, wildcards
Сложность алгоритмов, оценка алгоритмов
Коллекции: основные интерфейсы, старые коллекции и новый фреймворк.
Реализация и оценка сложности ArrayList, LinkedList, HashMap
Обзор LinkedHashMap, TreeMap, HashSet, LinkedHashSet, TreeSet
Итераторы, ConcurrentModificationException
Архитектура веб-приложения со Spring, шаблоны проектирования
Архитектура веб-приложения на Spring
DAO, Entities. Spring Persistence
Spring Service, как с ними работать.
MVC, MVP, MVVM и их различия
Шаблоны проектирования. Основы
Фабрика, абстрактная фабрика, прототип и синглтон
Обзор поведенческих, структурных и порождающих шаблонов проектирования
Многопоточность, основы и шаблоны
Многопоточность: основные проблемы
Языковые средства для реализации многопоточности
Стандартные практики для реализации потокобезопасности классов
Synchronized collections и concurrent collections
Встроенные классы JDK для работы с многопоточностью
Обзор шаблонов проектирования для многопоточных приложений
Spring Security - аутентификация и авторизация. jQuery, REST controllers, Ajax
Создание окна авторизации. Spring Security
REST controllers
Работа с JS, Jquery, Ajax
Механизм тем в Spring
Работа над проектами
Тестирование Spring. Работа над проектами
Обзор методов тестирования Spring- приложений
Разработка веб-сервисов
Работа над проектами
Модуль 1. Введение в Java
История Java
Из чего состоит JAVA (JDK, JRE и JVM)
Компиляция
Старт приложения
Модуль 2. Базовые конструкции
Примитивные типы данных
Операции над примитивами
Переменные
Константы
Методы
Перегрузка методов
Конструкции управления
Модуль 3. Введение в объектно-ориентированное программирование
Понятие ООП
Класс (поля и методы)
Переменные класса и локальные переменные (область видимости)
Объект (создание объекта)
Конструктор (использование нескольких конструкторов, конструктор по умолчанию)
Ключевое слово this
Статические поля и методы класса
Getter и setter
Что такое ссылка на объект
Что такое null
Передача в метод примитивного типа и объекта (разница)
Хранение объектов и примитивов в памяти Java
Heap vs Stack
Сборка мусора
Сравнение объектов (равенство ссылок, эквивалентность объектов)
Класс Object
Методы класса Object
Метод equals() и hashCode() у класса Object
Обертки для примитивных типов
Основной функционал оберток
Boxing и unboxing
Сравнение объектов с примитивами
Модуль 4. Основные принципы объектно-ориентированное программирования
Инкапсуляция
Модификаторы доступы
Полиморфизм
Интерфейс
Интерфейс vs Класс
Множественная реализация интерфейса - Наследование интерфейсов
Абстракция
Абстрактный класс
Композиция и агрегация
Сопряженность и связанность
Типы классов
Модуль 5. Обобщения
Введение в обобщения
Создание обобщенных методов
Создание обобщенных классов
Создание обобщенных интерфейсов
Модуль 6. Коллекции
Структуры данных и алгоритмы
Массив
Связанный список
Стек и очередь
Бинарное дерево
Хеш-таблица
Интерфейсы Collection, List, Set
Интерфейсы Queue и Dequeue
Классы ArrayList и LinkedList
Классы HashSet и TreeSet
Класс PriorityQueue
Интерфейс Map
Классы HashMap и TreeMap
Модуль 7. Обработка исключительных ситуаций
Иерархия ошибок и исключений
Checkable и Unchecable exceptions
Обработка исключительных ситуаций с помощью try, catch, finally
Обработка исключительных ситуаций с помощью try-with-resources
Проброс исключений, ключевые слова throw и throws
Создание собственных исключений
Модуль 8. Потоки ввода-вывода
Байтовые и символьные потоки
Разбор пакета java.io.
Абстрактные классы InputStream и OutputStream и их реализации
Сериализация и десериализация
Абстрактные классы Writer и Reader и их реализации
Модуль 9. Работа с сетью
Протоколы TCP, UDP, HTTP
Клиент-серверная модель
Введение в сокеты
Создание серверной части приложения
Создание клиентской части приложения
Модуль 10. Многопоточность
Создание потока, класс Thread и интерфейс Runable
Интерейс Callable
Примитивы многопоточности
Методы класса Object: wait, notify, notifyAll
Синхронизированные методы и синхронизированные блоки
Дедлоки
Прерывание потока
Барьеры и семофоры
Высокоуровневые средства синхронизации: интерфейс Lock, потокобезопасные коллекции, AtomicInteger, AtomicBoolean
Ключевое слово volatile
Java memory model
Модуль 11. Reflection API
Анализ исходного кода с помощью Reflection API
Изменение модификаторов доступа методов и полей
Динамический вызов методов
Динамическое создание объектов
Создание собственных аннотаций