ТОП-30 лучших курсов Java программирования: обучение онлайн, бесплатные и платные в 2023 году

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

На курсах Java-программирования можно научиться:

  1. Основам языка Java
  2. Разработке приложений с использованием Java
  3. Работе с фреймворками и библиотеками, такими как Spring, Hibernate или JavaFX
  4. Решению практических задач и проектов в рамках Java-программирования
  5. Основам ООП (объектно-ориентированного программирования) и принципам разработки программного обеспечения
  6. Работе с базами данных, такими как Oracle, MySQL или PostgreSQL
  7. Работе с системами управления версиями, такими как Git
  8. Технологиям веб-разработки, таким как HTML, CSS, JavaScript или JSP.
Лучшие курсы:

1 место. Курс «Java-разработчик от Skillbox»

Цена: Рассрочка на 12 месяцев — 6 268 ₽ / мес

Ссылка на сайт: https://skillbox.ru/course/java/

Вы научитесь писать код и создавать сайты на самом популярном языке программирования. Разработаете блог, добавите сильный проект в портфолио и станете Java-программистом, которому рады в любой студии разработки.

  • Длительность — 6 месяцев
  • Проект для реального клиента
  • Обучение на практике
  • Доступ к курсу навсегда.
Перейти на официальный сайт →

Кому подойдёт этот курс:

  • Тем, кто хочет стать программистом
    Вы познакомитесь с инструментами разработчика, научитесь писать код на Java с нуля и программировать веб-приложения для различных устройств. Создадите свои первые проекты и сможете начать карьеру Java-разработчика уровня Junior.
  • Junior-разработчикам на Java
    Вы изучите новые возможности Java, научитесь применять принципы ООП и поймёте, как протестировать и оптимизировать свой и чужой код. Поработаете с реальным заказчиком, дополните портфолио новыми работами и сможете брать более сложные и дорогие задачи.

Чему вы научитесь:

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

Как пользоваться платформой:

  1. Изучаете тему
    В курсе — практические видеоуроки.
  2. Выполняете задания
    В том темпе, в котором вам удобно.
  3. Работаете с преподавателем
    Закрепляете знания и исправляете ошибки.
  4. Защищаете дипломную работу
    И дополняете ею своё портфолио.

Программа:

Вас ждут онлайн-лекции и практические задания на основе реальных кейсов.
25 тематических модулей, 209 онлайн-уроков.

  1. Вводный модуль
    Вы узнаете, где применяется язык Java и как выглядит программный код. Установите среду разработки и напишете первое консольное приложение.
  2. Синтаксис языка
    Познакомитесь с основными переменными в языке Java, научитесь использовать операторы сравнения и циклы.
  3. Система контроля версий Git
    Научитесь работать с Git: сможете сравнивать, менять и откатывать разные версии кода, научитесь создавать ветки и работать над одним проектом в команде.
  4. Объекты и классы. Часть 1. Методы и классы
    Узнаете, что такое объекты, классы и методы в Java. Поймёте, как они работают, научитесь создавать их и использовать.
  5. Объекты и классы. Часть 2. Инкапсуляция
    Познакомитесь с принципом инкапсуляции. Узнаете о POJO-классах, геттерах и сеттерах, иммутабельности и копировании объектов.
  6. Объекты и классы. Часть 3. Static, константы и enum
    Узнаете, как работают методы и переменные в программном коде. Научитесь создавать константы и поймёте, для чего они нужны.
  7. Примитивы
    Поймёте, какими бывают примитивы, чем они схожи с объектами и чем от них отличаются.
  8. Числа и даты
    Познакомитесь с различными операциями, которые можно производить над числами: арифметическими, операциями с присвоением, инкрементом и декрементом, а также операциями сравнения.
  9. Строки
    Научитесь задавать строки и проверять их длину. Узнаете, как сравнивать строки между собой и объединять несколько в одну.
  10. Массивы и коллекции
    Научитесь работать с массивами и их элементами. Сможете искать элементы с помощью HashMap и TreeMap.
  11. Наследование и полиморфизм
    Узнаете, как наследовать классы в Java, и научитесь работать с интерфейсами Comparable, Comparator, Map и Set.
  12. Особенности ООП в Java
    Изучите объектно-ориентированное программирование в Java и новые методы разработки. Познакомитесь с системой сборки и репозиторием Maven.
  13. Исключения, отладка, тестирование и логирование
    Вы узнаете, как возникают исключения и как их «поймать». Научитесь тестировать и отлаживать приложения, писать логи с информацией о приложениях.
  14. Работа с файлами и сетью
    Поймёте, как читать файлы с помощью FileInputStream, BufferedReader и класса Научитесь работать с файлами типа HTML и JSON.
  15. Работа с MySQL в Java
    Научитесь работать с базой данных MySQL, изменять данные и обращаться к ней с различными запросами.
  16. Многопоточность
    Узнаете, что такое многопоточность и как работать с ней в интерфейсе Runnable. Поймёте, как настроить взаимодействие потоков, научитесь блокировать, приостанавливать и прерывать потоки данных.
  17. Протокол HTTP
    Познакомитесь с протоколом HTTP, изучите заголовки, тело запроса и ответа. Научитесь работать с PUT, DELETE, OPTIONS, GET- и POST-запросами.
  18. Разработка веб-приложений
    Разработаете первое приложение на Spring Boot с созданием контроллера и подключением к базе данных.
  19. Нереляционные базы данных и очереди
    Познакомитесь с Redis и научитесь структурам данных. Изучите возможности и агрегацию данных в MongoDB.
  20. Производительность и оптимизация
    Узнаете, какие ресурсы нужно экономить для оптимизации приложения. Изучите два способа облегчения приложений и научитесь индексировать и оптимизировать запросы.
  21. Разработка desktop-приложений
    Научитесь разрабатывать удобные и функциональные приложения для рабочего стола.
  22. Алгоритмы
    Узнаете, зачем нужны алгоритмы, и научитесь работать с алгоритмами бинарного поиска, сортировки, поиска подстроки и другими.
  23. Структуры данных
    Изучите хеш-таблицы, очередь и стек, связанные таблицы, бинарное и суффиксное дерево.
  24. Распределённые хранилища и вычисления
    Вы узнаете, что такое большие данные, и научитесь работать с файловой системой HDFS. Познакомитесь с фреймворком Spark и научитесь запускать в нём собственные приложения.
  25. Паттерны проектирования
    Узнаете, что такое паттерны проектирования, и познакомитесь с Singleton, Factory, Decorator, Adapter и другими паттернами.

Дипломный проект

Поисковый движок
Вы разработаете поисковый движок — аналог Яндекса. Он будет помогать посетителям сайта быстро находить нужную информацию с помощью поискового поля.

Спикеры

Даниил Пилипенко
Директор центра подбора IT-специалистов SymbioWay
Больше 50 выступлений на семинарах и конференциях. Более 10 лет работает в сфере Java-разработки. Руководил отделом разработки ПО в издательстве «Вокруг Света». Долгое время являлся ведущим разработчиком «Ютинет».

Михаил Овчинников
Ведущий инженер-программист в Badoo
Специалист в области разработки высоконагруженных систем и обработки больших данных. Докладчик крупнейших IT-конференций России. Более 15 лет опыта в IT — от стартапов до крупных компаний.

Ваше резюме после обучения:

Должность: Java-разработчик

Зарплата от: 80 000 ₽

Профессиональные навыки:

  • Разработка веб-приложений на Java
  • Разработка веб-приложений на фреймворке Spring
  • Тестирование и оптимизация кода, отлов исключений
  • Работа с системой контроля версий Git
  • Работа с MySQL
  • Работа с протоколом HTTP
  • Работа с Redis и MongoDB
  • Знание принципов ООП
  • Работа с файлами и сетью
  • Настройка многопоточности.

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

Подробнее о курсе Java программирования →

2 место. Курс «Java-разработчик с нуля от Нетология»

Цена: 84 600 ₽, возможна рассрочка

Ссылка на сайт: https://netology.ru/programs/java-developer

Научитесь программировать с нуля и получите возможность пройти собеседование в Альфа-Банке.
Соберите портфолио уже во время обучения и создайте собственный Google Диск.

  • Формат обучения: Вебинары, видеолекции, практические задания
  • Результат: Новая востребованная профессия, портфолио, контакты в IT-сообществе
  • Диплом о профессиональной переподготовке установленного образца.
Перейти на официальный сайт →

Java-разработчики делают так, чтобы программа работала правильно, быстро и надёжно.

На Java написаны Android-приложения, десктоп-приложения, игры, сайты, научные программы и программы для физических устройств. Программисты на Java занимаются созданием таких продуктов, как Tesla, Minecraft, IntelliJ, Deutsche Bank, Barclays и миллионов других. Java-разработчики проектируют и реализуют логику работы приложения.

Кому подойдёт курс:

  • Тем, кто хочет освоить программирование
    Освоите перспективную профессию, выйдете на новый уровень зарплаты, сможете работать в крупной компании.
  • IT-специалистам
    Если вы уже работаете в тестировании, поддержке или ведении проектов, то можете стать частью команды разработчиков и претендовать на более удобный график и высокую зарплату.
  • Frontend-разработчикам
    Расширите свои навыки или перейдёте в новое направление. Повысите свой уровень и сможете брать задачи для полного стека разработки веб-приложений.

На курсе вы научитесь:

  • Программировать на Java
    Изучите основы программирования, синтаксис Java, объектно-ориентированное программирование
  • Разрабатывать веб-приложения
    Узнаете основы клиент-серверного взаимодействия, вёрстку на HTML и CSS, освоите работу с базами данных и SQL
  • Использовать фреймворки
    Освоите шаблоны проектирования и фреймворк Spring, который используют 4 из 10 Java-программистов.

Вы выполните 3 масштабных работающих проекта, которые можно смело показывать работодателям и заказчикам:

  1. Сетевой чат для обмена сообщениями
    Создадите сервер чата, которое будет подключать пользователей к чату, и клиентскую часть приложения, которая будет отправлять и получать новые сообщения
  2. Сервис для перевода денег с карты на карту
    Подключите готовую клиентскую часть приложения к созданной вами серверной части, самостоятельно разработав все функции приложения
  3. Облачное хранилище
    Разработаете веб-приложение, которое позволит пользователям загружать и отображать файлы в своем облачном хранилище — всё как в Google Диске.

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

Вас ждёт 67 часов теории и 323 часа практики

  1. Основы Java
    В этом блоке начнём плотную работу с Java. В качестве домашнего задания вы создадите консольный планировщик личных дел или менеджер задач, который будет уметь: добавлять новую задачу в календарь, оповещать, сколько до неё осталось дней, показывать список дел, сортировать дела по важности, искать самое длительное задание.
  • Введение в программирование
  • Структура программы на Java
  • Условные операторы и циклы
  • Типы данных: примитивы и объекты
  • Одномерные и многомерные массивы
  • Объектно-ориентированное программирование
  • Структура класса
  • Модификаторы доступа, наследование
  • Полиморфизм
  • Абстракции и интерфейсы
  • Исключения, Stacktrace
  • Generics в коллекциях и методах
  • Коллекции List
  • Коллекции Queue
  • Коллекции HashMap и HashSet
  • Коллекции TreeMap и TreeSet
  1. Алгоритмы и структуры данных
    Научитесь проектировать быстрые алгоритмы, применять стандартные структуры данных, а главное — мыслить, как программист. Знание алгоритмов может повысить ваши шансы на трудоустройство, так как в большинстве компаний задачи на алгоритмы — неотъемлемая часть собеседования и тестового задания.
  • Введение в алгоритмическую сложность. Бинпоиск
  • Динамическое программирование и «жадность»
  • Сортировки
  • Динамический массив. Списки. Деки
  • Пирамиды и деревья поиска
  • Хеширование
  • Графы
  • Орграфы
  1. Git — система контроля версий
    Этот блок тоже очень важен, ведь работодатели часто просят показать примеры вашего кода именно на сервисе GitHub. За 3 занятия вы научитесь работать с системой Git и с GitHub, сможете публиковать свои домашние работы и уже в процессе обучения сформируете первое портфолио.
  • Внедрение системы контроля версий
  • История работы и ветки
  • Командная работа
  1. Java Core
    В этом блоке вы продолжите изучение Java. Java Core означает фундаментальные основы языка, которых достаточно для дальнейшей стажировки или работы на junior-специальности.
    Вы изучите работу с автотестами, что поможет вам проверять свои проекты на ошибки. Начнёте работать с сетями, изучите сетевые протоколы UPD, TCP/HTTP, OSI. Сможете читать файлы разных форматов: txt, json, xml. Научитесь разрабатывать клиент-серверные приложения.
    Будете работать над первым крупным проектом: чатботом для Telegram.
  • Лямбда-выражения и функциональные интерфейсы
  • Stream API. Потоки, повторные вызовы, основные методы
  • Потоки ввода-вывода. Работа с файлами. Сериализация
  • Сборка проектов. Maven и Gradle
  • Работа с файлами CSV, XML, JSON
  • Тестирование кода и Unit-тесты
  • Мокирование вызовов, Mock
  • Основы работы с сетью. Модель OSI, TCP, UDP
  • Протокол HTTP. Вызов удалённых серверов
  • Организация памяти, сборщики мусора, VisualVM.
  1. Шаблоны проектирования
    Основная задача программиста — решать задачи. За всю историю разработки задач решено уже немало, лучшие практики сохраняют, анализируют и объясняют в виде шаблонов проектирования. Такие шаблоны позволяют быстрее решать задачи, используя лучшие решения, а также быстрее понимать чужой код. Это пригодится вам во время работы в крупной команде разработки.
    В этом блоке вы узнаете о разных шаблонах проектирования, научитесь их использовать и писать красивый и понятный код.
  • Порождающие шаблоны: Builder, Singleton, Factory Method, Abstract Factory, Prototype
  • Структурные шаблоны: Proxy, Decorator, Adapter
  • Поведенческие шаблоны: Command, Iterator, Observer, Chain of Responsibility
  • Свойства хорошего кода и принцип SOLID
  1. Многопоточное и функциональное программирование
    В этом блоке вы изучите продвинутые техники программирования, которые позволяют оптимизировать и ускорить работу программы. Освоите техники параллельного программирования, функционального программирования, синхронный и асинхронный вызов (blocking and non-blocking IO).
    Проработаете ещё один крупный проект — сканирование сайта «КиноПоиск» для сбора базы данных фильмов.
  • Многопоточное (параллельное) программирование. Создание и запуск потоков
  • Работа с синхронизацией
  • Переменные многопоточной программы
  • Коллекции для параллельной (конкурирующей) работы
  • Клиент-серверное взаимодействие. Blocking и Non-Blocking IO
  • Функциональное программирование
  • Методология разработки. TDD, DDD
  1. Web, Spring & Spring MVC
    Spring — самый популярный фреймворк для работы с Java. Его изучение на курсе будет идти постепенно.
    Это первый из трёх модулей, посвященных изучению Spring. Здесь вы научитесь работать с Spring MVC, контейнерами Servlet, протоколами HTTP и REST API.
  • HTTP и современный Web
  • Формы и форматы передачи данных
  • JavaScript, AJAX, REST, JSON, CORS
  • Servlets Containers
  • Dependency Lookup, Dependency Injection, IoC, Application Context
  • Spring Web MVC
  1. Spring Boot, deployment и инфраструктура
    В этом блоке вы продолжите углублять свои знания о работе с фреймворком Spring.
    Вы узнаете, из чего состоит Spring Boot и как с ним работать, научитесь разворачивать Spring Boot приложения в Linux, а также упаковывать Spring Boot приложения в Docker-контейнеры.
  • Spring Boot: назначение и внутреннее устройство
  • REST
  • Виртуализация и основы работы
  • Разворачивание Spring Boot приложений
  • Основы работы с Docker
  • TestContainers, Kubernetes, облака
  1. Spring: хранение данных и организация безопасности
    Это последний из трёх модулей, посвящённых изучению фреймворка Spring.
    Вы научитесь работать с реляционными базами данных, освоите JPA и Spring Data JPA и подключите в свои приложения Spring Security.
  • Основные работы: DDL, DML
  • Вложенные подзапросы, JOIN’ы, агрегирующие запросы
  • JDBC API, JdbcTemplate, NamedParametersJdbcTemplate
  • ORM, Hibernate, Entity Lifecycle, Embedding, Relationships
  • ORM, Hibernate, Entity Lifecycle, Embedding, Relationships
  • Spring JPA Repositories, JPQL
  • Безопасность в веб-приложениях, Spring Security
  • Аутентификация и авторизация
  1. Карьера в Java-разработке
    Научитесь формулировать карьерные цели, создавать резюме, собирать портфолио и готовиться к собеседованиям. Создадите пошаговый план поиска работы, запишите видеопрезентацию и пройдёте карьерную консультацию с HR-экспертом.
  • Пошаговый план поиска работы
  • Анализ рынка труда
  • Резюме, портфолио java-разработчика и сопроводительное письмо
  • Собеседование: как подготовиться и пройти
  • Статистика и измерение эффективности поиска работы
  • Индивидуальная карьерная консультация
  1. Английский язык для начинающих разработчиков
    В этом модуле вас ждут десять видеолекций, которые помогут начать разговаривать на английском языке по темам программирования.
  • Лексика, без которой не обойтись программисту
  • Как вести переписку на английском
  • Чтение документации и анализ требований
  • Программирование
  • Тестирование ПО
  • Стрессовые ситуации
  • Устранение неполадок
  • Работа и роли в команде
  • Как поддержать любую беседу на английском
  • Собрания, презентации
  1. Дипломный проект: облачное хранилище
    Вы разработаете веб-приложение, которое позволит пользователям загружать и отображать файлы в своем облачном хранилище — всё как в Google Диске.
    У вас будет готовая клиентская часть приложения (frontend), которую вы подключите к созданной вами серверной части (backend). При создании серверной части вы самостоятельно разработаете архитектуру и функциональность приложения, а также протестируете его работоспособность.

Как проходит обучение:

Занятия
Вы учитесь в своём темпе. Мы подготовили гибкие форматы обучения: видеолекции, статьи, вебинары, индивидуальные и групповые задания

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

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

Преподаватели — специалисты ведущих компаний

Павел Дерендяев
Автор программы, руководитель Java-разработчиков в Альфа-Банке

Максим Воронцов
Ведущий разработчик в Scalable Capital

Евгений Грязнов
Бэкенд-разработчик на Java в MERA

Константин Виролайнен
Разработчик програмного обеспечения в ALM Works

Сергей Сердюк
Java backend developer в Яндекс.Афиша

Филипп Воронов
Руководитель группы поисковой базы в Mail.ru Group

Анна Юшина
Java-разработчик в EPAM Systems

Иван Бочаров
Ведущий IT-инженер в Сбербанке

Анатолий Корсаков
Ведущий Java-разработчик в RegTek (Latvia).

Что вы получите в результате обучения:

Достигнутые результаты:

  • Разработан сетевой чат
  • Создан backend для сервиса перевода денег
  • Разработано облачное хранилище

Ключевые навыки:

  • Программирование на Java
  • Разработка веб-приложений
  • Автоматизированное тестирование приложений
  • Работа с базами данных
  • Написание запросов на SQL
  • Работа с фреймворком Spring
  • Создание Docker-контейнера
  • Работа с облаками
  • Использование шаблонов проектирования
  • Использование продвинутых техник программирования.

Отзывы выпускников:

Евгений Шек
Космический центр «Южный», Ведущий специалист отдела информатизации

«Занимался самостоятельным изучением аспектов разработки, параллельно пытался реализовать собственное веб-приложение, но код получался неподдерживаемым. Поступил в Нетологию с целью заполнить пробелы в знаниях. В результате познакомился с различными способами грамотной организации кода, а также усвоил тонкости разработки.»

Оксана Мирная
Грааль, Экономист-бухгалтер

«Моё мнение о курсе положительное. Не знаю точно, каким должно быть онлайн-обучение, но при личном стремлении к самостоятельному освоению материала этот курс очень даже подходящий. Преподаватели толковые,»

Подробнее о курсе Java программирования →

3 место. Курс «Java-разработчик от Хекслет»

Цена: 124 000 ₽ или рассрочка на 18 месяцев — от 7 780 ₽ / мес

Ссылка на сайт: https://ru.hexlet.io/programs/java

С нуля до разработчика за 10 месяцев. Возвращаем деньги, если не удалось найти работу.

Перейти на официальный сайт →

Гарантированное трудоустройство?
Мы не можем обещать гарантированную работу, но наш процесс обучения так спроектирован, что его невозможно «отсидеть» или «прослушать». Ваше обучение будет бесплатным, если вы не найдете работу после Хекслета.

  1. Практика
    Практика в тренажере + непрерывные домашние задания. 5 реальных проектов в портфолио. Разбор задач и вопросов с собеседований
  2. Глубокая проработка тем
    Мы не сторонники подхода «повтори за учителем». На Хекслете решение задач идет только через реальное понимание
  3. Наставники
    Наставники помогают скорректировать траекторию обучения и внимательно проверяют все домашние задания. Вам не будет стыдно за результат
  4. Стажировка
    Участие в проектах с реальными пользователями. Полный цикл разработки в открытых проектах (исходный код доступен на Github)

Кому подойдёт обучение:

  • Новичкам, которые хотят освоить профессию с нуля
  • Тем, кто уже пробовал учиться самостоятельно, но чувствует потребность в наставнике
  • Тем, кто пробовал учиться на сторонних курсах, но до сих пор испытывает сложности в самостоятельном написании кода.

Учим необходимому

  1. Java
    Главный язык для «энтерпрайза»: банки, военные, медицина, страхование. Надежный и эффективный
  2. (Микро-) Сервисы
    Когда приложения становятся большими, их разбивают на множество маленьких, взаимодействующих друг с другом по сети
  3. Фреймворк (Spring Boot)
    Задает архитектуру проекта. Решает типовые задачи за программиста. Значительно сокращает количество кода и автоматизирует рутину
  4. Алгоритмы и структуры данных
    Любая программа — это последовательность шагов, выполняемых над данными. Способ организации данных сильно влияет на удобство работы
  5. Базы данных
    База данных – сердце любого проекта, они хранят данные и позволяют управлять ими с помощью SQL
  6. Качество
    Автоматизированные тесты — неотъемлемая часть профессиональной разработки
  7. Архитектура
    Создание простого для анализа и изменения кода требует хорошего понимания принципов его организации
  8. Инфраструктура
    Программирование — это не только код, но и сопутствующие инструменты: командная строка, Gradle, Git.

Очень много практики

  • Домашние задания с моментальной автопроверкой. Выполняйте их, когда вам удобно
  • 5 проектов для портфолио на GitHub – по одному для каждого учебного модуля. Начинаем с простого и погружаемся в разработку для реального бизнеса
  • 11 Open Source проектов Хекслета — научитесь работать с чужим кодом, оформлять пулреквесты. Это ваш опыт реального продакшна и +100 очков в карму программиста
  • 150 тестовых заданий от наших партнеров – работайте с базой типовых задач из настоящих проектов. Это придаст уверенности на собеседованиях.

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

Валентин Исипчук
Не окончил универ по специальности «Программная инженерия» и пошёл со всем разбираться сам. Разобрался. И вот уже более 3 лет работает Java/Kotlin-разработчиком в небольшом, но интересном стартапе

Егор Яковлев
Выпускник факультета радиотехники и кибернетики МФТИ. Еще студентом прошел стажировку в Luxoft и устроился на свою первую работу java-разработчиком. Сейчас кодит в одном из крупнейших банков России

Никита Гордеев
Java-разработчик со стажем. Работал как на «галерах» (аутсорс, аутстафф), так и в продуктовых компаниях. Разрабатывал MVP большого проекта в крутой компании. На Хекслете успешно развивает менторские скиллы.

Отзывы об обучении доступны на сайте.

Подробнее о курсе Java программирования →

Курс «Java-разработчик от SkillFactory»

Цена: Рассрочка на 24 месяца — от 5 478 ₽ / мес

Ссылка на сайт: https://skillfactory.ru/java-razrabotchik

  • Формат – онлайн
  • Длительность – 14 месяцев
  • Уровень – с нуля.
Перейти на официальный сайт →

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

Курс подойдет вам, если вы:

  • Изучали Java самостоятельно
    Вы сможете систематизировать свои знания, с углубленной подготовкой возобновить практику программирования на Java, прокачаться в технологиях языка и ускорить профессиональное развитие.
  • Никогда не программировали
    Вы сможете приступить к обучению с нуля — без технического образования и опыта, освоить азы профессии, а уже через 7 месяцев выйти на рынок труда junior-разработчиком Java и обрести новое окружение.
  • Знаете другой язык программирования
    Вы изучите новый язык и сможете применять его в рабочих и личных проектах. Расширите компетенции еще одним профилем и решите, подходит ли вам эта специализация.

Продвинутый курс: с нуля до крепкого Junior Java-разработчика

7 месяцев: Junior
Через 7 месяцев обучения на курсе вы станете junior-разработчиком: будете писать код на Java, использовать принципы ООП, освоите базы данных и SQL-запросы, изучите с нуля алгоритмы и структуры данных, поработаете с Git.
Трудоустройство
На этом этапе вы сможете выйти на рынок труда и найти первую работу. Эксперты нашего Центра карьеры помогут подобрать вакансии, составить резюме и подготовиться к собеседованиям.
+7 месяцев: дополнительные навыки
Вы накопите опыт на новой работе и параллельно освоите на курсе фреймворк Spring, систему сборки Gradle, Tomcat, написание тестов, применение DevOps-инструментов и основы Linux. Все полученные теоретические и практические знания вы примените в ходе финального проекта.
Повышение
С продвинутыми навыками и опытом вы будете повышать свой уровень и сможете претендовать на middle-позицию. Вы по-прежнему будете пользоваться поддержкой нашего Центра карьеры.

Программа обучения:

Будет много практики: тренажеры, упражнения, задачи с проверкой кода, лайвкодинг, онлайн-митапы и видеоуроки, мини-проекты и большие кейсы в портфолио

  1. Программирование на Java
    Вы научитесь:
    — Понимать основные IT-термины
    — Разбираться в типах данных и операторах
    — Работать в среде разработки IntelliJ IDEA
    — Создавать программы и имплементировать решения
    — Писать код на Java, применяя принципы и методы ООП
    — Использовать коллекции и библиотеки Java, работать в многопоточной среде
    — Загружать свой код на GitHub
  2. SQL и работа с базами данных
    Вы научитесь:
    — Создавать и наполнять базы данных
    — Работать с операторами и функциями в БД
    — Манипулировать структурой таблицы и данными в ней
    — Писать сложные SQL-запросы и вызывать хранимые процедуры
    — Пользоваться Maven из командной строки и с помощью плагина в IDE
    — Работать с БД средствами JDBC
    — Изменять данные в БД средствами JDBC и MyBatis
  3. Алгоритмы и структуры данных
    Вы научитесь:
    — Оценивать время работы и затрачиваемую память программ
    — Работать со встроенными и самописными структурами данных
    — Решать задачи с использованием стека и очереди
    — Применять амортизационный анализ
  4. Виртуальная стажировка
    стажировка не имеет привязки ко времени
    Выгоды от стажировки:
    — Участие в стажировке без первых этапов отбора;
    — Опыт работы над реальным проектом в компании;
    — +1 проект в портфолио;
    — Опыт решения реальных задач и применения актуальных навыков;
    — Попадете в отдельную базу кандидатов на Junior-позиции.
  5. Backend-разработка на Java
    Вы научитесь:
    — Собирать и запускать проекты с помощью Maven и Gradle
    — Проектировать приложение и проводить его декомпозицию
    — Понимать принципы построения архитектуры приложения
    — Подбирать подходящие паттерны для разных задач
    — Использовать Java Reflection API
    — Пользоваться Lombok
    — Применять генератор кода MapStruct
    — Управлять и работать с Tomcat
    — Использовать технологию JSP
  6. Spring Framework
    Вы научитесь:
    — Подключаться к API
    — Проектировать REST-сервис для задачи
    — Создавать веб-приложения на фреймворке Spring
    — Быстро начинать проект, используя SpringBoot
    — Понимать полезность и применимость паттерна MVC
    — Встраивать в проект Swagger и применять его
    — Использовать Hibernate для доступа к БД
    — Тестировать приложения (писать юнит-тесты)
    — Видеть разницу между юнит- и интеграционными тестами
    — Применять Mockito
  7. Frontend для backend-разработчика
    Вы научитесь:
    — Использовать HTML и создавать веб-страницу
    — Применять таблицы стилей CSS
  8. Основы системного администрирования
    Вы научитесь работать с Ubuntu Linux на уровне пользователя и писать команды
  9. Основы DevOps
    Вы научитесь:
    — Применять мощный инструмент Docker
    — Современным способом доставлять свой код в продакшн, ориентируясь на устройство этого процесса в топовых IT-компаниях
    — Использовать контейнеризацию
  10. Индивидуальный проект
    Вы научитесь самостоятельно выполнять рабочий проект по реализации собственного приложения.

Преподаватели и менторы:

  • Сергей Бойченко
    Senior Java Developer в Skyeng
    Ведущий преподаватель и эксперт программы
  • Егор Воронянский
    Middle Java Developer в BPC Banking Technologies
    Ментор по теме backend-разработки
  • Владлена Гунина
    Scala/Java Developer в МТС
    Опыт более 5 лет, разрабатывала системы страхования и realtime-обработки событий
  • Никита Катышев
    Java-разработчик на фрилансе
    Опыт более 2 лет, включая frontend- и Android-разработку
  • Анна Агабекян
    JavaScript-разработчик в EPAM
    Опыт более 3 лет, стажировалась в EPAM Systems в качестве frontend-разработчика, преподает на курсах по веб-разработке, Python и Data Science
  • Николай Мищенков
    DevOps Engineer в TechPlanet.pro
    Опыт в DevOps более 2 лет, в системном и сетевом администрировании — более 7 лет
  • Геннадий Тумский
    Инженер-программист в «Радар ММС»
    Занимался разработкой и поддержкой сервиса для подключения общих стилей, унифицированных пользовательских интерфейсов и распределенных систем.

Что будет на курсе?

За 14 месяцев онлайн-обучения по 10−12 часов в неделю вы легко освоите востребованные навыки backend-разработки и соберете портфолио проектов.

Уроки по Java и онлайн-митапы
50 модулей с теорией, скринкастами, тестами и заданиями, чтобы вы получили полезные знания и отработали навыки на практике вместе с опытным наставником — ментором
Тренажеры
20+ тренажеров каждую неделю, чтобы закрепить синтаксис языка программирования Java и довести навыки владения Java Core до автоматизма
Проекты в портфолио
3 вида кейсов: мини-проекты по изучаемым темам, большие сквозные проекты, индивидуальный финальный проект с обратной связью
Менторинг и поддержка
Менторы проверяют задания, дают комментарии к работам, отвечают на вопросы, координаторы и 2 линии поддержки помогают во всем, общение в комьюнити сокурсников мотивирует и поддерживает.


Пример вашего резюме после курса:

Java-разработчик
Зарплата: от 100 000 ₽

Я уверенно могу:

  • Решать задачи любой сложности с помощью алгоритмов
  • Программировать на Java и применять Сollections, Exceptions, Generics, основы Multithreading
  • Писать серверную логику и настраивать взаимодействие с базами данных, писать SQL-запросы
  • Использовать Spring, SpringBoot
  • Реализовывать REST-сервисы с различными функциями
  • Разворачивать на домене и поддерживать сайт
  • Искать и исправлять ошибки в коде (debugging)
  • Написать собственный движок сайта
  • Работать с Git, Gitflow
  • Использовать дополнительные фреймворки
  • Применять DevOps-инструменты
  • Тестировать приложения.

Отзывы:

Александр Чесноков
«Замечательно подобрано соотношение материала и практики, специалисты курса по Java всегда готовы прийти на помощь, вебинары проводятся в доступной форме.»

Наталья Карькова
«Понравилось, что много задач. Иногда приходилось подумать, чтобы их решить. Теория хорошо объяснена, много ссылок на дополнительные ресурсы.»

Подробнее о курсе Java программирования →

Курс «Java-разработка от GeekBrains»

Цена: Рассрочка до 36 месяцев — от 4 780 ₽ / мес

Ссылка на сайт: https://gb.ru/geek_university/java

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

  • 12 месяцев, 2 занятия в неделю
  • Диплом, 4 работы в портфолио
  • Трудоустройство после обучения.
Перейти на официальный сайт →

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

Кому подойдет курс:

  • Новичкам
    С нуля научитесь создавать законченные продукты на Java и сможете начать карьеру в IT.
  • Начинающим Java-разработчикам
    Добавите в портфолио мобильную игру, облачное хранилище и интернет-магазин и сможете расширить карьерные перспективы.
  • Разработчикам с опытом
    Систематизируете свои знания, освоите новый востребованный язык и сможете больше зарабатывать.

Выбирая обучение GeekBrains, вы попадаете в образовательную экосистему. Это практически единственная возможность освоить современную и востребованную специальность и получить уверенность в своём будущем.

Интерактивные вебинары и записи занятий
Вебинары проходят в Zoom: вы задаёте вопросы преподавателю, получаете ответы и общаетесь с однокурсниками. Каждый вебинар легко пересматривать в записи, даже если его пришлось пропустить.
Актуальная программа
Мы ежегодно обновляем программу обучения: проводим исследования и учитываем требования работодателей.
Практикующие преподаватели
Преподаватели работают в топовых технологических компаниях: ВТБ, Mail.ru Group, РТ Лабс (Ростелеком), АО «Российские космические системы» и других. Именно на их опыте строится постоянно обновляемая программа.
Публикуйте ваши проекты
Вы сможете потренироваться работать с удалёнными серверами и разворачивать проекты — для этого предоставим учебный доступ к инфраструктуре REG.RU. Доступ работает на нескольких уроках.
Ключ от продуктов JetBrains
Каждый студент получит промокод на использование коммерческих версий продуктов JetBrains в течение 4 месяцев бесплатно. Если этого времени не хватит и нужно продолжать учиться, мы выдадим новый код.
Доступ к сообществу GeekBrains
Вы найдёте полезные контакты и единомышленников в вашем городе, сможете делиться опытом в базе знаний GeekBrains. Будете посещать закрытые митапы, хакатоны и другие онлайн- и офлайн-мероприятия как слушатели и спикеры.

Наши студенты достигают успеха:

Иван Жадан
Старший разработчик в Альфа-Банке

‍ «Я окончил МАИ и работал в авиации. В какой-то момент понял, что мне не хватает навыков программирования, и начал искать курсы. Решил изучать Java, потому что это кроссплатформенный язык с большими возможностями.
Сейчас я старший разработчик Equation в Альфа-Банке. Наша команда совершенствует систему расчетов. Если конкретнее говорить о моих задачах, это написание и доработка кода, исправление ошибок ПО.»

Программа обучения:

Подготовительные курсы

  1. Видеокурс «Как учиться эффективно»
    Видеокурс от методистов GeekUniversity. Наши методисты подготовили для вас видеокурс о том, как эффективно учится и ставить цели обучения.
  • Особенности обучения в Geek University
  • Почему тяжело учиться?
  • Инструменты для самообразования
  • Учимся от компетенций
  • Особенности обучения взрослых
  • Постановка целей по SMART
  • Как формулировать образовательный запрос
  1. Java — быстрый старт
    Видеокурс познакомит вас с одним из самых популярных, красивых, широко применяемых, надёжных языков программирования – Java.
  • Знакомство с языком Java
  • Переменные, типы данных, ветвления
  • Циклы; игра «Угадай число»
  • Методы
  • Завершаем разработку игры «Угадай число»
  • Разработка игры «Поймай каплю». Часть 1
  • Разработка игры «Поймай каплю». Часть 2
  • Разработка игры «Поймай каплю». Часть 3
  • Итог
  1. Основы программирования (видеокурс)
  • Программа, переменные и типы данных
  • Блок-схемы и ветвления
  • Циклы
  • Функции
  • Массивы.

Сетевой чат
В первой четверти вы пройдёте полный курс Java Core и рассмотрите исключения, коллекции, сокеты, потоки ввода/вывода, обобщения, рефлексию, аннотации и другие. Научитесь работать с многопоточностью и основами тестирования.

  • Введение
  • Основные конструкции
  • Практика
  • Крестики-нолики в процедурном стиле
  • Введение в ООП
  • Продвинутое ООП
  • Практика ООП и работа со строками
  • Создаем приложение с графическим интерфейсом
  • Объектно-ориентированное программирование Java
  • Исключения
  • Коллекции
  • Продвинутые вопросы создания графического интерфейса
  • Многопоточность
  • Работа с сетью
  • Написание сетевого чата
  • Обобщения
  • Базы данных
  • Средства ввода-вывода
  • Многопоточность
  • Обзор средств разработки
  • Reflection API и аннотации
  • Подготовка к собеседованию
  • Code Review
  • Проект
    Вы напишете клиент-серверное приложение — сетевой чат, позволяющий обмениваться текстовыми сообщениями, пересылать их, сохранять историю, проходить авторизацию и регистрацию.

Сетевое хранилище
Во второй четверти вы познакомитесь с инструментами и библиотеками, которые используются в разработке приложений на языке Java. Углубите свои знания баз данных. Научитесь работать с java.nio, Apache Maven, Netty, Stream API. Узнаете более подробно, что из себя представляют Java Virtual Machine и Garbage Collector.

  1. Базы данных. Базовый курс
  • Проектирование реляционной базы данных
  • SQL — команды DDL и DML
  • Объединение запросов, хранимые процедуры, триггеры, функции
  • Транзакции и оптимизация запросов
  • Масштабирование MySQL и NoSQL
  • Обзор движков MySQL, управление и обслуживание. Подготовка к собеседованию
  • Альтернативные СуБД и функциональные надстройки.
  1. Разработка сетевого хранилища на Java
  • Проектирование архитектуры
  • Java NIO
  • Фреймворк Netty
  • Java Stream API
  • Code Review
  • Сборщики проектов
  • JVM и GC.
  • Проект
    Вы создадите облачное хранилище — аналог DropBox и Google Drive. С помощью этого сервиса можно будет отправлять файлы на сервер, просматривать список файлов и скачивать нужные. Хранилище будет синхронизировать клиентский компьютер с сервером.

Интернет-магазин
В третьей четверти вы подготовитесь к серьёзной работе на языке Java. Вы освоите один из самых востребованных фреймворков для веб-разработки — Spring Framework. Познакомитесь со стеком технологий: Spring Context, Spring Boot, Hibernate, Java Persistence API, Spring Data JPA, Spring Security, Thymeleaf, Spring AOP, Spring Cloud, Spring Web Services и других.

  1. Основы веб-разработки на Spring Framework
  • Основы Java EE
  • Введение в Spring Spring MVC
  • Spring Boot
  • Java Persistence API.
  • Часть 1
  • Java Persistence API.
  • Часть 2
  • Spring Data
  • Thymeleaf Spring REST.
  • Часть 1 Spring
  • Часть 2
  • Spring Security
  • Практика.
  1. Разработка интернет-магазина на Spring Framework
  • Собираем базовое приложение
  • Полезные блоки
  • Spring Expression Language. AOP
  • Веб-инструментарий Spring Framework
  • Spring Cloud
  • Spring Integration
  • Тестирование в Spring
  • Практика.
  • Проект
    Вы напишете интернет-магазин на Spring Framework. В нем будут такие возможности: отображение списка товаров, фильтрация, работа с корзиной, оформление заказа, подключение платежной системы (PayPal), регистрация и аутентификация пользователей, редактирование товаров, панель администратора.

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

  1. Архитектуры и шаблоны проектирования на Java
  • Архитектура Java-приложений
  • Принципы и шаблоны проектирования
  • Порождающие шаблоны
  • Структурные паттерны
  • Поведенческие шаблоны
  • Архитектурные системные паттерны
  • Антипаттерны.
  1. Подготовка к собеседованию Java-разработчика
    Курс-тренинг собирает воедино все знания, полученные студентами Geek University, и готовит учеников к техническим собеседованиям в IT-компаниях. Позволяет шире анализировать свои знания, чем в процессе изучения языка: если раньше целью был практический результат, то при поступлении на работу важна эрудиция и нюансы. Какую версию языка использует компания? Какие возможности (фичи) это дает, а какие отсекает? Преподаватели помогают разобрать типичные вопросы и задачи с реальных собеседований, делятся профессиональным опытом.
  • Пробегаем по ООП
  • Алгоритмы и структуры данных
  • Java Core. Углубленное изучение
  • Базы данных
  • Hibernate
  • Java Web
  • Spring
  • Подготовка к собеседованию.
  1. Agile, Scrum. Теория
    Курс нацелен на получение базовых знаний, связанных с Agile — концепцией разработки ПО, которые можно применить в профессии на реальных проектах.
  • Введение в Agile
  • Scrum, Kanban
  • Работа в команде по Scrum
  • Подготовка к старту проекта
  • Практика. Подготовка к проекту.
  1. Командная разработка на Java
    Курс-практикум по командной разработке выпускного проекта. Учит совместной работе в Git и Bug-tracker. Позволяет выбрать роль в проекте, определить и «прокачать» свои сильные стороны в программировании. Курс дает практически стажерский опыт: как и в реальных IT-компаниях, еженедельно проводятся совещания и ревью кода.
  • Постановка цели проекта
  • Инструментарий команды для контроля процесса разработки
  • Совещание. Ревью кода 1
  • Совещание. Ревью кода 2
  • Совещание. Ревью кода 3
  • Совещание. Ревью кода 4
  • Совещание. Ревью кода 5
  • Сдача итогового проекта.
  • Проект
    Вы с нуля создадите бизнес-проект, используя изученные на факультете технологии и инструменты, Spring Framework. Вас ждет работа в команде: применение методологии Agile поможет прокачать soft skills.

Курсы вне четверти

  • Компьютерные сети
  • Операционные системы
  • Базовый курс
  • HTML/CSS. Видеокурс
  • Алгоритмы и структуры данных на Java
  • Базы данных. Основы.

Факультативы

  • Микросервисы и проектирование приложений
  • Мониторинг и управление Java приложениями
  • Delta Solutions
  • Современная разработка web-приложений на java
  • Современная разработка web-сервисов на java
  • Создание MVP на JHipster.

Вас будут обучать топовые эксперты:

  • Александр Фисунов
    Руководитель отдела разработки в НИИ
  • Иван Овчинников
    Начальник группы разработки АО «Российские Космические Системы»
  • Леонид Лебидько
    Senior Java Developer в РТ Лабс (Ростелеком)
  • Дмитрий Данилин
    Ведущий сетевой инженер АО «Кросс Технолоджис»
  • Михаил Левин
    Java-разработчик в Яндекс.

Ваше резюме после обучения:

Java developer
Ожидания по з/п
— 90 000 ₽
График работы
— предпочитаю удалённую работу
Образование
: GeekBrains, Факультет Java-разработки, 2022
Опыт работы
: GeekBrains, Проектная работа Июнь — Август 2022

Мои навыки:

  • Программирование на Java
  • Знание Java Enterprise Edition
  • Создание приложений с помощью Spring Framework
  • Базовые знания верстки: HTML, CSS, Bootstrap
  • Работа с базами данных SQL, PostgreSQL
  • Навыки автоматизированного тестирования кода
  • Знание принципов ООП и паттернов проектирования
  • Знание алгоритмов и структур данных.
Подробнее о курсе Java программирования →

Курс «Java Developer. Professional от OTUS»

Цена: 104 000 ₽

Ссылка на сайт: https://otus.ru/lessons/java-professional/

Продвинутое программирование на Java: все, что надо знать и уметь Middle+ специалисту.
Практические задания, развивающие мышление и сообразительность.

  • Длительность обучения: 6 месяцев, 4 ак. часа в нед.
  • Формат: Online.
Перейти на официальный сайт →

Вы получите практику решения сложных задач с подробным код ревью от экспертных Java-разработчиков. Часто в работе junior или middle специалист ограничен однотипными заданиями своего уровня — наша программа решает эту проблему профессионального роста. Вы освоите широкий спектр навыков: алгоритмы и сборщики мусора, байт-код и classloader, паттерны и тестирование, работу с окружением — логирование, jdbc и Hibernate, библиотеки и фреймворки, многопоточность и многое другое. Обучение проходит на Java 8. Благодаря курсу вы расширите возможности использования языка Java и откроете для себя подходы, которые позволят писать код быстрее и чище. Полученные навыки будут веским аргументом для повышения в должности или в поиске интересного более сложного проекта.

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

  • Для программистов Java с опытом от 1 года разработки
  • Для программистов на других языках ООП с опытом разработки от 3-х лет

После обучения вы сможете:

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

Особенности обучения:

Актуализируем программу перед каждым запуском. Ключевые обновления 2020 года: сборщик Gradle вместо Maven, больше занятий в Spring, занятие по библиотеке Lombok.
Тренируем мышление и самостоятельность. Домашние задания максимально приближены к задачам коммерческой разработки. Студент должен сам предложить решение, а преподаватель его оценит и даст рекомендации.
Обмен опытом. Все студенты — специалисты с разным бэкграундом в программировании. По ходу курса студенты выполняют взаимный код ревью, учатся командной работе, делятся в Slack группы ошибками и открытиями.
Интерактивы на занятиях. Текст домашнего задания дается в начале урока, чтобы студентам было проще ориентироваться в теме. По ходу занятия студент может голосом задать вопрос или расшарить экран, чтобы обсудить свою работу.


Как OTUS помогает с трудоустройством?

  • Профессиональное резюме прямо в личном кабинете
  • Карьерная консультация от HR-эксперта OTUS
  • Собеседования в 62 компаниях-партнерах.

Процесс обучения
Обучение проходит в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель дает развернутый фидбек.
Преподаватель находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. в процессе обучения слушатель может задавать преподавателю уточняющие вопросы по материалам лекций и домашних заданий.

Программа обучения:

  1. Язык и платформа Java
  • Подготовка к курсу. ДЗ
  • Дополнение к gradle, история изменения языка
  • QA и тестирование
  • Контейнеры и алгоритмы. ДЗ
  • Инструменты для преобразования контейнеров, unsafe, jmh
  • Аннотации. ДЗ
  • Lombok
  • Сборщик мусора. ДЗ
  • Java в Docker-е
  • Байт код, class-loader, инструментация, asm. ДЗ
  • Функциональное программирование в Java.
  1. Проектирование
  • Концепты проектирования ООП. ДЗ
  • Behavioral patterns
  • Creational patterns
  • Structural patterns. ДЗ.
  1. Работа с окружением
  • Сериализация. ДЗ
  • NIO. Логирование
  • JDBC. ДЗ
  • Общие вопросы работы с СУБД, архитектура РСУБД
  • Hibernate
  • JPQL. ДЗ
  • Типы ссылок. Кэширование. ДЗ
  • No SQL
  • Web сервер. ДЗ.
  1. Spring
  • Dependency injection. ДЗ
  • Spring Boot. Spring MVC
  • Asynchronous Web applications
  • Spring Data Jdbc. ДЗ.
  1. Многопоточность
  • Thread
  • JMM
  • ДЗ
  • Потокобезопасные коллекции. ДЗ
  • Многопроцессные приложения. ДЗ
  • Применение RabbitMQ
  • NIO
  • Netty
  • Реактивное программирование. Spring Webflux. ДЗ
  • Применение Kafka.
  1. Проектная работа
  • Основы CI/CD
  • Знакомство с Kubernetes
  • Защита проектных работ.

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

Примеры тем проекта:

  • web сервер (разберите протокол);
  • socket сервер на NIO (как netty);
  • свой ORM;
  • распределенный кэш;
  • кэш для hibernate​.

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

  • Сергей Петрелевич
    В отрасли с 2003 года. Программировать начал со времен ZX-Spectrum. 8 лет в разработке банковских процессинговых систем пластиковых карт.
    Занимался разработкой «коробочных» систем для внешних заказчиков, разработкой систем для внутренних заказчиков. В 2003 году с отличием закончил Магнитогорский Государственный Институт им. Носова, специальность — промышленная электроника.
    Компании: Магнитогорский Металлургический Комбинат, Компас+, Borlas, СМП Банк.
    Интересы: JavaScript, многопоточное программирование, сборщики мусора в Java.
    Сдал экзамен Oracle по Java: Oracle Certified Professional, Java SE 8 Programmer
    Руководитель программы
  • Вячеслав Лапин
    Опыт работы в ведущих компаниях IT — Kaspersky Lab, 1C, Крок, AT-Consulting, Luxoft, «Ланит». Внедренец инноваций и лучших практик в «Кровавый Энтерпрайз» — исследую новые технологии и «продаю» крупным IT-проекты, делая их более гибкими, надёжными, быстрыми и современными, не потеряв при этом в функциональности.
    Более 12 лет в IT, более 3-х лет опыта управления командами разработчиков.
    Является спикером Рит++ 2020, Joker 2015, JPoint 2016, HolyJS 2016; обладатель сертификата Oracle Certified Programmer Java SE 11 Programmer.
    Образование: ВМиК МГУ, Горный институт.
    Преподаватель
  • Виталий Чибриков
    Выпускник МФТИ 2004-го года по специальности «Инженер-математик». Профессиональный опыт: 12 лет программирования на Java, C++, C#, JavaScript, PHP, Python. Участник проектов различных уровней сложности: от стартапов на 3 человека/полгода до бизнес-приложений на 200 человек/4 года. 8 лет разработки серверов для клиентских игр на Java. Эксперт в разработке облачных приложений, автоматизации процессов разработки и тестирования.
    Разрабатывал и запускал проекты MMORPG: «Allods Online» и «Skyforge».
    Генеральный директор «OTUS. Онлайн-образование»
  • Виталий Куценко
    Профессионально занимаюсь разработкой ПО более 20 лет, из них последние 13 в мире Java.
    За это время принимал активное участие в построении систем разных размеров: от небольших систем уровня предприятия до систем автоматизации транснациональных корпораций.
    Работал в таких компаниях, как Diasoft, 1C, Luxoft, «Росгосстрах», «Сбербанк».
    В настоящее время Java Lead в RND подразделении Ростсельмаша, делаю лучшие системы автоматизации сельхозтехники
    Преподаватель
  • Павел Стрекалов
    Ведущий специалист в АО «Гринатом».
    Более 10 лет опыта профессиональной разработки.
    Основной стек: .NET / C#, Java, MS SQL Server.
    Full stack разработка систем для внутренних и внешних заказчиков от анализа требований до реализации, эксплуатации и технической поддержки.
    Закончил в 2006 году Московский институт электронной техники (МИЭТ) по специальности «Вычислительные машины комплексы системы и сети».
    Преподаватель.

Отзывы:

Николай Добровольский

«На курс записался в большей степени потому, что преподавателем был объявлен Виталий Чибриков. Знал преподавателя по другим курсам, плюс ранее прослушаны записи лекций в МГТУ им. Баумана в рамках проекта ТЕХНОПАРК (Москва). Поэтому сразу решил записаться в группу.
Курс очень понравился. Впечатление очень положительное. Был освящен достаточно большой список тем. Некоторые моменты до курса были не очень хорошо знакомы (например, тема про GC — были теоретические знания, но без практических навыков).
Понравилась сама подача материала, затрагиваемые темы рассматривались без отрыва от реальной жизни, сопровождались конкретными примерами из реальных проектов. Множество интересных примеров от преподавателя.
Курс помог не только систематизировать уже имеющиеся знания, а также приобрести новые. Особенно понравились темы про GC, JVM, многопоточность в Java, межпроцессное взаимодействие в Java.
После окончания курса гарантированы приглашения на собеседования, так что это огромный плюс)
На мой взгляд было бы здорово в рамках курса более подробно рассмотреть Spring, но основным направлением курса изначально было заявлено Java Core, поэтому за этой темой возможно стоит записываться на курс по Java EE.»

Антон Матвеев

«Курс OTUS «Разработчик Java» был очень полезен для меня, не имевшего ранее опыта коммерческой Java-разработки. Именно он помог собрать воедино знания, полученные посредством самообучения и других курсов. В отличие от других курсов был упор на формирование понимания процесса: как работает та или иная технология и какие задачи решает, а не на общее описание ее возможностей. Домашние задания подобраны таким образом, что заставляют проявить творчество и перечитать немало полезной информации. Особенно интересными были задания: написать json сериализатор, упрощенный тестовый фреймворк, свою маленькую orm, сервер обмена сообщения между бд и фронтэндами. Хотя домашние задания, может быть за исключением первых, совсем не укладывались в заявленное время на домашнюю работу по 4 часа в неделю — для того, чтобы успеть сделать последние 2 задания в курсе мне пришлось брать отпуск.
Конечно основную ценность курс представляет из-за преподавателя. Очень качественное объяснение: не помню, чтобы хоть какой-то заданный по теме вопрос остался без ответа, также очень приятно и полезно было получать от Виталия не только информацию о недоработках в ДЗ, но и предложения об их возможной доработке уже за рамками задания.
Ну и, конечно, очень важна возможность пройти собеседования в крупные компании. Каждое такое собеседование — это очень интересный опыт сам по себе, независимо от результата. Лично я нашел себе работу и очень рад что не пожалел денег на обучение!»

Подробнее о курсе Java программирования →

Курс «Java-разработчик от Школа анализа данных»

Цена: 110 000 ₽ — 140 000 ₽

Ссылка на сайт: https://practicum.yandex.ru/java-developer/

Перейти на официальный сайт →

Java-разработчик создаёт сложные банковские системы, пишет сервисы для поиска авиабилетов или прослушивания музыки, работает с системами для обработки больших объёмов данных. На курсе вы изучите язык программирования Java, чтобы в командах с другими разработчиками создавать продукты наподобие Яндекс.Музыки, Тинькофф-банка, Netflix и Кинопоиска.

Чему вы научитесь в Практикуме:

За 10 месяцев и 650 часов обучения вы освоите навыки разработки на Java. Вот какие проекты вы сделаете:

  • Менеджер задач
  • Кинопоиск для своих
  • Аналог тиндера для дружеских встреч.

Как выглядит процесс обучения

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

  1. Онлайн-тренажёр
    С первого дня вы учитесь на практике. Мы даём знания небольшими частями, которые нужно сразу применить, написав собственный код в онлайн-тренажёре.
  2. Самостоятельная работа
    Тренажёр — только часть обучения. Основные навыки вы приобретаете, когда самостоятельно делаете проекты, а затем улучшаете их по комментариям код-ревьюера — опытного разработчика, который проверяет ваш код.
  3. Поддержка
    Наставники — java-разработчики, которые помогают разбираться с трудностями, развивать самостоятельность и добиваться цели.
    Код-ревьюеры строго проверяют проекты студентов, указывают на ошибки и дают рекомендации по улучшению.
    Куратор делает обучение комфортным: отвечает на организационные вопросы, напоминает о дедлайнах, присылает ссылки на записи лекций, слушает, поддерживает и никогда не бросает.
    Команда образовательной поддержки 24/7 помогает справляться со всеми техническими сложностями.

Программа обучения:

  1. Основы Java: бесплатный вводный курс
    Во время бесплатной части вы познакомитесь с основами языка Java: переменными, условными, выражениями и циклами, а также с азами объектно-ориентированного программирования: классами, конструкторами и методами. В результате вы сделаете программу, которая поможет следить за доходами и расходами.
  2. Java Core и алгоритмы
    Эта часть посвящена более глубокому изучению языка Java и объектно-ориентированному программированию. Вместе с этим мы расскажем об алгоритмах: для чего они нужны, как их реализовывать и как оценивать эффективность. В результате вы сделаете менеджер задач с возможностью ставить себе цели, задачи и сроки, измерять активность, отмечать и оценивать сделанное.
  3. Spring Boot и работа с базой данных
    На этом этапе вы научитесь создавать веб-сервисы с использованием Spring Boot и работать с базой данных при помощи языка SQL. Шаг за шагом вы напишите свою социальную сеть наподобие Кинопоиска, с историей просмотра фильмов вами и вашими друзьями, рекомендациями и оценками.
  4. Spring + Hibernate
    Spring Boot значительно упрощает работу программистам, но это лишь модуль самого популярного фреймворка для Java — Spring. Чтобы стать профессионалом, нужно разобраться, как он устроен изнутри. Это поможет быстрее исправлять ошибки, выходить за рамки шаблонов и, конечно, увереннее проходить собеседования. В этой части вы создадите веб-сервис на чистом Spring, что позволит лучше понять особенности его работы, и научитесь работать с базами данных при помощи Hibernate. Вашим результатом будет приложение для обмена вещами с друзьями.
  5. Дипломный проект
    Чтобы закрепить свои знания и умения вы сделаете финальный проект — аналог Тиндера для путешествий, походов в кино и другого досуга. Разработка дипломного проекта будет построена так же, как работа реальных программистов: ваш наставник будет тимлидом, а часть сокурсников — командой. Кроме работы над проектом, вы будете готовиться к собеседованиям: проходить дополнительные темы, решать алгоритмические задачи и участвовать в тестовых собеседованиях.

Отзывы об обучении доступны на сайте.

Подробнее о курсе Java программирования →

Курс «Java-разработчик от Nordic IT School»

Цена: 104 800 руб.

Ссылка на сайт: https://inordic.ru/courses/java-course

Перейти на официальный сайт →

На курсе “Java-разработчик” вы научитесь:

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

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

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

  1. Основы языка
  2. Объектно-ориентированное программирование
  3. Структуры данных
  4. Дополнительно о процессе разработки
  5. Коллекции и ассоциативные массивы
  6. Деревья и хеш-таблицы
  7. Средства базовой библиотеки Java
  8. Регулярные выражения
  9. Параллельное программирование
  10. Reflection
  11. Работа с внешними форматами данных
  12. Контейнеры компонентов
  13. Основы Spring
  14. Сети
  15. Разработка для WEB
  16. Основы HTML
  17. Обработка HTML-форм и CSS
  18. Базы данных и взаимодействие с ними
  19. Взаимодействие приложений.

Учебные проекты

На курсе будут разработаны следующие проекты:

  • Агрегатор информации, собирающий данные с различных сайтов
  • Облачный сервис с функционалом, аналогичным «Яндекс.Диску» либо систему документооборота.

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

  • Коробцев Илья
    Разработчик Алисы в Яндекс
  • Романенко Артем
    Работает в «Smartlabs» на позиции — ведущий разработчик/технический лидер.
  • Олег Ратников
    Работает в «Zalando SE» на позиции — ведущий JAVA разработчик.
  • Роман Болобан
    Java-разработчик в Epam.
Подробнее о курсе Java программирования →

Курс «Java для начинающих от Аве Кодер»

Бесплатно

Ссылка на сайт: https://www.youtube.com/playlist?list=PLPPIc-4tm3YQTMht0YV_kiNxhBQbCrj_Z

Перейти на официальный сайт →

Программа обучения:

  • Полный курс Java: с нуля и до сертификата OCA Programmer 1
  • Как появилось ООП? Что такое класс и объект класса?
  • Как работает Java приложение? Что такое JVM, JRE, JDK?
  • Классы, Области видимости, Импорты, Пакеты
  • HelloWorld, main метод, запуск через консоль
  • HelloWorld — Java Практика (Hackerrank)
  • Переменные, Приведение типов (casting), Примитивы, Типы данных
  • Примитивные типы данных — Java Практика (Hackerrank)
  • Ссылочные типы, поля объектов, аргумент метода, java «this»
  • Cсылочные типы данных — Java Практика (Hackerrank)
  • Жизненный цикл объекта, garbage collector, устройство JVM
  • Классы обертки, Автоупаковка и Распаковка
  • Из Integer в String с toString() — Java Практика (Hackerrank)
  • Операторы в Java
  • Условные операторы If Else и тернарный оператор
  • Условные Операторы If Else — Java Практика (Hackerrank)
  • Оператор switch и switch выражение в Java 12
  • Циклы (for, enhanced for, while, do while)
  • Циклы(loops) — Java Практика (Hackerrank)
  • Массивы (Arrays)
  • Массивы (Arrays) — Java Практика (Hackerrank)
  • Многомерные массивы (Multidimensional Arrays)
  • Многомерные Массивы (Multidimensional Arrays) — Java Практика (Hackerrank)
  • Java МЕТОДЫ (включая перегруженные и статические)
  • Методы (Varargs) — Java Практика (Hackerrank)
  • Конструкторы (Дефолтные, Параметризированные, Перегруженные)
  • Инкапсуляция и Модификаторы Доступа
  • Наследование
  • Наследование и instanceOf — Java Практика (Hackerrank)
  • Полиморфизм
  • Полиморфизм и Переопределение методов — Java Практика (Hackerrank)
  • Абстрактные Классы
  • Абстрактные классы — Java Практика (Hackerrank)
  • Интерфейсы
  • Интерфейсы — Java Практика (Hackerrank)
  • Исключения
  • Исключения — Java Практика Hackerrank Exceptions.
Подробнее о курсе Java программирования →

Курс «Java от Центр компьютерного обучения «Специалист» при МГТУ им.Н.Э.Баумана»

Цена: разная стоимость

Ссылка на сайт: https://www.specialist.ru/dictionary/definition/java

Перейти на официальный сайт →

На курсах обучения Java SE рассматриваются методы создания Интернет-приложений на языке Java, в том числе Web-приложений, апплетов, серверных приложений, использование серверных страниц Java, конструирование и программирование пользовательских библиотек ярлыков Java, а также разработка приложений с применением технологий, реализованных в пакете J2EE.
В процессе обучения Java внимание слушателей акцентируется на раскрытии наиболее существенных сторон создания клиентских и серверных приложений. Преподаватели-эксперты делают изложенный материал наглядным и помогают его лучшему усвоению. Вы можете пройти комплексную программу подготовки на курсах Java и существенно расширить свои представления о веб-программировании.

Курсы:

  1. Java – разработчик
  2. Backend Kotlin/Java Developer (дипломная программа)
  3. Эксперт — разработчик Java
  4. Разработчик приложений и баз данных на Java и Oracle SQL
  5. Разработчик приложений и баз данных на Java и Postgre SQL
  6. Big Data разработчик (Hadoop и Scala)
  7. Основы работы с большими данными (Data Science)
  8. Программист Java
  9. Эксперт — программист Java
  10. Программист Kotlin
  11. Java — разработчик (Spring)
  12. Разработчик Scala
  13. Junior Java Developer
  14. Java для школьников
  15. Java. Уровень 1. Язык программирования Java
  16. Java. Уровень 2. Разработка клиент — серверных приложений
  17. Java. Уровень 3. Разработка серверного программного обеспечения на Java Enterprise Edition
  18. Scala 3: Синтаксис и основы работы с объектами
  19. Scala 3: Классы и объектно — ориентированное программирование
  20. Уровень 1. Основы программирования
  21. Уровень 2. Разработка приложений
  22. Разработка приложений с использованием SPRING и Spring MVC/REST
  23. Паттерны в объектно — ориентированном программировании
  24. Рефакторинг как системный подход
  25. Основы программирования на языке «Java» для школьников [c]
  26. Разработка Android приложений на Kotlin, уровень 1
  27. Разработка Android приложений на Kotlin, уровень 2
  28. Основы Apache Kafka
  29. Java для мобильных для школьников. Уровень 1
  30. Алгоритмы. Олимпиадное программирование [c].
Подробнее о курсе Java программирования →

Курс «Java-разработчик с нуля от TOPJAVA »

Цена: разная стоимость

Ссылка на сайт: https://topjava.ru/

  • Помощь с трудоустройством и составлением резюме
  • Выдача дипломов и сертификатов.
Перейти на официальный сайт →

Java-курсы для любого уровня:

  1. StartJava
    На курсе:
  • освоите с нуля основы языка Java
  • научитесь писать грамотный код
  • напишите выпускной проект
  • подготовитесь к обучению на BaseJava.
  1. BaseJava
    На курсе:
  • изучите Java Core
  • напишите большое web-приложение
  • используете базу данных и облачный сервис
  • подготовитесь к обучению на TopJava.
  1. TopJava
    На стажировке:
  • создадите сложное web-приложение
  • изучите технологии, необходимые для трудоустройства (Spring, Hibernate, БД и др.)
  • напишите выпускной проект
  • поможем с трудоустройством.
  1. MasterJava
    На курсе:
  • создадите многомодульный Maven-проект
  • напишите три web-приложения
  • используете Java EE, многопоточность и web-сервисы
  • расширите кругозор.

Что полезного дадут курсы:

  • Выпускной проект, который не стыдно показать работодателю
    Упоминание об этом в резюме
  • Профессию Java-разработчик
    Помощь в трудоустройстве
  • Знание технологий, необходимых для трудоустройства
    Spring, Spring Boot, Hibernate, Maven, Git, JUnit, PostgreSQL, REST, Bootstrap, jQuery, Java EE и др.
  • Тщательную проверку домашних заданий
    Текстовые и видео комментарии наставника к вашему коду
  • Возможность получить Диплом о профпереподготовке
    Увеличить шансы на трудоустройство
  • Общение с личным наставником
    Максимальную усвояемость материала.

Отзывы и истории успеха наших выпускников:

История успеха Евгения Рудого
Легко устроился на работу в СберТех после TopJava

«На стажировке я получил огромный практический опыт, написал реальный проект, на который обращали внимание работодатели. Ее прохождение с ревью кода помогло мне научиться писать чистый и грамотный код. Я многому научился. В итоге устроился на работу java-программистом, как и мечтал.»

История успеха Зинаиды Смирновой
После TopJava устроилась в JetBrains

«Когда я была в декрете, то поняла, что жизнь коротка и ее надо потратить на что-то стоящее. Я всегда хотела программировать. Наткнулась в интернете на TopJava и прошла ее с ревью кода. Сейчас я работаю в JetBrains. Считаю, что заниматься делом мечты никогда не поздно и даже для мамочек в декрете.»

Отзыв Ангелины Семёновой

«StartJava — это именно то, что я искала.
До того, как пойти на StartJava, я пыталась изучать Java на других курсах. Но все безуспешно, начинаешь, что-то не получается и бросаешь, потом пытаешься снова и снова, но увы… Я брала курс с ментором и ни капли не пожалела! Спасибо за всё, чему я научилась на этом курсе! Теперь можно переходить к BaseJava.»

Подробнее о курсе Java программирования →

Курс «Программирование на Java с нуля от beONmax»

Цена: от $7.8

Ссылка на сайт: https://beonmax.com/courses/java/

Изучаем разработку программ на языке Java с самого начала — уроки по Java с практическими заданиями для начинающих.
Java — это очень мощный язык, который используется в очень многих сферах: в web-разработке, в разработке приложений под Android, в серверных приложениях, и считается довольно сложным для новичков.
Курс подойдет для обучения даже если вы никогда не изучали языки программирования.

Перейти на официальный сайт →

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

Чему Вы научитесь:

  • Разработка программ на языке Java
  • Синтаксис языка Java
  • Переменные, типы данных, работа со строками
  • Основные конструкции — циклы и условия
  • Массивы
  • Объектно-ориентированное программирование
  • Методы, конструкторы, объекты и др.
  • Инкапсуляция, наследование и полиморфизм
  • Многопоточность
  • И многое другое.

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

  • Новички, которые никогда не занимались программированием. В курсе обучение Java проходит с нуля
  • Программисты, которые хотят вникнуть в новый для себя язык программирования.

План курса:

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

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

Отзывы:

Никулина Полина

«Благодарю за понятный, удобно-порционный и детализированный курс!!! Очень рада, что нашла такую опцию, действительно очень помог разобраться с основами и отработать многие моменты!!! Здорово!! Буду продолжать!»

Багдасар Айдинян

«Ментор всё прекрасно объясняет и закрепляет нужным дз по теме! Мне понравилось, однозначно 5/5»

Павел Рукавишников

«В целом — хороший курс. Понравились задания. Будь их, заданий домашних, чуть больше и чуть более сложные (с последующим разбором в комментариях внутри задания) поставил бы пять с плюсом курсу.»

Подробнее о курсе Java программирования →

Курс «Java для начинающих от ExamClouds»

Бесплатно

Ссылка на сайт: https://www.examclouds.com/ru/

Перейти на официальный сайт →

Чему вы обучитесь на наших Java курсах

Всем фундаментальным основам программирования: от отличительных особенностей языка, синтаксиса Java для начинающих с упражнениями до механизмов сериализации, клонирования, многопоточного программирования на Java и ее синхронизации. Изученные материалы и выполненные практические задания для портфолио позволят вам начать поиск работодателя, а найдя его приступить к работе в позиции junior developer.
Более подробную информацию можно получить на странице плана курса Java программирование.
Специалисты считают Java одним их дружественных, доступных для обучения языков программирования. Каждый урок курса включает в себя вопросы, тесты и домашние задания, что гарантирует 100% усвоение материалы. Пройдя тест, вы увидите, какие темы необходимо повторить и чему уделить больше внимания.
Пройденные видеоуроки по Java для начинающих станут первой ступенью для дальнейшего обучения программированию. Вы можете выбрать одно из следующих направлений для дальнейшего обучения: мобильные приложения на Android, корпоративные и клиентские приложения, автоматизация тестирования и тех.поддержка. Можете выбрать направление веб-разработки, начинающееся с небольших коммерческих проектов и заканчивающееся масштабными международными порталами и государственными ресурсами. Еще одна интересная сфера — разработка игр. Например, на языке Java написан Minecraft.

Программа базового курса по Java Core:

  1. Введение в Java
    Знакомимся с основными понятиями и особенностями языка Java — JDK, JRE, Java SE/EE/ME. В чем отличие между интерпретаторами, компиляторами и что такое байт-код?
  2. Создание и запуск первого Java-приложения
    Написание, компиляция и запуск первого Java-приложения из командной строки. Упаковка в JAR файл. Знакомство со средой разработки IntelliJ IDEA.
  3. Лексика языка
    Исходный текст программ на Java состоит из совокупности пробелов, идентификаторов, литералов, комментариев, операций, разделителей и ключевых слов.
  4. Операции Java
    В Java существует огромное количество различных операций. В этом уроке рассмотрим все существующие операции Java языка, их синтаксис и примеры использования.
  5. Операторы
    В этом уроке курса изучаем основные управляющие операторы языка Java — условные операторы, операторы цикла, операторы перехода, а также метод System.exit().
  6. Массивы
    Рассмотрим, что такое массив (или array), какие они бывают, создание и заполнение массива, полезные методы для работы с массивами в языке программирования Java.
  7. Алгоритмы
    В этом разделе рассмотрим стандартные алгоритмы и алгоритмы сортировки массива, реализованные на языке программирования Java. Существует много видов сортировки.
  8. Контроль версий
    Что такое системы контроля версий (VCS), чем отличаются git и GitHub. Создание локального git репозитория в среде IntelliJ IDEA, клонирование репозитория.
  9. ООП
    Основы и принципы объектно-ориентированного программирования (ООП). Классы, объекты, наследование, перегрузка, переопределение и управление доступом.
  10. Ключевое слово static
    Ключевое слово языка Java static используется для определения статических членов классы — переменных, методов, блоков.
  11. Класс Object и его методы
    Класс Object является суперклассом для всех остальных классов. Методы класса Object доступны всем остальным классам языка программирования Java.
  12. Интерфейсы и перечисления
    Знакомство с интерфейсами и перечислениями. Отношения между классами — HAS-A и IS-A, а также преобразование ссылочных типов.
  13. Классы обертки
    Классы обертки (или оболочки), их создание, использование. Обзор полезных методов классов. Преимущества механизма авто упаковки и распаковки.
  14. Строки
    Работа со строками в Java языке осуществляется с помощью классов String, StringBuilder и StringBuffer. Форматирование строк и регулярные выражения.
  15. Локализация и интернационализация
    Что такое локализация (l10n) и интернационализация (i18n) приложений, в чем заключается разница между ними и как они реализуются в языке программирования Java.
  16. Дата и время в Java 8
    Классы для работы с датой и временем добавлены в новый Date/Time API в Java 8. В этом разделе рассмотрим его основные классы и примеры их использования.
  17. Внутренние классы и дженерики
    Внутренние классы в Java — обычные, локальные, анонимные, статические вложенные. Что такое обобщения или дженерики в Java. Создание обобщенных классов, методов.
  18. Лямбда
    В Java 8 были добавлены лямбда выражения, ссылки на методы и функциональные интерфейсы. Познакомимся с ними и научимся их любить и правильно использовать.
  19. Коллекции в Java
    Коллекции — одна из важных частей Java SE. Рассмотрим основные интерфейсы, классы и алгоритмы Collection framework. Изучим существующие структуры данных.
  20. Исключения
    Обработка исключений в языке Java. Иерархия классов исключений, checked, unchecked исключения. Try-catch-finally блок, multi-catched блок.
  21. Потоки ввода – вывода
    Потоки ввода — вывода в языке Java делятся на байтовые и символьные потоки. Рассмотрим классы из пакета java.io, позволяющие работать с потоками данных.
  22. Reflection API и JavaDoc
    Рефлексия — это механизм исследования данных о программе во время её выполнения. Генерация документации в языке Java с помощью утилиты Javadoc.
  23. Сериализация, клонирование
    Механизм сериализация позволяет сохранять состояние объектов и восстанавливать их (десериализовывать). Рассмотрим также и другие способы клонирования объектов.
  24. Maven
    Инструмент для сборки проекта Maven — его жизненный цикл, плагины, репозитории, изучение файла pom.xml.
  25. Базы данных, SQL
    Работа с реляционными базами данных и язык запросов SQL. Построение и нормализация баз данных. Типы данных и виды ключей. SQL запросы и объединения.
  26. JDBC (Java DataBase Connectivity)
    Java DataBase Connectivity — стандарт соединения с базами данных, входящих в состав Java SE. Позволяет работать с базами данных из Java приложений.
  27. Многопоточность
    Реализация многопоточности в языке Java с помощью класса Thread и интерфейса Runnable. Методы класса Thread. Синхронизация и взаимодействие потоков.
  28. Список ПО
    В этом разделе приведен список ПО необходимый для работы на курсе Java программирование. А также ссылки для скачивания и описание по установке.

Каждый урок содержит:

  • лекции
  • видео
  • домашние задания
  • тесты
  • вопросы по пройденным темам
  • слайды.
Подробнее о курсе Java программирования →

Курс «Java EE от Сетевая Академия «Ланит»»

Цена: 11 900 руб. — 35 000 руб.

Ссылка на сайт: https://academy.ru/catalog/java/

Перейти на официальный сайт →

Курсы Java предназначены для тех, кто хочет научиться разрабатывать приложения на этом популярном языке программирования.
Его используют разработчики:

  • серверных страниц;
  • апплетов;
  • серверных и интернет-приложений;
  • библиотек ярлыков;
  • приложений, которые применяют технологии пакета J2EE.

Java-разработчик – это современная высокооплачиваемая профессия, и она еще долго не потеряет актуальности. Пройти обучение Java стоит:

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

Формы обучения Java:

  1. очное – слушатели и преподаватель присутствуют в учебных аудиториях;
  2. дистанционное – в формате онлайн-встреч, вебинаров, удаленного обучения;
  3. облачное – с удаленным доступом ко всем материалам;
  4. персональное – преподаватель работает не с группой студентов, а конкретно с одним слушателем, что позволяет обучаться по индивидуальной программе.

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

Курсы:

  • Основы программирования на языке Java
  • Программирование на языке Java. Углубленный курс
  • Разработка приложений с использованием SPRING
  • Построение приложений-клиентов баз данных с использованием JDBC 4.0
  • Разработка веб-сервисов на Java
  • Технологии JavaServlets и JavaServerPages.
Подробнее о курсе Java программирования →

Курс «Язык программирования Java (Java SE10). Уровень 1 от Московский Государственный Технический Университет им. Н.Э. Баумана»

Цена: 27 450 р.

Ссылка на сайт: http://edu.bmstu.ru/napravleniya-obucheniya/programmirovanie/java1

Перейти на официальный сайт →

Java – наиболее популярный в наши дни язык программирования среди объектно-ориентированных языков. В 2021 году Java вошел в рейтинг трех самых популярных языков программирования! Сегодня программы, написанные на этом языке, запускаются на 3 млрд. устройств по всему миру. Язык программирования Java относится к языкам общего назначения, однако сложно найти компанию, которая бы не пользовалась сегодня программами, написанными на этом языке. Кстати, игра Minecraft написана именно на Java!
С помощью Java создаются серверное ПО, многочисленные прикладные программы, любые веб-сайты, как их серверная, так и пользовательская часть, многие компьютерные и мобильные игры. Приложения, разработанные на Java, четко и корректно работают на компьютерах с любой архитектурой.
Сегодня на Java пишут приложения для мобильных устройств, в особенности для платформы Android. Поэтому так важно уметь программировать на Java, ведь Андроид является самой популярной мобильной платформой сегодня.
В языке Java базовый синтаксис позаимствован у С/С++, поэтому наш курс будет полезен и новичкам, и программистам С++, стремящимся повысить уровень своей квалификации.
Изучение теоретического материала и проведение практических работ проводится на платформе Java Standard Edition 10 (Java SE10), в среде разработки IntelliJ IDEA.
В течение курса Вы научитесь работать в интегрированной среде разработки IntelliJ IDEA Community Edition, сможете самостоятельно создавать на Java приложения командной строки, изучите в полном объеме элементы и конструкции языка Java SE 10 и овладеете возможностями платформы JDK.

Содержание курса:

  1. Введение в Java, обзор платформ и технологий. Функциональные связи:
  • Введение в Java. История создания. Преимущества;
  • Java Standard Edition 10. Новые возможности.
  1. Синтаксис Java:
  • Словарь Java;
  • Примитивные и объектные типы в Java;
  • Операторы;
  • Управляющие структуры;
  • История развития языка, нововведения от JDK 1.5 до JDK 1.10.
  1. Объектно-ориентированное программирование (OOP) в Java:
  • Процедурное и объектно-ориентированное программирование. Инкапсуляция;
  • Объекты и объектные переменные. Сборка мусора;
  • Пакеты. Уровни видимости классов. Импорт классов;
  • Введение в IntelliJ IDEA;
  • Документирование кода в Java. Javadoc.
  1. Наследование и полиморфизм, базовый класс Object:
  • Построение иерархии классов. Диаграммы классов UML;
  • Методы. Модификаторы. Передача примитивных типов в методы;
  • Локальные и глобальные переменные;
  • Модификаторы доступа и правила видимости. Зарезервированное слово this;
  • Передача ссылочных типов в методы;
  • Наследование. Суперклассы и подклассы. Переопределение методов;
  • Наследование и правила видимости. Зарезервированное слово super;
  • Статическое и динамическое связывание методов. Полиморфизм;
  • Базовый класс Object;
  • Конструкторы. Зарезервированные слова super и this;
  • Блоки инициализации;
  • Удаление неиспользуемых объектов и метод finalize;
  • Проблема деструкторов для сложно устроенных объектов;
  • Перегрузка методов;
  • Правила совместимости ссылочных типов. Приведение и проверка типов;
  • Рефакторинг;
  • Реверс-инжиниринг.
  1. Интерфейсы в Java:
  • Проблемы множественного наследования классов. Интерфейсы;
  • Отличия интерфейсов от классов. Наследование интерфейсов;
  • Пример использования интерфейсов;
  • Композиция как альтернатива множественному наследованию.
  1. Встроенные классы:
  • Вложенные (Nested) классы;
  • Внутренние (Inner) классы;
  • Локальные (local) классы;
  • Анонимные (безымянные) классы и обработчики событий.
  1. Исключения в Java:
  • Система исключения в Java;
  • try-with-resources: нововведения JDK 1.7;
  • Assertions или проверка утверждений.
  1. Основные пакеты и интерфейсы Java:
  • Обзор основных пакетов Java;
  • Массивы в Java;
  • Классы String, StringBuffer, StringBuilder, StringTokenizer;
  • Классы ввода-вывода. Файловый ввод-вывод.
  1. Generics или настраиваемые классы в Java:
  • Понимание настраиваемых классов или Generics;
  • Написание кода, поддерживающего Generics.
  1. Коллекции в Java:
  • Массивы;
  • Интерфейс Collections;
  • Практическое применение Generics.
  1. Аннотации в Java:
  • Понимание аннотаций;
  • Создание собственных аннотаций;
  • Обработка аннотаций.
  1. Улучшения языка java, появившиеся в JDK1.5 – 1.1:
  • Автоматическая упаковка и распаковка;
  • Перечислимый тип enum;
  • Улучшенные языковые конструкции (циклы for);
  • Аргументы переменной длины;
  • Изменения в интерфейсах;
  • Класс Optional;
  • Литералы коллекций;
  • Изменения в try-with-resources.
  1. Лямбда-выражения, функциональные интерфейсы и Streaming API в JDK 1.8:
  • Понимание лямбда-выражений в Java, функциональные интерфейсы;
  • Новый Streaming API;
  • Практическое применение.
  1. Загрузчики классов в Java и API Reflection:
  • Порядок действий VM при загрузке класса;
  • Способы загрузки классов;
  • Создание собственного загрузчика классов;
  • Пример создания загрузчика зашифрованных классов;
  • Загрузка классов методом forName (…);
  • Создание объектов класса Class;
  • Исследование объекта;
  • Класс java.lang.reflect.Method. Пример приложения;
  • Компилирование исходного текста из приложения Java. Пример;
  • Выгрузка и Перезагрузка Классов. Пример приложения;
  • Приложение RunItReload , выгружающее и загружающее классы;
  • Загрузка классов через Сеть. Класс URLClassLoader.
  1. Сериализация Java-объектов:
  • Что такое Сериализация и где применяется;
  • Как сериализация может использоваться в RMI;
  • Автоматическая сериализация. Интерфейс Serilizable. Пример;
  • Сериализация с применением интерфейса Externalizable. Пример;
  • Восстановления объекта и Reflection. Пример приложения;
  • Управление сериализацией посредством transient. Пример приложения;
  • Альтернатива Externalizable – методы writeObject() и readObject();
  • Сериализация static членов классов;
  • Глубокое клонирование объектов через сериализацию. Пример с Reflection.
  1. Введение в многопоточное программирование:
  • Введение в многопоточную архитектуру;
  • Базовые классы для работы с потоками – класс Thread, интерфейс Runnable;
  • Синхронизация, Блокировки.
  1. Введение в сетевое программирование:
  • Введение в сетевое программирование, сокеты;
  • Классы Soket и ServerSocket, написание простого сетевого клиента и сервера.
  1. Сборка Java программ: Ant, Maven и Gradle:
  • Сборка Java-проектов при помощи средств Ant, Maven и Gradle.
Подробнее о курсе Java программирования →

Курс «Java Стартовый от ITVDN»

Цена: 19.99 USD

Ссылка на сайт: https://itvdn.com/ru/video/java-starter

Перейти на официальный сайт →

Курс «Java Стартовый» предназначен для новичков в программировании, а также начинающих разработчиков и программистов, которые хотят в кратчайшие сроки изучить основы программирования, но никак не определились с конкретным языком программирования.

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

На курсе детально рассматриваются переменные, константы, типы данных, условные конструкции, логические операции, циклические конструкции, принципы создания и использования методов, механизмы рекурсии, а также основы работы с массивами данных.

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

Список видеоуроков:

  1. Введение в инфраструктуру Java
  2. Машинная математика. Переменные и типы данных
  3. Переменные и типы данных в Java
  4. Условные конструкции Логические операции
  5. Логические операции в Java
  6. Циклические конструкции в Java
  7. Методы в Java
  8. Методы и рекурсия в Java
  9. Массивы в Java.

Отзывы:

Марат Мухаметшин
«Хороший курс. Автор интересно рассказывает, не занудно.»

Андрей Соколов
«
Курс захватывает, а значит интересный. Спасибо»

Сергей Мищенко
«
Отличный курс! Евгений преподаватель от Бога! Супер, молодец! Благодаря его скрупулёзному объяснению что и как, я начал лучше понимать язык Java. Успехов! Спасибо!»

Подробнее о курсе Java программирования →

Курс «Разработка ПО (Java) от Luxoft»

Цена: разная стоимость

Ссылка на сайт: https://www.luxoft-training.ru/training/katalog_kursov/razrabotka_po_java/

Перейти на официальный сайт →

Курсы:

  1. Разработка на платформе Java SE. Базовые темы
    В данном курсе слушатели получат базовые знания и навыки, которые позволят им заниматься разработкой на платформе Java® SE. Рассматриваются основы объектно-ориентированного программирования, использование UML для проектирования архитектуры приложений, а также основы использования языка Java® (типы языка, операторы, классы, пакеты, исключения). Предлагается большое количество практических упражнений.
  2. Разработка на платформе Java SE. Расширенные темы
    В данном курсе слушатели получат расширенные знания и навыки, необходимые для разработки ПО на платформе Java SE. В этом курсе рассматриваются основные классы системных библиотек и основы проектирования программного обеспечения. Благодаря этому слушатели научатся работать не только как программисты, но и как проектировщики ПО. Базовые темы по платформе Java рассматриваются в связанном курсе JVA-007 Разработка на платформе Java® SE: Базовые темы.
  3. Нововведения Java 9 (modules и др.)
    В данном курсе слушатели получат базовые знания и навыки, которые позволят им заниматься разработкой на платформе Java SE 9. Курс состоит из трёх частей: Модульная система в Java 9; Java shell; Обновления в Java api.
  4. Принципы проектирования SOLID
    На семинаре рассматриваются принципы проектирования SOLID и приводятся примеры их практического использования. Кроме того, участники должны выполнить практическое задание – написать приложение в течение 5 спринтов. Это упражнение демонстрирует, как хороший стиль проектирования помогает снизить сложность кода, прописать необходимые бизнес-функции и решить технические задачи. В процессе выполнения задания для получения элегантного решения предполагается использовать паттерны проектирования и выполнить рефакторинг.
  5. Шаблоны проектирования (GoF). Редакция для Java
    Паттерны (patterns, шаблоны) представляют собой консистенцию некоего опыта, пригодную для повторного использования. В курсе рассматривается набор GoF-паттернов, применяемых при реализации архитектурных решений на любом объектно-ориентированном языке программирования.
  6. Рефакторинг кода на Java
    В курсе рассматривается понятие рефакторинга как способа предотвращения распада программы; различные признаки плохого кода (smells), требующего рефакторинга; описывается, какой именно рефакторинг наилучшим образом подходит для той или иной ситуации и его механика. Во время обучения слушателями выполняется рефакторинг программы на Java®.
  7. Эффективность Java
    Курс для начинающих и опытных разработчиков для углубленного понимания Java. В курсе подробно рассматриваются паттерны проектирования и языковые идиомы, а также демонстрируется, как максимально эффективно использовать различные возможности от обобщенных типов до перечислений, от аннотаций до автоупаковки.
  8. Разработка через тестирование (TDD) на Java
    Данный курс знакомит слушателей с одной из инженерных практик методологии Agile — разработкой через тестирование (TDD). Освещаются теоретические аспекты модульного тестирования, что будет полезно для разработчиков независимо от методологий, используемых в их проектах. Теоретические подходы иллюстрированы примерами кода на языке Java.
  9. Владение каркасом модульного тестирования JUnit5
    В курсе рассматриваются основные аспекты JUnit5 c примерами и упражнениями.
  10. Введение в Apache Maven
    В курсе освещается применение сборщика приложений Apache® Maven, в том числе управление зависимостями, структура POM-файла, жизненный цикл проекта, создание плагинов и архетипов. Описываются часто используемые плагины, а также рассматривается интеграция Maven с IDE Eclipse и Hudson. Курс включает практические упражнения.
  11. Java Advanced I: функциональное, асинхронное и реактивное программирование
    Курс посвящен современным функциональным, асинхронным и реактивным подходам к разработке на Java, и включает изучение NIO2, CompletableFuture, RxJava, Reactor, R2DBC, SSE, Spring Data reactive, WebClient, reactive WebSocket, RSocket.
  12. Java Advanced II: высокопроизводительная Java
    Курс посвящен повышению производительности Java-приложений: выявлению узких мест, подходам и практикам к повышению производительности, а также инструментам и библиотекам, позволяющим добиться высокой производительности.
  13. Язык Scala для Java-разработчиков
    В данном курсе слушатели получат представление о специфике и особенностях языка Scala, его преимуществах и сложных местах. Курс включает рассмотрение операторов и типов данных Scala, изучение основных структур данных, таких как массивы, map, tuples, использование объектно-ориентированного и функционального программирования, работу с коллекциями Scala, применение pattern matching, case-классов, generic-типов и неявных преобразований. Предлагается большое количество практических упражнений.
  14. Владение каркасом разработки Spring Framework 5
    Практический курс по основным возможностям Spring Framework. Шаг за шагом вы создадите полностью рабочее приложение и научитесь использовать Spring framework на практике.
  15. Spring Security
    Spring Security – это самый популярный фреймворк для аутентификации пользователей и ограничения доступа в Enterprise приложении. В данном курсе рассматриваются механизмы аутентификации и авторизации (и их практическое применение).
  16. Spring Cloud для Java-разработчиков
    Spring Cloud – это проект, который позволяет создавать распределенные приложения с микросервисной архитектурой. Вы познакомитесь с множеством доступных компонентов, детально рассмотрите архитектуру и широкие возможности Spring Cloud.
  17. Spring Advanced
    Курс посвящен темам, необходимым для профессионального применения Spring Framework на практике, таким как документирование REST-сервисов, сериализация данных, транзакции в Spring, JWT-авторизация, практическое применение WebFlux, тестирование, развертывание в Docker и многим другим.
  18. OCAJSE8: Подготовка к сертификации Oracle Java Programmer
    Курс предназначен для подготовки к сдаче сертификационного экзамена начальной ступени Oracle Certified Associate Java Standard Edition 8, код экзамена 1Z0-808.
  19. OCPJSE8: Подготовка к сертификации Oracle Java Programmer
    Курс предназначен для подготовки к сдаче сертификационного экзамена Oracle Certified Professional Java Standard Edition 8, код экзамена 1Z0-809.
  20. Взаимодействие с СУБД из java-приложений посредством технологии JDBC v3
    Курс посвящен использованию JDBC API – интерфейса доступа к СУБД из Java-приложений. Слушатели изучат, как применять JDBC API для доступа к реляционным базам данных, для выполнения SQL-запросов, использования транзакций, создания заранее подготовленных и параметризованных SQL-запросов, вызова и получения результатов хранимых процедур, а также использования метаданных.
  21. Java Persistence с использованием Hibernate
    Курс посвящен изучению технологии JPA и её использованию на примере реализации Hibernate EntityManager.
  22. Akka для Java
    Akka представляет собой набор инструментов для построения параллельных и распределенных приложений на платформе JVM. В этом тренинге мы научимся создавать масштабируемые распределенные приложения с Akka Java API.
  23. RabbitMQ для разработчиков
    На курсе изучается широко используемый брокер сообщений с открытым исходным кодом RabbitMQ. Будет дано краткое введение в JMS, рассмотрены AMQP и модель потока сообщений в RabbitMQ, а также параметры конфигурации брокера.
  24. Разработка корпоративных приложений с использованием технологий Java EE
    На данном курсе слушатели узнают о технологии распределенных вычислений с использованием технологий JEE (Java Enterprise Edition), включая использование EJB, внедрение зависимостей CDI, работу с базами данных через технологию JPA и работу с брокерами сообщений на базе технологии JMS. Курс построен на сервере WildFly (JBoss) как самом популярном сервере приложений в настоящее время. Однако, знания могут быть применены к любому серверу, отвечающему спецификации JEE (WebSphere, WebLogic и т.д.).
  25. Работа с SOAP веб-сервисами на Java
    В рамках курса слушатели получат практические навыки разработки XML based web services на базе платформы Java® SE 7, узнают об основных концепциях технологии XML based web services, стандартах и рекомендациях, регламентирующих данную технологию, важности тех или иных инициатив в среде разработки веб-сервисов. Данный курс не предусматривает рассмотрение сторонних фреймворков и реализаций стека протокола SOAP.
Подробнее о курсе Java программирования →

Курс «Java-программист от JBorn»

Цена: нет информации

Ссылка на сайт: https://j-born.com/

  • 10 часов личного общения с преподавателем
  • Стажировка в реальном проекте
  • Трудоустройство после курса.
Перейти на официальный сайт →

Автор и преподаватель курсов — Lead Software Engineer в IT компании

«Меня зовут Михаил Максаймер, я практикующий Java-программист. В 2010 году окончил мехмат МГУ и с того момента работаю Java-программистом. Сейчас я Lead Software Engineer в IT компании в городе Берлин. По своему опыту знаю, по каким критериям компании подбирают Junior-разработчиков.»

  • 9 лет разработки на Java
  • Собрал 5 команд программистов
  • Более 100собеседований соискателей.

JBorn — это 6-8 месяцев обучения, никакой воды, только теория, практика и много общения с преподавателем. На курсе я готовлю учеников с нуля и до уровня, на котором можно найти работу.

Программа:

  1. Java Core
    Академический блок.
    Вы учитесь основам Java. Готовите фундамент из знаний для профессионального развития в программировании
  • Изучаем GIT, систему контроля версий и настраиваем окружение для работы
  • Учимся писать первый осмысленный код, строим из него сложные конструкции, готовимся к полному погружению в Java
  • Узнаёте, что такое память и какие её виды бывают в Java. Научитесь работать со строками и ссылочными типами
  • ООП. Классы и инкапсуляция (+Enum)
  • ООП. Наследование. Классы Object и Enum
  • ООП. Полиморфизм и Композиция
  • Generics (Обобщение)
  • Exceptions (Исключения)
  • Ввод/Вывод (I/O)
  • Сложность, структуры данных и коллекции в Java
  • Алгоритмы и их сложность
  • Роли в разработке. Основы Agile
  • Annotation & Reflection
  • Основы многопоточного программирования. Часть 1
  • Основы многопоточного программирования. Часть 2
  • Нововведения Java 8

Результаты обучения на блоке:

Вы будете готовы переходить к разработке приложений.
Навыков для выхода на работу ещё не будет, но будет основа для работы в учебном проекте и стажировки в реальном проекте.

  1. Java Web + Стажировка
    вы работаете над приложениями:
  • 1 этап — самостоятельно разрабатываете приложение
  • 2 этап — стажируетесь в благотворительном фонде «Вверх», работая в команде над реальным проектом.

За 12 уроков вы создаёте приложение:

  • Основы реляционных баз данных. Язык запросов SQL
  • Java DataBase Connectivity (JDBC), Maven
  • DataSource, Application Layering
  • JUnit, Mockito, Factory
  • H2, Liquibase, Junit
  • Основы Spring (Beans, Context)
  • HTTP, Postman, Web Servlet
  • Lombok, Jackson, Controllers
  • Java Persistence API (JPA)
  • Spring Boot
  • Spring Security
  • Spring Test.

Второй этап второго блока — 2 месяца
Стажировка в команде во время учёбы.

Результаты обучения на блоке:

Уверенные теоретические знания.
Практический опыт разработки приложения.

Отзывы об обучении доступны на сайте.

Подробнее о курсе Java программирования →

Курс «Java для начинающих от Hexlet »

Бесплатно

Ссылка на сайт: https://ru.code-basics.com/languages/java

Изучение программирования — непростой и длительный процесс. Изучение синтаксиса языка — самая простая и короткая часть в пути, но без неё невозможно начать. Этот курс посвящен азам написания программ на Java. Он готовит плацдарм для написания осмысленных программ

  • 23 часа
  • 61 урок с практикой в браузере.
Перейти на официальный сайт →

Содержание:

  1. Основы Java
    Изучать Java мы будем с нуля, с самых азов. Первый модуль – плацдарм для написания осмысленных программ. В нем мы разберем, как написать свой первый код на Java. Расскажем, что такое комментарии и зачем они нужны. На примере проверки ваших решений рассмотрим, что такое тестирование и как читать вывод тестов.
  • Привет, Мир!
  • Комментарии
  • Инструкции (Statements)
  • Как мы проверяем ваши решения
  • Ошибки оформления (синтаксиса).
  1. Арифметика
    Современные программы создаются для обслуживания бизнесов, помощи в ежедневной жизни и развлечений. Но в основе их работы по-прежнему лежат вычисления. Наиболее простая и базовая тема в программировании — арифметика. В этом модуле мы переведем арифметические действия на язык программирования. Вспомним школьные правила из уроков математики и поговорим о приоритете операций.
  • Арифметические операции
  • Операторы
  • Коммутативная операция
  • Композиция операций
  • Приоритет операций
  • Числа с плавающей точкой
  • Линтер.
  1. Строки
    Текст в программировании называется «строками», и эта тема не так проста, как может показаться. Как вывести фразу, в которой есть и одинарные, и двойные кавычки? Как вообще быть с текстом, ведь компьютер не знает ничего о буквах! Модуль посвящен разным аспектам написания текста – от кавычек и экранирования до кодировки.
  • Кавычки
  • Экранирующие последовательности
  • Конкатенация.
  1. Переменные
    Информацию можно помещать в специальные «хранилища» — переменные. Это позволяет переиспользовать уже существующие данные и не дублировать их в разных частях кода. В этом модуле мы разберем как изменять переменные и именовать их, чтобы чтение вашего кода было понятным для любого разработчика. Вы поймете, что придумать название переменной не так-то просто! А еще расскажем, как использовать переменные для упрощения сложных вычислений.
  • Что такое переменная
  • Изменение переменной
  • Выбор имени переменной
  • Ошибки при работе с переменными
  • Выражения в определениях
  • Переменные и конкатенация
  • Именование переменных
  • Магические числа
  • Константы.
  1. Типы данных Java
    Java — язык со строгой статической типизацией. Как это влияет на код, что такое типы, какие они бывают и кто их выводит. Все это изучается в данном модуле.
  • Зачем нужны типы данных
  • Явная типизация
  • Какие бывают типы
  • Значение null.
  • Явное преобразование типов.
  1. Вызов методов
    Для выражения любой произвольной операции в программировании существует понятие «функция». Функции — кирпичики, из которых программисты строят системы. В Java функции называют методами. В этом модуле мы научимся пользоваться уже созданными методами. Посмотрим на сигнатуру методов в документации и разберемся, как её использовать.
  • Методы и их вызов
  • Параметры методов
  • Вызов метода — выражение
  • Неизменяемость строк
  • Цепочки вызовов методов
  • Детерминированность
  • Стандартная библиотека
  • Какие бывают методы.
  1. Определение методов
    Определение собственных методов значительно упрощает написание и поддержку программ. Например, умение определять методы позволяет объединять сложные (составные) операции в одну – вся сложность может быть скрыта в одном простом методе. Научившись создавать методы, вы сделаете первый шаг на пути к построению по-настоящему полезных программ. И мы вам в этом поможем. В этом модуле вы создадите свой первый метод и научитесь давать ему (а заодно переменным) понятные названия.
  • Создание (определение) метода
  • Возврат значений
  • Параметры методов
  • Необязательные параметры методов.
  1. Логика
    Логические выражения позволяют отвечать на вопросы, которые возникают во время работы программы. Пользователь аутентифицирован? Подписка оплачена? Год високосный? В этом модуле изучаем функции-предикаты – те, которые задают вопрос и отвечают на него – правда это или ложь. Попрактикуемся в написании таких функций и перейдем к более сложным логическим выражениям.
  • Логический тип
  • Сравнение строк
  • Комбинирование операций и методов
  • Логические операторы
  • Отрицание.
  1. Условные конструкции
    Задача функции-предиката — получить ответ на вопрос, но обычно этого недостаточно и нужно выполнить определенное действие в зависимости от ответа. If и Switch – конструкции java, с помощью которых программист может выбирать необходимое поведение программы в зависимости от разных условий: пропускать одни инструкции и выполнять другие. Их и разберем на практике в этом модуле.
  • Условная конструкция (if)
  • Конструкция if-else
  • Конструкция else if
  • Тернарный оператор
  • Конструкция Switch.
  1. Циклы
    Любой код может повторяться десятки, тысячи, миллионы раз. В комбинации с другими известными нам инструментами — переменными и условиями — это открывает множество возможностей по построению программ и сложных систем. Приведем простой пример. Вам нужно найти конкретную фразу в учебнике из 500 страниц. Фразу вы помните, а вот номер страницы нет. Самый простой (и долгий) способ — последовательно просматривать страницы до тех пор, пока не найдете нужную. Для выполнения таких повторяющихся действий и нужны циклы.
  • Цикл While
  • Агрегация данных (Числа)
  • Агрегация данных (Строки)
  • Обход строк
  • Условия внутри тела цикла
  • Формирование строк в циклах
  • Синтаксический сахар
  • Инкремент и декремент
  • Возврат из циклов
  • Цикл For.
Подробнее о курсе Java программирования →

Курс «Java-разработчик от IT Avenue»

Цена: 56 050 руб. — 74 200 руб.

Ссылка на сайт: https://msk.avenue.school/courses/java-developer/

Java – универсальный инструмент для разработки программ. Вы научитесь создавать веб-сервисы и программы для любой сферы бизнеса: от ресторанов до онлайн-банкинга.

  • 5,5 месяцев
  • Очно / онлайн.
Перейти на официальный сайт →

Java -разработчик – специалист по созданию приложений на языке программирования Java.

Обязанности Java -разработчика:

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

Кому подойдёт этот курс:

  • Новичкам в сфере IT
    Наш курс рассчитан на обучение с нуля. Окончив учебу, вы овладеете принципами ООП на Java, а также получите необходимые знания и навыки, чтобы начать свою карьеру с высокой зарплаты.
  • Студентам
    Если вы студент технического направления и вам надоело изучать языки программирования по книжкам, добро пожаловать! У нас вы получите углублённую информацию, будете программировать на практике и реализуете первые серьёзные проекты.
  • Тем, кто еще не сделал выбор
    Java – универсальный язык программирования. Многие программисты начали свой путь именно с изучения Java, ведь он является самым распространенным в мире. Java открывает много возможностей: от мобильной разработки до работы с высоконагруженными серверами.
  • Действующим программистам
    Java – один из самых популярных языков программирования. Даже в 2020 году он не сдаёт позиции мирового лидера. Хотите оставаться в тренде, создавать крутые высоконагруженные сервера или коммерческие сайты со сложным внутренним функционалом? Тогда ждем на уроках.

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

  1. Основы Java
  • Основы. Компилятор, Интерпретатор, JDK, JRE, документатор. Среда Разработки. Обзор популярных сред разработки на Java. Установка IntelliJ IDEA. Написание первой программы на Java.
  • Типы данных и их преобразования. Примитивные типы в java. Логические операторы. Работа с Логическими операторами.
  • Управляющие конструкции и циклы. FOR, WHILE, IF, ELSE, ELSE IF.
  • Массив. Элементы Массива. Общая форма описания одномерного массива. Метод «пузырька».
  • Практическая работа № 1: Методы. Строение метода. Параметры: входящие, исходящие. Создание метода и вызов из другого класса.
  • Двухмерные массивы в Java. Работа с Двухмерными Массивами.
  • Практическая работа № 2: Написание консольного приложения по поиску необходимого тура.

По итогам модуля:
Изучены основы языка java: циклы, примитивные типы, управляющие конструкции. Умение строить грамотный код для написания логических решений. Готовое консольное приложение «Подбор Туров».

  1. Объектно-ориентированное программирование Java
  • Ссылочные типы данных и работа с ними. Класс String и StringBuffer.
  • Классы. Строение класса. Элементы класса. Конструкторы, переменные и методы. Роль классов в написании программ.
  • Введение в ООП на Java. Наследование. Класс Object и работа с ним.
  • Полиморфизм в java. Переопределение и перегрузка методов. Инкапсуляция: публичные методы, сокрытие методов в Java. Рекурсия.
  • Абстрактные классы и интерфейсы в Java – в чём различия? Место классов и интерфейсов в написании приложений на Java.
  • Исключения и работа с ними. Операторы TRY / CATCH / FINALLY. Собственные классы исключений.
  • Работа с файлами: копирование, перемещение, удаление, создание. Считывание информации с файла и работа с ней. Классы: File, InputStream, OutputStream, Reader, Writer и другие. Сериализация и десериализация.
  • Написание собственного приложения: Игра «21 (очко)». Данная практическая работа рассчитана на 2 занятия.

По итогам модуля:
Полное понимание принципов ООП в Java. Создано на Java: Приложение- игра «21 (очко)».

  1. Коллекции и многопоточность. Основы БД MySQL.
  • Разбор самых популярных коллекции в java: ArrayList и LinkedList, HashSet, LinkedHashSet. Работа с ассоциативными массивами: HashMap.
  • Учимся сортировать элементы в коллекции: по цене, по названию. Работа с коллекцией SortedSet.
  • Многопоточность. Разбор класса Thread и интерфейса Runnable. Что такое монитор? И как правильно создавать многопоточные программы. Большая практическая работа: написание многопоточного приложения.
  • Сборщик проектов Maven. Модульное тестирование с помощью JUnit.
  • Логирование как лучшее средство от ошибок в программе. Принципы логирования. Настройка Log4j.
  • Основы работы с реляционными базами данных. Разбор и установка самой популярной БД — MySQL. Работа с MySQL Workbench.
  • Строим структуру Базы Данных для будущего приложения: создание таблиц, связи между таблицами, работа с первичным ключем, разбор процедур и триггеров.
  • SQL как язык для обращения в MySQL: учим оператор SELECT, ALTER. Работа с подзапросами IN, SOME, ALL, BETWEEN. Встроенные функции. Выборка из нескольких таблиц с помощью JOIN, LEFT JOIN и другими.

По итогам модуля:
Умение работать с коллекциями в Java. Создана и настроена база данных MySQL для будущего финального проекта — CRM системы.

  1. HTTP, основы HTML&CSS, основы JavaScript
  • Вёрстка сайтов – HTML & CSS. Веб-разработка – введение, основные понятия и этапы создания сайта. HTML Теги: типы, атрибуты. Работа с Текстом: абзацы, заголовки, списки и цитаты.
  • Основы CSS. Наследование и Каскадирование. Базовый синтаксис. Функционал и работа с Каскадными Таблицами Стиля.
  • Адаптация сайта под разные устройства (мобильные телефоны и планшет) с помощью flex-box.
  • Большая практическая работа: верстка по макету всех страниц финального проекта: CRM-системы.
  • Изучение основ JavaScript и JQuery для добавления динамики на страницах.
  • Хостинг, Домен. Заказываем выделенный сервер и публикуем наши страницы в интернете.
  • Протокол HTTP. GET и POST запросы. Адресация в интернете. IP адрес. Разбор и установка java-сервера TomCat. Запуск первого web-приложения на java. Разбор полного цикла запроса от пользователя к приложению и обратно.
  • Что такое Servlet? Что такое JSP-страница? Шаблон построение web-приложения MVC. Работа над главной страницей финального проекта.

По итогам модуля:
Умение самостоятельно сверстать по макету несложный сайт, купить домен и настроить хостинг для публикации странички в интернете. Понимание принципов работы полноценного web-приложения на java.

  1. Java EE и Веб-разработка
  • Подключение Базы Данных MySQL к приложению на java. Разбор технологии JDBC.
  • Filter и Listener в web-разработке. Подключение их к проекту.
  • Основные возможности JSTL для создания JSP-страниц.
  • Базовые знания: JavaScript, JQuery, AJAX. Оптимизация кода на Java.
  • Шаблоны программирования в Java: MVC, DAO, Singleton, Abstract Factory и другие
  • Большая практическая работа: создание внутренней логики сайта на java для CRM-системы. Разбор функционала: авторизация на сайте, реализация входа по ролям, редактирование информации на странице, добавление и удаление данных на сайте.
  • Работа с выделенным виртуальным сервером LINUX (vps). Настройка vps, разбор linux-команд. Публикация сайта в Интернете. Подключение домена к сайту.
  • Подготовка к собеседованию: разбор часто задаваемых вопросов.

По итогам модуля:
Написанное полноценное web-приложение на java — CRM система с авторизацией, и опубликована в интернете.

Что будете уметь при завершении курса?

  • Создавать десктопные приложения на Java
  • Использовать Java в веб-разработке
  • Проектировать Базы Данных для Java-приложений
  • Создавать интерфейсы с помощью коллекций
  • Работать с хостингом.

Куратор курса:

Шульга Наталья
Java разработчик с опытом более 6-ти лет

  • Опыт работы в IT 7+ лет. С февраля 2015 года работает в компании 6Systems.
  • Более 30 успешных IT-проектов
  • Более 6 лет опыта работы в IT
  • Более 4-х лет опыта преподавания программирования
  • Разрабатывала высоконагруженные игровые сервера, ПО для банков и ресторанного бизнеса.
Подробнее о курсе Java программирования →

Курс «Программирование на Java от Академия BELHARD»

Цена: 730 BYN

Ссылка на сайт: https://belhard.academy/java

Перейти на официальный сайт →

Кто такой Java-разработчик?
Специалист, который создает комплексные приложения, используя одноименный язык программирования. Java широко используется на сайтах электронной коммерции, в различных корпоративных информационных системах. Java является ведущим языком разработки приложений под ОС Android и используется во встраиваемых системах.

Стать программистом на Java под силу каждому, кто готов много трудиться и заниматься профессиональным развитием, изучать профильную литературу и решать трудные, но интересные задачи. Для того, чтобы стать Java-программистом, не обязательно сдавать сложные экзамены и учиться много лет в университете.

Курсы Java дадут вам все необходимые знания для прохождения технического собеседования на желаемую должность. Преподаватели курсов – специалисты ведущих компаний Беларуси с опытом работы на проектах различного масштаба и сложности. Наши программы адаптированы под требования рынка. Вы получите самую актуальную информацию и практические навыки разработки, которые помогут вам максимально быстро стать Java-разработчиком.

Этапы online обучения:

  • Программирование на Java. Начальный уровень
  • Разработка корпоративных приложений на Java (J2EE). Профессиональный уровень
  • Java-разрабочик с опытом работы на реальном проекте.

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

Начальный уровень

  • Структура платформы Java: JDK, JRE, JVМ
  • Типы данных: примитивные и ссылочные
  • Переменные
  • Операторы
  • Условные операторы выполнения
  • Циклы
  • Массивы
  • Введение в классы
  • Строки
  • Классы и объекты
  • Абстрактные классы и интерфейсы
  • Внутренние классы
  • Аннотации
  • Дженерики
  • Коллекции
  • Исключения
  • Работа с файлами
  • XML
  • Потоки
  • Новое в Java
  • Работа с БД.

Профессиональный уровень

  • Проектирование корпоративных приложений. Проектирование приложения на учебном примере
  • Модель предметной области
  • Проектирование приложения
  • Технологии создания корпоративных приложений. Проектирование «реального» корпоративного приложения
  • Базы данных
  • Создание веб-приложений
  • Альтернативные и сопутствующие технологии разработки корпоративных приложений.

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

Роман Кашенок
Практикующий Java разработчик в компании Softteco. Имеет опыт работы с open source, крупными корпоративными и небольшими частными проектами.
Работал в нескольких ведущих IT компаниях СНГ и ближнего зарубежья.
Занимается разработкой как мобильных, так и серверных приложений.
Общий стаж в сфере IT более 5 лет.

Сергей Волошенок
Практикующий Java-разработчик в EPAM Systems Inc (Беларусь). Общий стаж в сфере IT– более 9 лет.

Александр Лисичик
Senior FullStack Software Developer (Java/Java Script) в компании «Intetics». Более 3 лет опыта разработки web-приложений. Есть опыт разработки и внедрения проектов с нуля. Среди разработанных продуктов: web-порталы различного уровня сложности, web-модули для логистической компании, web-сайт для компании, работающей в сфере медицины.

Евгений Храпан
Практикующий Java developer в компании «Smart IT». Опыт коммерческой разработки более 4-х лет. Основные технологии – Spring, Java 8/11, реляционные и NoSQL базы данных, Docker, CI/CD pipelines. Опыт менторинга и собеседования джуниров в рамках компании.

Герман Рябинкин
Практикующий Java разработчик в компании EPAM Systems Inc (Беларусь). Работает в сфере Enterprise Web Development (разработка крупных корпоративных систем).
Имеет опыт работы как с бэкенд так и фронтенд сторонами клиент-серверных приложений.
Общий опыт в сфере IT — более 5 лет.

Екатерина Демидова
Практикующий Java-разработчик с опытом работы более трех лет. Владеет языками программирования такими как: Java, C#, Python. Имеет глубокое понимание работы окружения стеков и платформ данных языков. Занимается разработкой IT — услуг по различным направлениям, а также преподаванием Java.

Отзывы слушателей:

Скрупский Владислав

«От курсов получил даже больше ожидаемого, знания достаточные для понимания основ Java и есть затравка для углубления знаний. Огромное спасибо за организацию подобных курсов и отдельное спасибо преподавателю за грамотную подачу материала.»

Гайкин Илья

«Отличный курс. Особенно хочется отметить преподавателя. Ответы на вопросы получал в полном объеме и очень быстро. Постоянно на связи.»

Подробнее о курсе Java программирования →

Курс «Java-разработчик от ProductStar»

Цена: 64 896 ₽

Ссылка на сайт: https://productstar.ru/dev-java-course

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

  • Длительность – 6 месяцев
  • Онлайн в удобное время
  • Обучение на практике
  • Доступ к курсу навсегда.
Перейти на официальный сайт →

Что вы получите:

  • Трудоустройство
    помощь с трудоустройством в течение 6 месяцев обучения
  • Поддержка ментором
    прохождение курса с удобной вам скоростью
  • Акцент на практику
    практика после каждой из 60 лекций на кейсах ведущих компаний рынка.

Чему вы научитесь:

  1. Писать код на Java
    Изучите синтаксис языка, познакомитесь с переменными и операторами, научитесь писать и структурировать свой код и разбираться в чужом
  2. Работать с MySQL
    Узнаете, как сохранять и изменять информацию в базе данных MySQL. Научитесь писать запросы и управлять большими объёмами данных
  3. Создавать веб-приложения
    Поймёте, как превратить строки кода на Java в работающую программу, и научитесь разрабатывать веб-приложения с помощью фреймворка Spring
  4. Пользоваться Git
    Научитесь работать с распределённой системой контроля версий вместе с командой, сможете вносить или откатывать изменения в рамках одного проекта.

Как проходит обучение:

Изучаете тему
В курсе — полезные видеоуроки

Выполняете домашнее задание
В том темпе, в котором вам удобно

Общаетесь с наставником
Закрепляете знания и исправляете ошибки

Защищаете дипломный проект
И дополняете им свое портфолио.

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

Блок 1: «Основы Java»

  • Знакомство с языком Java и инструментами
  • Переменные и типы данных в Java
  • Циклы и языковые конструкции в Java
  • Работа с массивами
  • Классы и объекты (Часть 1)
  • Классы и объекты (Часть 2)
  • Обработка исключений
  • Строки и регулярные выражения
  • Первая программа на Java
  • Бонусный урок. Разбираем Домашние задания

Блок 2: «Java Core»

  • Знакомство с алгоритмами
  • Введение в коллекции: списки, стеки и очереди
  • Коллекции: map, set
  • Stream api, lambda, optional
  • Домашнее задание по коллекциям Java
  • Generic-типы. Runtime, wildcards & PECS
  • Работа с памятью JVM
  • Знакомство с Linux
  • Продолжение знакомства с Linux
  • Работа с файлами. Адаптер и декоратор
  • Домашнее задание: консольная утилита для поиска по файлу
  • Сериализация. Взаимодействие сервисов, бинарная сериализация, xml, json, yaml
  • Работа с сетью. UPD, TCP/HTTP, OSI
  • Домашнее задание: работа с сетью и API
  • Java библиотека NIO. Отличия IO и NIO
  • Многопоточное программирование в Java. Синхронизация, классы concurrent.
  • Рефлексия в Java. Создание аннотаций

Блок 3: «Работа с Git и Spring Framework»

  • Системы контроля версий. Версионирование кода, совместная разработка, CSV
  • Git & GitHub. Git, Commit, Ветки, слияние веток и разрешение конфликтов, GitHub, Командная работа, Код ревью
  • Системы автоматической сборки Java-проектов
  • Inversion of control / Dependency Injection
  • Что такое Spring framework и зачем он нужен?
  • pring Application Context – от XML до Groovy
  • Spring Web. REST-архитектура и контроллеры
  • Сервера, Tomcat
  • MVC & Spring Boot. Архитектура Веб Сервиса, MVC, Spting Boot
  • Основы HTML. Язык разметки страницы
  • CRUD приложение. Create, Read, Update, Delete application
  • Введение в блок SQL
  • Извлечение и фильтрация данных
  • Преобразование и сортировка данных
  • Базы данных, Подключение, запуск instance / JDBC
  • Развиваем проект и добавляем в БД (делаем todo)

Блок 4: «SQL и базы данных»

  • Группировка данных
  • Введение в базы данных
  • Объединение таблиц
  • Подзапросы
  • Обновление, добавление и удаление данных
  • Создание, изменение и удаление таблиц
  • Advanced
  • PostgreSQL + примеры
  • Реляционные базы данных PostgreSQL
  • Транзакции и уровни изоляции + Индексы
  • Spring JDBC / JOOQ
  • Hibernate (теория)
  • Hibernate (практика) Spring-data

Блок 5: Дипломная работа и помощь с трудоустройством

  • Работа над дипломным проектом для портфолио
  • Подготовка резюме
  • Подготовка к собеседованию
  • Финальная защита и консультации.

Ваше резюме и проф.навыки после курса:

Должность: Java-разработчик
Зарплата от: 125.000 рублей

Создание web-приложений
Разработка веб-приложений на Java

  1. Создание чат-ботов
    Создание чат-ботов для Telegram на языке Java
  2. Основы тестирования
    Автоматизированное и ручное тестирование приложений
  3. ООП
    Знание принципов ООП и применение их в рабочих проектах
  4. Работа с базами данных
    Работа с Redis и MongoDB
  5. Spring MVC
    Разработка веб-приложений на фреймворке Spring
  6. Оптимизация кода
    Тестирование и оптимизация кода, отлов исключений
  7. Многопоточные приложения
    Настройка многопоточности для приложений на языке Java
  8. SQL
    Продвинутый уровень анализа данных за счёт использования SQL-запросов
  9. Backend и frontend
    Создание backend-приложения и визуальной frontend-части
  10. Работа с сетью
    Работа с протоколом HTTP, с файлами и сетью
  11. Принципы проектирования
    Использование шаблонов проектирования.

Выпускники получают сертификат об успешном прохождении курса — что, вместе с дипломным проектом, будет хорошим аргументом при трудоустройстве.

Подробнее о курсе Java программирования →

Курс «Java Pro от ITEA»

Цена: 555 EUR

Ссылка на сайт: https://onlineitea.com/course/java-basic/

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

Перейти на официальный сайт →

Этот курс — для тебя, если ты хочешь изучить перспективную профессию, но не планируешь тратить бесчисленные часы на растянутые программы обучения. За 37 интенсивных онлайн-занятий ты освоишь Java на продвинутом уровне: выучишь синтаксис языка, разработаешь простые и сложные приложения, поработаешь с базами данных и разберешься в типах данных.

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

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

Курс проходит так:

  1. 37 live-занятий
    Ты подключаешься к онлайн-занятию. Во время урока ты будешь слышать не только преподавателя, но и своих одногруппников. Таким образом, ты в любой момент сможешь задать преподавателю вопрос и получить личный фидбек.
  2. Проверка знаний: тесты и домашние задания
    Обучение Java с нуля обязательно содержит домашние задания по пройденной теме. Так ты сможешь закрепить материал и получить практический опыт.
  3. Индивидуальная работа с ментором
    Ментор консультирует студентов по поводу выполнения домашних заданий, а также сопровождает группу во время занятий и в неурочное время. Помогая и поддерживая каждого студента, ментор делает изучение нового материала легким и понятным.
  4. Курсовой проект для портфолио
    Курс Java Pro для начинающих построен таким образом, чтобы в конце обучения студенты могли подготовить собственный проект, который позже можно включить в свое портфолио.

Ты научишься:

  • Ориентироваться в синтаксисе языка Java
  • Разрабатывать простые приложения на языке Java
  • Использовать полученные знания для более узких направлений: разработка мобильных программ, веб-приложений
  • Использовать основные элементы технологии и конструкции языка
  • Работать с базами данных и разбираться в типах данных
  • Проектировать модульные тесты и работать по TDD
  • Разрабатывать небольшой IoC-контейнер (маленький Spring)
  • Разрабатывать свой загрузчик классов.

План обучения:

  1. Общая характеристика языка Java
  • История языка Java
  • Байт-код
  • Виртуальная машина Java (JVM)
  • Трансляция, интерпретация и компиляция
  • JIT-компиляция
  • JDK и его структура
  • Команды JDK: javac, java, appletviewer, jar (en10)
  • Их использование и параметры
  • Поиск и загрузка классов
  • Создание и запуск первого приложения на Java
  • Выход из программы и завершения ее работы
  • Использование IDE Eclipse/NetBeans/Intellij IDEA для создания и выполнения программ
  1. Типы данных и основные операции с ними
  • Алфавит языка
  • Комментарии
  • Ключевые слова
  • Типы данных: простые(примитивные) и по ссылке
  • Идентификаторы, выбор имен идентификаторов
  • Переменные и константы
  • Объявления и инициализация переменных
  • Область видимости и время жизни переменных
  • Операторы
  • Операции: арифметические, присваивания, отношения и логические
  • Преобразование и приведение числовых типов
  • Приоритет операций
  • Использование круглых скобок
  1. Поток управления
  • Составной оператор (блок)
  • Условный оператор и его виды
  • Оператор switch
  • Циклы: for, while, do while
  • Бесконечные циклы
  • Прерывание потока управления, метки
  • Оператор goto и причины почему его не следует применять
  1. Массивы
  • Объявления и инициализация массивов, в т.ч. анонимных
  • Линейные массивы
  • Итерация по элементам массива
  • Массивы и присвоения
  • Передача и возврат массивов в/из методов
  • Копирование массивов
  • Класс Arrays: заполнение, сравнение элементов и их сортировка
  • Поиск в массивах
  • Многомерные массивы, «неравные» массивы
  • Методы: аргументы переменной длины
  • Параметры командной строки
  1. Строки
  • Класс String. Неизменные объекты
  • Хранение строк в памяти
  • Основные операции класса String (создание, конкатенация, сравнение, поиск символов и подстрок в строках и др.). Преобразование простых типов данных
  • Разбивка строк: класс StringTokenizer. Переменные объекты: классы StringBuffer и StringBuilder
  • Основные методы. StringBuffer vs StringBuilder
  1. Основы работы с системой контроля версий
  2. Введение в объектно-ориентированное программирование. Объекты и классы
  • Поля и методы (определение, синтаксис объявления)
  • Спецификаторы доступа public и private
  • Поля классов: инициализация явная и по умолчанию, спецификатор final и константы
  • Доступ к полям и методам
  • Методы: параметры (ссылки и простые типы) и возвращаемые, использование set и get- методов, перезагрузки методов, правила перезагрузки
  • Объектная модель. Основные положения: абстрагирование, инкапсуляция, модульность, иерархия
  • Диаграммы классов UML.
  • Объекты и классы. Объекты. Определение (с примерами). Состояние. Поведение.
  • Конструкторы: конструкторы по умолчанию, вызов одного конструктора из другого
  • Блоки инициализации
  • Статические поля и методы: инициализация константы, статические блоки инициализации. Использование this для доступа к членам класса
  • Сбор мусора и удаления объектов
  1. Отношение между объектами
  • Зависимости, их разновидности
  • Обобщение
  • Ассоциации
  • Реализации
  • Связи, их множественность
  1. Наследование и полиморфизм
  • Наследование и полиморфизм как инструмент создания ПО. Суперкласс и подклассы, отношение обобщения, наследование в Java. Вызов конструкторов суперклассов, порядок вызовов. Ключевое слово super ()
  • Переопределение методов, правила переопределения. Наследование и статические поля и методы классов. Абстрактные классы и методы, – понятие, вызов конструкторов, реализация методов в субклассы
  • Интерфейсы. «Множественное» наследование. Определение и реализация интерфейсов. Расширение интерфейсов. Композиция как альтернатива множественному наследованию
  • Полиморфизм. Иерархия наследования
  • Преобразование и приведение типов. Использование instanceof. Отказ от наследования: терминальные (final) методы и классы. Включение как альтернатива множественному наследованию
  • Пакеты. Вложенность пакетов. Повторное использование кода и пакеты. Защита доступа.
  • Импорт: классов, статических методов и полей
  1. Класс Object
  • Глобальный суперкласс Object
  • Методы equals (), hashCode (), toString (), finalize (), clone () и др
  • Правила реализации equals () и hashCode ()
  • Интерфейс Cloneable и его реализация
  • Клонирование: поверхностное и глубокое
  1. Внутренние классы
  • Синтаксис объявления
  • Создание объектов внутренних классов
  • Поля и методы внутренних классов
  • Вложенность внутренних классов и доступ к членам внешних классов
  • Ссылка this во внутреннем классе
  • Доступ к полям и методам внешнего класса с внутреннего
  • Внутренние классы и спецификаторы доступа
  • Вложенные интерфейсы
  • Применение внутренних классов
  • Внутренние локальные классы (Method-LocalInnerClasses)
  • Анонимные внутренние классы
  • Вложенные (внутренние статические) классы (static nested classes)
  • Создание экземпляров
  • Доступ к экземпляру внешнего класса
  • Компиляция программ с внутренними классами
  1. Перечисление
  • Перечисление как классы. Методы values (), valueof (), name (), ordinal ().
  • Константы, конструкторы, методы и поля
  • Перечисление и конструкция switch. Импорт членов перечислений
  1. Работа с базами данных
  • Основы построения реляционных баз данных.
  • SQL
  • Нормальные формы. Запросы SELECT, INSERT, UPDATE, DELETE
  • JDBC
  • Driver, Connection, Statement, ResultSet, PrepareStatement
  1. Обработка ошибок и исключения
  • Подходы к обработке ошибок времени выполнения
  • Понятие исключения и исключительной ситуации
  • Иерархия классов исключений в Java
  • Контролируемые (что проверяются) и неконтролируемые (не проверяются) исключения
  • Генерация исключительной ситуации и оператор throws
  • Объявления контролируемых исключений, ключевое слово throws
  • Throws и перезагрузки методов
  • Перехват исключений
  • Перехват «всех» исключений
  • Обработка исключений
  • Повторная генерация исключений
  • Блок finally: освобождение ресурсов
  • Создание собственной иерархии исключений
  • Регистрация ошибок, логирования: логеры, уровень логгер, уровень сообщений, обработчики (объекты подкласса java.util.logging.Handler)
  • Пример
  1. Система ввода-вывода
  • Иерархия классов потокового ввода-вывода:
  • Потоки ввода/вывода, механизм работы с потоками, иерархия потокового ввода-вывода
  • Субклассы FilterOutputStream и FilterInputStream
  • Байтовые потоки
  • Символьные потоки
  • Класс File. Класс RandomAccessFile
  • Сериализация и десериализация объектов: понятие, назначение, реализация
  • Пример
  1. Desktop-приложения
  • SWING, AWT. Пример простого приложения с GUI
  • Обработка событий
  1. Классы коллекций
  • Понятие абстрактного типа данных (АТД)
  • Структуры данных: списки, стеки, множества, дерева, карты
  • Обход коллекций: интерфейсы Iteratorта и ListIterator, цикл «foreach»
  • Компараторы
  • Класс Collections: поиск и сортировка элементов, заполнения, синхронизование представления, неизменные представления и др.
  1. Знакомство с XML
  • Понятие формальной корректности и допустимости.
  • Парсинг, хранение состояние объектов
  • Примеры
  1. Многопоточность
  • Понятие потока. Особенности параллельного выполнения
  • Потоки-демоны
  • Приоритеты потоков. Метод yield ()
  • Состояние потока: создание потоков, -runnable и -runninig – потоки
  1. Классы BigInteger и BigDecimal. Основные операции
  • Документирование кода
  • Включение комментариев
  • Документирование пакетов
  • Дескрипторы общего назначения
  • Комментарии к классам, методам и полей
  • Использование javadoc
  1. Универсальные типы
  • Параметризованные типы: классы и интерфейсы. Параметры типа
  • Ограничения, наложенные на параметризованные типы: простые типы, инстанцирование, суперкласс, исключение.
  • Параметризованные типы и JVM
  1. Утилитные пакеты
  • Форматирование и время java.util, java.time
  • Файловая система, java.io, Externalizable, java.nio
  • Неизменяемые объекты
  • Сериализация и десериализация данных
  1. Java 8. Анонимные функции. Stream API
  2. Maven
  • Автоматизация сборки Java-проектов. Декларативное описание проекта. Управление зависимостями. Артефакты jar, war, ear. Правила разработки собственных фреймворков и библиотек
  • Ant the Java legacy build tool
  • Maven POM
  1. Модульное тестирование
  • Правила и принципы
  • TDD
  • Дублеры
  • Mockito & PowerMock
  1. Java annotations
  2. Java reflection
  3. Advanced generics
  • Причины улучшения подсистемы типов
  • Raw Types
  • Wildcards, <? super T>, <? extends T>
  • Type Erasure
  • Получение информации о типе generic в runtime
  • Дообработка собственной коллекции
  1. Advanced collections
  • Data Structure Complexity
  • WeakHashMap и другие
  • Сторонние библиотеки коллекций
  1. Advanced multithreading / concurrency
  • Низкоуровневый API
  • Waiting/blocked/sleeping-потоки; состояние потока “dead”
  • Получение результатов выполнения многопоточных вычислений. Метод join()
  • Синхронизация: синхронизация методов. Синхронизационные блоки.
  • Блокирование. Взаимодействие потоков (Thread Interaction)
  • Синхронизация потоков, взаимодействие потоков, шаблон “Producer-Consumer”
  • Особенность реализации volatile
  • Java Memory Model (JMM)
  • Публикация объектов
  • Высокоуровневый API
  • Библиотека java.util.concurrent
  1. Advanced OOP
  • SOLID (базовые принципы объектно-ориентированного программирования).
  • Dependency injection (DI) and Inversion of control (IoC)
  1. Design patterns
  2. JRE security, JVM internals
  • Платформы, архитектура, байт-код, ClassLoader, garbage collector, средства JVM для защищенного выполнения кода
  • Sandbox
  • Memory Management
  • Performance Optimization
  • Роль JAAS
  1. Desktop-приложения: технология javafx
  2. Spring
  • Inversion of Control
  • Доступ к данным
  • Управление транзакциями
  1. Работа с XML и JSON
  • Потоковый анализ на основе SAX. Анализ на основе DOM
  • Генерация Java-классов по схеме
  • Валидация. JSON
  1. Введение SQL
  • DDL & DML
  • Primary Key и Foreign Key
  • SQL Types
  • JOINs
  • Database Indexes
  1. JDBC
  • Пул соединений
  • Data Access Object
  1. Знакомство с Lombok и Log4j
  2. Экзамен. Защита программного проекта
  3. Как составить резюме и пройти собеседование
  • Структура резюме
  • Часто задаваемые вопросы
  • Как вести себя на собеседовании
  • Основные ошибки на собеседовании
  • Урок английского языка №1
  • Урок английского языка №2
  • Урок поиска работы.

После курса Java Pro у тебя будет:

  1. Сертификат после окончания обучения в соответствии с успеваемостью
  2. Доступ к материалам и записям занятий в течение года в личном кабинете на удобной платформе
  3. Возможность присоединиться к ITEA community
  4. (более 16 000 выпускников)
  5. Портфолио с проектами и работами
  6. Поддержка с трудоустройством
  7. Яркий опыт работы с профессиональными инструментами.

Отзывы:

Юрий Мелкумян
Проходил обучение в Академии. Начал с основ программирования, потом долго искал себя: тестирование, C++, Java.

«В результате все же «поймал волну». Хочу сказать слова благодарности преподавателю по Java Денису Ковбию. Занятия были насыщенными, содержательными, полезными. А также благодарю весь коллектив Академии, который смог так качественно организовать обучение в условиях карантина».

Даниил Процак

«Окончил полный курс Java, результат очень радует, с полного нуля поднялся до знаний юниора-девелопера. Благодарю академию за этот золотой опыт, всем рекомендую.»

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

  • Денис Ковбий
    Java Developer
  • Антон Мальцев
    Более 10 лет в Java-разработке. Сертифицированный Java-разработчик с внушительным математическим бэкграундом. Кандидат физико-математических наук. Имеет опыт работы в больших коллективах разработчиков, занимающихся решением сложных и наукоёмких задач.
Подробнее о курсе Java программирования →

Курс «Java от Академия компьютерного мастерства Progwards»

Цена: разная стоимость

Ссылка на сайт: https://progwards.ru/

Персонализированная подготовка Junior и Middle Java Developer с нуля и любого уровня.

Перейти на официальный сайт →

Будь уверен в результате

  • Персонализированное обучение
    Собираем данные по твоему обучению и готовим задания специально для тебя, чтобы повысить качество усвоения материала и заполнить пробелы в твоих знаниях
  • Наставники с опытом в 30 лет
    Учат практикующие программисты, а не теоретики. Тебе передают реальный опыт, наработанные методики, паттернны и фишечеки
  • Обратная связь и консультации
    Обязательный разбор каждого домашнего задания, живые консультации-вебинары, оперативные ответы в чате и персональные онлайн беседы с наставником
  • Инновационная методика
    Blended learning — сочетание самого лучшего из онлайн и офлайн образования. Успеваемость повышается на 18%, доходимость до конца курса — на 47%.

Кaк ты будешь учиться:

  1. Изучаешь теорию
    Смотришь короткую видеолекцию 20-30 минут, для подробного изучения одной темы
  2. Закрепляешь знания
    Проходишь интерактивный тест, он помогает закрепить изученный материал. Таких блоков лекция-тест обычно 3
  3. Выполняешь домашнее задание
    Домашнее задание состоит из нескольких задач. Можешь выбрать сам, с какой начать
  4. Получаешь оперативную помощь
    Если возникли вопросы, то задаешь их в чате, или наоборот — помогаешь другим, Наставник следит, и поправляет, если кто ошибся
  5. Сдаешь домашнюю работу
    Правильность работы кода проверяет робот, и ты сразу можешь приступать к следующему уроку, Стиль и качество проверяет наставник через Code Review
  6. Устраняешь пробелы в знаниях
    Оставшиеся вопросы ты выясняешь у наставника на вебинаре-консультации личной или групповой
  7. Участвуешь в интенсивах
    А еще тебя ждут семинары, хатаконы, live coding, code wars и реальные проекты. Скучать не придется!

Учим так, что не боимся гарантировать трудоустройство или возврат денег

Персонализированное обучение
Исследования, проведенные в университетах США, показали, что применение персонализация обучения увеличивает успеваемость на 18% и доходимость до конца курса на 47%. Мы собираем различные метрики по твоему обучению, и основываясь на них выдаем задания, подготовленные специально для тебя. Это поможет тебе лучше усваивать необходимый материал.
По результатам эксперимента по технологии Knewton в Аризонском Университете, США…

Blended learning и геймификация
Мы смешали в единый коктейль самое лучшее из онлайн и офлайн образования. Тебя ждут не только интерактивные уроки, но и живые вебинары-консультации, семинары, хакатоны, live coding, code wars и реальные проекты. Учиться у нас классно и интересно. А интерес, это базовая эмоция управляющая познавательной деятельностью человека. Это как раз и ведет к хорошим результатам в обучении.

Динамическая обучающая система
Для уроков ты используешь динамическую интерактивную обучающую систему. Проходить уроки можно в любое удобное время, даже ночью, и в комфортном для тебя месте — дома, в библиотеке, в кафе или Макдональдс. Каждый сам решает, когда у него пик продуктивности и достаточно свободного времени. В уроках тебя ждут короткие видео-лекции и 3-х фазные тесты, направленные на улучшение запоминания, понимания и применения изучаемого материала.

Помощь наставника
Наставники активно участвуют в обучающем процессе. Это и code review — обязательный разбор домашнего задания в обучающей системе, это и интенсивы в различных форматах, это и живые вебинары-консультации, где ты можешь задать любые волнующие тебя вопросы, даже не по теме урока, это и оперативные ответы в чате. Ну, и чисто наша фишка — личные беседы с наставником.

Наша команда:

Валерий Мазнев
Стаж программирования 34 года. Занимался разработкой инфраструктуры и языка класса Java 17 лет. Имеет практический опыт программирования на 10 языках. Занимался как очным, так и онлайн обучением, руководитель департамента разработки платформ Корпорации Галактика

Никита Корнеев
Стаж программирования более 30 лет. Закончил факультет Вычислительной Математики и Кибернетики МГУ им. Ломоносова. Использует в разработках облачные технологии AWS и MS Azure, SQL. За плечами 3-летний опыт очного обучения.

Антоника Мазнева
Занимается обучение более 12 лет, психолог, коуч, наставник и бизнес-консультант. Автор и ведущая нескольких десятков тренингов

Сергей Алтунджи
Стаж программирования 20 лет. Закончил Механико-математичекий факультет МГУ им. Ломоносова. Работал в корпорации Галактика. Занимался обучением в нескольких областях — математика, программирование, различные ввиды спорта

Артем Трунов
Ведущий разработчик Сбербанка, лидер компетенций. Победитель хакатона Сбербанка. Старший преподаватель МТУ Связи и Информатики. Составил методические материалы для проекта GeekBrains

Мария Болохова
Куратор по образованию, психолог, бизнес-тренер в сфере продаж, управления и переговоров. Автор статей и книг: «Развивающие занятия с детьми 1-2 лет» и «Путеводитель в мир предпринимательства»

Подробнее о курсе Java программирования →

Курс «Middle Java Developer от OOО «EРП-Консалтинг» »

Бесплатно

Ссылка на сайт: https://education.dhabits.ru/course-java

  • Формат: Online по Zoom
  • Длительность: 2 месяца.
Перейти на официальный сайт →

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

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

  1. Java Core
  • Основы работ Java программ
    Основы Java, которые часто пропускают. Разберем, что такое classloaders, и как сделать настоящий immutable класс.
  • Домашнее задание №1
    Реализовать программу, которая получает ключевое слово для поиска на Wikipedia, достает из результатов текст, и на основе динамически загружаемых плагинов на выходе формирует отчет и записывает результат в файл.
  • Java Collections Framework
    Подробно разберём внутреннее устройство коллекций, проанализируем алгоритмическую сложность, и научимся грамотно выбирать наиболее подходящую под конкретные виды задач.
  • Stream API
    Освоим навыки работы с потоками: способы их создания, свойства и особенности реализации. И самое главное — научимся решать емкие задачи кратко и лаконично.
  • Garbage collector
    Разберемся, как работают Garbage collectors, какими они бывают, чем отличаются друг от друга. Узнаем, почему может возникнуть утечка памяти и как с ней бороться.
  • Инструменты сборки
    Сравним две популярные системы сборки — Maven и Gradle. Научимся находить и правильно разрешать конфликты транзитивных зависимостей. Покажем, для чего в Gradle нужен wrapper и как написать свои таски.
  • Java Memory Model
    Поговорим об atomicity, visibility и reorderinghappens-before. Разберем фундаментальные вещи, которые вводят энтропию в многопоточный код.
  • Multithreading in Java + дополнительное задание
    Расскажем, как делать правильный многопоточный конвейер и безопасно проводить финансовые операции в конкурентной среде.
  • Домашнее задание №2
    Реализовать построчное чтение файла, многопоточную обработку текста, и запись результата в файл в отдельном потоке.
  1. Промышленная разработка на Java
  • Docker
    Покажем, из чего состоит docker образ и как его создать. Разберем способы уменьшения размера образа: multistage билды, buildpacks, alpine base images. Покажем, как с помощью docker-compose развернуть десяток микросервисов за пару минут.
  • Практическая работа по Docker
    Написать docker-compose файл, создать образы из исходников и собрать цепочку из двух микросервисов, БД и ui-консоли.
  • Архитектура web-приложений
    Разберемся, как строятся современные промышленные приложения, и научимся правильно соединять крупные компоненты наших систем между собой. Слои, протоколы, коннекторы — это лишь малая часть терминов, которые ты освоишь.
  • Паттерны разработки
    Расскажем, почему шаблоны проектирования — это важный инструмент разработчика, который помогает ему сэкономить время и сделать более качественное решение. Разберем виды шаблонов, как и когда их применять.
  1. Базы данных
  • Databases
    SQL vs NoSQL vs NewSQL. Расскажем, как разобраться с многообразием баз данных, когда какую использовать. Дадим практические примеры, чтобы ты разобрался в CAP теореме и понял, как она может помочь в жизни.
  • SQL
    Разберем SQL на продвинутом уровне. Расскажем о малоизвестных фичах, которые позволяю писать быстрые запросы. Также поговорим о грамотном проектировании БД.
  • Databases: Optimiation
    Научим оптимизировать базы данных для повышения производительности приложений. Расскажем о методах оптимизации, которые помогут ускорить запросы.
  • JDBC & JPA
    Подключимся к базе данных из Java-приложения. Узнаем, что такое JDBC и чем он отличается от JPA. Разберем, как работать с Hibernate и что такое жизненный цикл entity.
  1. Spring
  • Spring Core
    С помощью простых и наглядных примеров разберем, в чем преимущество принципа DI, и зачем нужен IoC контейнер. Попробуем три способа конфигурации Spring-приложения и три способа внедрения зависимостей. На практике разберемся с Bean Definitions, Bean Scopes и
  • Домашнее задание №3
    Реализовать веб-сервер на Spring Boot по работе с сущностями Person и Department. Реализовать базовые CRUD операции над ними, написать unit-тесты и задеплоить его на Heroku.
  • Spring Boot
    Узнаем исторические предпосылки появления Spring Framework и Spring Boot. Поймем, в чем их отличие и секрет успеха. Заглянем под капот Spring Boot и поработаем с автоконфигурацией. Более детально познакомимся с фазами инициализации контекста, жизненного цикла бинов, конфигурацией пользовательских настроек.
  • Домашнее задание №4
    Реализовать загрузку property-файлов из файловой системы и из classpath в общий пул properties Spring.
  • Spring Modules
    Узнаем, как Spring Data делает жизнь разработчика лучше, а Spring MVC ставит написание RESTful сервисов на поток. Мы вместе напишем приложение, которое ответит на эти и многие другие вопросы. А также убедимся на практике, что TDD — не пустой звук, а unit-тесты — неотъемлемая часть процесса разработки.
  • Тестирование + Spring Boot Test
    Уделим внимание теме тестирования в целом и Spring Boot Test в частности. Посмотрим на пирамиду тестирования и определим место Java-разработчика в ней. Поговорим о разных типах тестов и наиболее распространенных ошибках при их написании.
  1. Инфраструктура
  • Async Java with Kafka
    Рассмотрим плюсы и минусы синхронного и асинхронного подхода, поговорим, когда и что применять. Разберем работу с очередями: какие преимущества они дают, какие сложности возникают при их использовании. Рассмотрим внутреннее устройство Apache Kafka, посмотрим на примере взаимодействие Producer – Consumer с помощью Spring Boot + Spring Kafka Client.
  • Сети
    Поговорим о моделях OSI и TCP/IP, какие протоколы туда входят, и как это поможет разработчику. Подробно разберем HTTP и HTTPS. Также уделим время WebSockets и безопасности в сети: сертификаты, инфраструктура x.509, и как это все работает в Java.
  • Kubernetes (K8S)
    Обсудим предпосылки появления технологии оркестрации контейнеров, поговорим про устройство кластера Kubernetes. Рассмотрим основные абстракции: Pod, Service, Deployment, Volume, Secret и т.д. Разберем, как устроена overlay сеть и как опубликовать сервис «наружу» кластера. Узнаем, зачем нужен Ingress. Рассмотрим примеры деплоя сервисов в Manager кластер Kubernetes на DigitalOcean. В завершении лекции поговорим про шаблонизатор Helm как production-ready средство для работы с кластерами.
  • Istio
    Поговорим про паттерн Service Mesh, обсудим проблемы, которые он решает. Разберем одну из реализаций Service Mesh – Istio, а также обсудим внутреннее устройство и новые типы абстракций: Gateway, VirtualService, DestinationRule и т.д. Как и в прошлой лекции, для демонстрации будем использовать Manager кластер Kubernetes в DigitalOcean, установим в него Istio и рассмотрим примеры настройки.
  • Agile, Scrum, Kanban
    Разберем гибкие методологии. Расскажем, как правильно внедрять и использовать Scrum, Kanban и XP, чтобы это не тормозило разработку, а помогало ей.

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

Победители хакатонов, преподаватели в вузах, руководители отделов разработки крупнейших банков страны

Алексей Романов
Java Architect, преподаватель МГТУ им. Н.Э. Баумана

Алексей Мухин
Senior Java developer в банковской сфере

Андрей Сундуков
Senior Java developer в VR Bank, HeadHunter

Михаил Красильников
Software Engineer EPAM

Владислав Казаков
Java Architect в Цифровых Привычках

Андрей Сычев
Middle Java developer в Raiffeisenbank
ex-разработчик в QIWI, СберБанк, дочерней компании Банка России

Роман Оборин
Ведущий разработчик в BNP Paribas
ex-разработчик в СберБанке, Orion Innovation, ALPOM

Алексей Степанов
Ведущий разработчик на проекте ВТБ
ex-разработчик в Банке Открытие, OBOZ, Regeneron

Владимир Красильщик
Senior Java Developer с 17-ти летним опытом
ex-разработчик в Luxoft, Яндекс, Dino Systems.


Отзывы выпускников:

Алексей Карташов
Middle Java developer «Цифровые привычки»

«Курс помог мне вспомнить основы, а кое-где углубить некоторые знания. Получил много хороших впечатлений от слушания лекций. Узнал некоторые вещи, о которых только слышал краем уха от «старших» коллег. Теперь у меня новая долгожданная работа.»

Александр Вдовин
Middle Java developer «Цифровые привычки»

«Курс рассчитан на то, что слушатели уже имеют какие-то знания по языку Java и опыт работы. На лекциях преподаватели как повторяют самые основы, так и рассказывают о редко где встречающихся аспектах. Домашние задания были построены таким образом, чтобы охватить и применить на практике как можно больше возможностей языка, поэтому для их выполнения необходимо было самостоятельно дополнительно поразбираться.»

Подробнее о курсе Java программирования →

Курс «Java-разработчик от KATA Programming Academy»

Цена: нет информации

Ссылка на сайт: https://kata.academy/java/postpayment

  • Опытный ментор
    Интенсивная подготовка с ментором
  • Гарантия трудоустройства
    По договору в Москве или Санкт-Петербурге.
Перейти на официальный сайт →

8 месяцев — и ты Java Developer, если играешь по нашим правилам:

Регулярное взаимодействие студента с ментором
Ты изучаешь онлайн-уроки на нашей платформе. Если возникают вопросы — связываешься со своим наставником в чате. Также ментор организует регулярные звонки и помогает со сложными задачами.

Жесткий контроль знаний на каждом этапе твоего обучения
Ментор — не репетитор. Его задача — это контроль усвоения знаний. Регулярные ревью кода и непростые вопросы сделают из тебя самостоятельного бойца, готового к решению сложных задач.

Обучаем самому востребованному стеку технологий
Наш курс Java — на 100% практический и современный. Ты освоишь: Java Core, Maven, Git, Spring (Core, MVC, Security, Boot), Hibernate. Все самое нужное — и ничего лишнего.

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

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

У нас большое и дружное онлайн- и оффлайн- сообщество
Вместе с командой твоего набора вы пройдете все этапы подготовки. Кроме того, ты станешь участником закрытого сообщества студентов и выпускников, где получишь дополнительную помощь и мотивацию.

2 года карьерной поддержки
На протяжении двух лет после окончания обучения online и offline с тобой будут работать опытные программисты, HR-специалисты и рекрутеры, чтобы обеспечить твое быстрое карьерное и финансовое развитие.

Программа обучения:

  1. JAVA CORE — 1.5 МЕСЯЦА

Тема 1: Введение в Java

  • История создания Java и ее описание. JIT-компиляция
  • Средства разработки (JDK, JRE, JVM)
  • Среда разработки (IDEA) и запуск первой программы

Тема 2: Базовый синтаксис

  • Примитивные типы и классы-обертки. Операции над примитивами и их преобразование
  • Управляющие конструкции. Циклы, условные операторы. Праткическое применение
  • Массивы. Инициализация, заполение и использование
  • Строки. Конкатенцация и неизменяемость.

Тема 3: Объектно-ориентированное программирование в Java

  • Основы ООП. Знакомство с парадигмами
  • Погружение в принципы работы ООП
  • Виды классов и их свойства в Java (абстрактные, вложенные, анонимные классы)
  • Базовый класс Object и его методы
  • Абстрактные классы и интерфейсы

Тема 4: Анализ кода, обработка ошибок и дебаггинг

  • Иерархия исключений. Проверяемые и непроверяеме исключения. Ошибки JVM
  • Обработка и использование исключений. Try-catch
  • Логирование. Журналирование работы приложения

Тема 5: Потоки ввода-вывода, доступ к файловой системе

  • Изучение пакетов io и nio. Классы File и Path
  • Потоки байт. Базовые классы и иерархия
  • Потоки символов. BufferedReader и Scanner
  • Паттерн декоратор и адаптер. Использование в потоках
  • Продвинутые возможности потоков. Сериализация и десериализация

Тема 6: Параметризированные типы и коллекции

  • Параметризация кода
  • Параметризация и наследование. Принцип PECS
  • Java Collections. Виды коллекций. Иерархия и принципы работы

Тема 7: Функциональное программирование в Java

  • Функциональные интерфейсы. Виды и способы использования
  • Лямбда-выражения. Правила написания и функциональное программирование
  • Способы имплементации функциональных интерфейсов. Метод референс
  • Stream API. Функциональная обработка данных. Терминальные и промежуточные операции
  1. ПОДГОТОВКА К ПРОЕКТУ (SPRING + HIBERNATE) — 2 МЕСЯЦА

Тема 8: Введение в базовые инструменты

  • Системы управления версий. Git. Проектная работа в своем репозитории
  • Сборка проекта. Управление зависимостями. Apache Maven

Тема 9: Работа с Базами данных

  • Реляционные базы данных. SQL запросы. Подключение к базе данных из приложения. JDBC
  • Углубленное изучение JPA и Hibernate. Принципы ORM систем

Тема 10: Изучение работы Spring Framework

  • Spring Core, Dependency Injection и Inversion of control
  • Spring MVC. Разделение архитектуры. Контроллеры, сервисы и репозитории
  • Spring Security, UserDetails и Granted Authority. Управление доступом и разграничение прав

Тема 11: Изучение экосистемы Spring Boot

  • Spring Boot. Упрощение работы со Spring. Шаблонизатор Thymeleaf
  • HTML, CSS, Bootstrap

Тема 12: RESTful. Приложения-клиенты

  • Принципы REST. Разработка клиента. Знакомство с FrontEnd
  • Spring REST Template. Разработка Restful клиента на Java
  1. КОМАНДНЫЙ ПРОЕКТ — 1 МЕСЯЦ
    Написание настоящего коммерческого проекта с использованием всего стека технологий, необходимых Java – разработчику
    Стэк
  • Java LTS Versions
  • SQL
  • Spring Boot
  • Spring MVC
  • Spring Security
  • Hibernate
  • HTML/CSS
  • JavaScript
  • Maven
  • Git
  1. ПОДГОТОВКА К СОБЕСЕДОВАНИЮ — 1.5 МЕСЯЦА
    На этом этапе мы поможем тебе освежить и систематизировать все полученные теоретические знания для успешного прохождения собеседований, после чего ты пройдешь итоговую проверку по всем темам с наставником.
  2. ТРУДОУСТРОЙСТВО — 1 МЕСЯЦ
    Наш HR-cпециалист поможет в составлении резюме, подборе лучших компаний и окажет поддержку во время прохождения собеседований. После получения предложений от компаний мы поможем с выбором лучшего из них.

Отзывы об обучении доступны на сайте.

Подробнее о курсе Java программирования →

Курс «Java с индивидуальным ментором от GeekFactory»

Цена: 5 000 р. — 10 000 р.

Ссылка на сайт: https://geekfactory.ru/

Перейти на официальный сайт →

Новый подход к обучению от GeekFactory

  • Учись сейчас, плати потом
    Гибкая система оплаты: при успешном выполнении тестового задания вы получаете возможность заключить договор с оплатой после трудоустройства
  • Личный ментор
    Если что-то не понятно, вы всегда сможете задать вопрос или попросить объяснить материал еще раз
  • Учим работать в команде
    Важный навык для дальнейшей работы в коллективе. Вы узнаете, как организовать свой рабочий процесс и стать сильной боевой единицей в любой команде
  • Ручная проверка каждого домашнего задания
    Мы будем разбирать не общие, а именно ваши ошибки что позволит сделать обучение намного эффективнее.

Как проходят занятия:

  1. Онлайн в вечернее время
    Не нужно никуда ехать и тратить свое время на дорогу. Если нет возможности присутствовать на занятии, сможешь просмотреть запись, когда будет удобно.
  2. В начале занятия проводится опрос по прошлым темам
    Мы всегда держим «руку на пульсе», для того чтобы понимать, как скорректировать обучение и где присутствуют пробелы в знаниях.
  3. Чат группы в Telegram
    Для учеников будет создан свой чат в Telegram, где студенты смогут задать вопрос, помочь сокурснику и делится полезными материалами. Так же у нас есть телеграмм-бот, написанный учениками, который поможет в обучении и подготовке к опросникам.
  4. Ментор
    Если у тебя возникает вопрос, который ты не можешь решить самостоятельно, ты всегда можешь обратиться к ментору — тем самым твое обучение проходит быстрее и эффективнее
  5. Проверка домашних заданий
    Ментор будет проводить Code Review, оставляя комментарии к твоему решению. Учимся писать не просто рабочий, но и «красивый» код.

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

Максим Нестеренко
Опыт работы 6 лет
Являюсь Ведущим Java-разработчиков в крупнейшей страховой компании, входящей в топ-3 в России.

Власюк Антон
Опыт работы — 6 лет. Успел поработать как в больших enterprise проектах, так и в стартапе.
Сейчас работаю в Леруа Мерлен в должности Senior Java Developer.

Подробнее о курсе Java программирования →

Курс «Разработчик Java от Академия АйТи»

Цена: 40 000 ₽

Ссылка на сайт: https://academyit.ru/courses/pp_java/

Перейти на официальный сайт →

Язык программирования Java уже давно плотно закрепился на рынке корпоративных бизнес решений в сфере IT. Образовательная программа предлагает студентам изучить данный язык программирования с дальнейшим трудоустройством в IT компанию на начальную позицию программиста-разработчика. Java активно развивается Американской компанией Oracle, поэтому это направление очень перспективно. Разработчик Java в основном участвует в создании серверной части приложений.

Целевая аудитория

  • Начинающие программисты ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  • Практикующие разработчики, желающие освоить язык Java.

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

  • Понимать синтаксис языка Java;
  • Работать со средой разработки;
  • Понимать базовые конструкции Java;
  • Разбираться в алгоритмах;
  • Собирать проект и подключать библиотеки;
  • Читать и понимать чужой код;
  • Писать свой код под руководством ментора;
  • Работать в команде с другими разработчиками, используя системы контроля версий;
  • Работать с базами данных;
  • Использовать фреймворк для разработки клиент-серверных приложений.

Расписание:

Базовый модуль: Java Core

  1. Основы языка Java (JVM и GC), компилятор, интерпретатор, байт-код
  2. Среда разработка (интерфейс среды разработки, основные сочетания клавиш, шаблоны)
  3. Переменные и примитивы
  4. Управляющие конструкции: условия и циклы
  5. Функции и алгоритмы
  6. Массивы
  7. Введение в ООП
  8. Наследование, инкапсуляция, полиморфизм
  9. Исключения
  10. Паттерны программирования
  11. Строки: String, StringBuilder, SringBuffer, StringPull
  12. Событийная модель программирования
  13. Сложные структуры данных: коллекции
  14. Работа с коллекциями Stream API
  15. Тестирование: JUnit 4
  16. Введение в алгоритмы
  17. Сложность алгоритмов
  18. Сортировки
  19. Конечные автоматы
  20. Практика решения задач на алгоритмы с HakerRang

Продвинутый уровень: Разработка клиент-серверных приложений

  1. Введение в базы данных
  2. Язык запросов SQL
  3. Основные команды: SELECT, INSERT, JOIN, UPDATE
  4. Связи в таблицах
  5. Sequence, Index
  6. Введение в SVC
  7. Основные команды: commit, push, pull, create branch
  8. DevOps pipeline
  9. Ветки: master, dev, release
  10. Pull request
  11. Чистая архитектура, принципы SOLID
  12. DI, Spring как DI фреймворк
  13. JDBC, In-Memory DB, Statement, ResultSet
  14. Конфигурации, бины, autowiring
  15. Подключение к базе данных
  16. Сетевые протоколы, цифровые сертификаты
  17. REST API, JSON, XML
  18. Spring Boot, JPA, Hibernate, ORM
  19. Интеграционное тестирование
  20. Инфраструктура. Развертывание локального сервера
  21. Подготовка к техническому собеседованию.

По окончании курса выдаётся диплом.

Подробнее о курсе Java программирования →

Курс «Java-разработчик от Бруноям »

Цена: 29 900 ₽

Ссылка на сайт: https://brunoyam.com/kursy-programmirovaniya/java

Практический курс по Java: от Git и алгоритмов до Spring, JavaFX и unit-тестирования. Вы получите все необходимые навыки и знания для старта работы в Java-программировании (Junior Java Developer).

Перейти на официальный сайт →

Курс составлялся на основе вакансий и требований компаний к Java-программистам. Выполняйте задания и проекты. Так вы сможете претендовать на вакансии уже после курса. Сложность повышается поэтапно, поэтому вы можете учиться и без начальной подготовки в этой сфере.

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

Группы 5-10 человек позволяют работать над проектами в команде, а преподавателю — уделять внимание каждому ученику. Если вы захотите освежить информацию — можете бесплатно пройти весь курс или пропущенное занятие в течение года.

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

  • Для тех, кто хочет стать java-разработчиком
    Основная задача курса — подготовить вас к профессии Java-разработчик. После обучения вы сможете найти работу и уже в рамках компании быстро развивать свои навыки.
  • Для тех, кто хочет попробовать себя в программировании
    На курсе вы изучите алгоритмы, Git, ООП и многое другое. Эти универсальные знания применимы в любой сфере программирования.

Как проходит обучение:

  1. Комфортные аудитории на 5-10 человек с системой дублирующих мониторов
  2. Общение в чате группы со студентами и преподавателем
  3. Полностью оборудованное рабочее место у каждого студента — монитор 22 дюйма, современный ПК и быстрый интернет
  4. Живая и доброжелательная атмосфера на каждом занятии.

52% всех веб-сервисов используют язык программирования Java.

Вы научитесь:

  • Программирование на Java
  • ООП (Object-oriented programming)
  • Java Collections Framework
  • Паттерны проектирования. MVC
  • Визуализация. JavaFX
  • Spring Framework
  • Работа с СУБД. SQL. JDBC
  • Работа с JSON
  • Понимание архитектуры REST, SOAP
  • Unit-тестирование
  • Сетевые протоколы Ethernet, IP, TCP, UDP, HTTP
  • Git — система контроля версий.

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

  1. Основы Java
  • Настройка IDE
  • Базовый синтаксис
  • Переменные, операторы, типы переменных, циклы
  • Ввод — вывод, файловый ввод вывод
  • Сложные структуры: массивы
  • Простые алгоритмы
  • Система контроля версий. Git
  • Стандартные функции
  • Свои функции.
  1. ООП
  • Введение в ООП
  • Классы
  • Инкапсуляция, наследования
  • Полиморфизм
  • Интерфейсы, абстрактные классы.
  1. Структуры данных. Алгоритмы
  • Деревья, списки и пр. (графы)
  • Простые и сложные алгоритмы
  • Временная сложность
  • Скорость работы алгоритма.
  1. Java Collections Framework
  • Framework Collection
  • Коллекция элементов
  • Iterable
  • Списки
  • Очередь
  • Set
  • Карты.
  1. Паттерны проектирования. MVC
  • Введение в паттерны программирования: необходимость, решаемые задачи
  • Рассмотрение основных паттернов
  • Архитектуры программ: основные виды архитектур, их отличия, преимущества и недостатки
  • Создание программы с использованием архитектуры MVC.
  1. Базы данных. SQL. JDBC
  • Введение в базы данных: необходимость, принципы работы
  • Основы работы с базами данных на декларативном языке SQL
  • Альтернативные виды баз данных и их различия
  • Современные возможности баз данных
  • Использование JDBC в Java приложениях
  • Работа с основными объектами JDBC API.
  1. Многопоточность
  • Потоки и процессы
  • Multiprocessing, thread, multithreading
  • Создание многопоточного приложения
  • Оценка прироста производительности.
  1. Сети. Обмен сообщениями
  • Введение в компьютерные сети
  • Виды сетей
  • Стек сетевых протоколов: Ethernet, IP, TCP, UDP, HTTP
  • Основы архитектуры клиент-сервер
  • Написание простейшего клиент-серверного приложения
  • Понимание архитектуры REST, SOAP.
  1. Визуализация. JavaFX
  • JavaFX
  • Stage, Scene, Node
  • Примеры использования
  • Создание десктоп приложение.
  1. Spring
  • Работа с фреймворком Spring
  • Запросы и ответы
  • написание полноценного приложения
  • Hibernate библиотека для решения задач объектно-реляционного отображения (ORM)
  • Связь ООП и реляционной базы данных
  • Библиотека для JSON. Jackson.
  1. Принципы работы CI/CD / DevOps
  • Первый принцип CI/CD: сегрегация ответственности заинтересованных сторон
  • Второй принцип CI/CD: снижение риска
  • Третий принцип CI/CD: короткий цикл обратной связи
  • Реализации среды в CI/CD
  • Инструменты для CI/CD.
  1. Юнит-тестирование
  • Значение и структура тестов
  • Библиотека JUnit.
  1. Процесс разработки ПО
  • Scrum, Agile, Kanban
  • Примеры использования в разных проектах
  • Командная работа. Роли
  • Построение работы с продуктами с процессами внутри организации.

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

Светозар Милых

Опыт работы
Преподаватель курсов программирования на Java и программирования на Python. Стаж программирования- 5 лет

О себе
«
С 2016 года занимаюсь разработкой на Java и Python. На занятиях главной целью считаю усвоение и закрепление информации учеником. Очень нравится видеть заинтересованность в глазах и успехи в освоении навыка».

Даниил Ткаченко

Опыт работы
В программировании с 2015 года. Последние проекты: CRM-система для работников call-центров, приложение для оценивания работоспособности персонала для «Магнита», AI for Tetris

О себе
«
Начинаю свой день с программирования и заканчиваю им же. Считаю, что программирование, в первую очередь — искусство. Учу своих учеников не только пониманию предмета, но и передаю свою любовь к программированию. Делюсь своим опытом написания коммерческих приложений и провожу каждого ученика через тернии программирования.»

Отзывы:

Эмиль Фатуллаев
«Мощный упор на практику — было местами сложно. Я знал самые азы, но благодаря интенсивности смог неплохо освоить язык. 10ка за курс. Во многом из-за препода — так-то можно и дома попытаться разобраться, но на курсах в тысячу раз проще, интереснее и быстрее. Спасибо Бруноям!»

Елена Пранова
«Достаточно быстро решилась пойти на курс, потому что хотела вникнуть в основы Java программирования уже давно. И наконец-то я в этом разобралась! Очень довольна! Всё понравилось, но особо выделила бы работу преподавателя, его понятные и структурированные объяснения, а также удобные условия для обучения. Максим очень хорошо объясняет, помогает в любое время суток. Поначалу стеснялась много, а потом завалила его вопросами, которые уже выходили за рамки курса. Спасибо преподавателю и всему Бруноям!»

Подробнее о курсе Java программирования →

Курс «Java с нуля от ITsJAVA»

Цена: 48 000 ₽ — 52 500 ₽

Ссылка на сайт: https://www.itsjava.ru/

Перейти на официальный сайт →

Кому подойдет этот курс?

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

Чем полезен этот курс?

2 проекта, реализованных вами, в вашем портфолио
В течении курса вы реализуете два проекта, которые подтвердят работодателю ваши навыки
Сертификат школы ITsJAVA
Официальный сертификат школы программирования ITsJAVA
Тренировочное собеседование
Даст вам преимущество в трудоустройстве + знание пула вопросов, которые задают на собеседованиях в IT компаниях
Помощь в трудоустройстве
Дополнительный модуль с советами от HR ведущих компаний о том, как грамотно оформить резюме, как успешно проходить собеседования и многом другом.

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

  1. Типы данных. Условные операторы. Циклы. Массивы
  • Жизненный цикл программы на Java
  • Примитивные типы данных и их свойства
  • Условные операторы if и case
  • Структурное программирование
  • Массивы
  • Циклы for, for-each, while-do
  • Ключевые слова break и continue
  1. Алгоритмы. Рекурсия. Вычислительная сложность
  • Процедурное программирование и методы
  • Сигнатура метода. Передача параметров внутрь методов
  • Алгоритмы сортировок массива
  • Рекурсия и бинарный поиск
  • Вычислительная сложность алгоритмов
  1. Объекто-ориентированное программирование. Модификаторы доступа. Ключевые слова
  • Объектно-ориентированное программирование
  • Инкапсуляция, наследование и полиморфизм
  • Ранее и позднее связывание
  • Ключевые слова final, static
  • Понятие констант
  1. Родитель всех классов Object
  • Родитель всех классов Object
  • Детальный разбор всех его методов
  1. Интерфейсы. Абстрактные классы. Перечисления
  • Интерфейсы
  • Стандартные интерфейсы в Java: Cloneable, Comparable, Serializable
  • Абстрактные классы
  • Перечисления
  1. Потоки ввода-вывода. Работа с файлами. Properties
  • Потоки ввода-вывода
  • Запись и чтение из файла
  • Сериализация
  • Работа с Properties
  1. Коллекции. List, Set, Queue и Различия реализаций
  • ArrayList и LinkedList. Реализация своих собственных списков
  • Карта Map и внутреннее устройство HashMap
  • Iterator и цикл for-each
  • Множество HashSet и понятие очереди
  1. Базы данных. Язык запросов SQL. Паттерн DAO
  • Базы данных и SQL
  • Умение работать со стандартными запросами: SELECT, UPDATE, INSERT, DELETE, CREATE, DROP
  • Виды JOIN + агрегатные функции (order by, sum, count и др)
  • Подключение баз данных к Java приложению.
  1. Класс Thread. Многопоточность
  • Потоки и процессы в Java
  • Контролирование работы потоков
  • Ключевое слово volatile
  • Ключевое слово synchronized и понятие монитора
  1. Система контроля версий GIT, сборщик проектов Maven, библиотека Lombok
  • Система контроля версий GIT
  • Сборщик проектов Maven
  • Библиотека Lombok
  1. Основные паттерны проектирования
  • Паттерн Наблюдатель
  • Паттерн Фабрика
  • Паттерн Singletone
  • Паттерн DAO
  • Паттерн Iterator
  1. Реализация своего проекта
    Реализация своего проекта
    (В классе пишем основу проекта, а вы добавляете свой собственный функционал, также есть возможность реализовать свой собственный проект)
  2. Собеседование один на один с преподавателем
    Собеседование один на один с преподавателем
    (тренировка собеседования на работу, выявления слабых мест).

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

Нежинский Виталий
Редкое сочетание: действующего IT специалиста по Java и дипломированного преподавателя.
Окончил 2 университета: СПБГУ математико-механический факультет и педагогический университет РГПУ им. Герцена факультет (с красным дипломом).
Читал курс по Java в РГПУ им. Герцена.
Проработал 2 года в СберТех Старшим ИТ инженером.
На данный момент работает в швейцарской компании Sidenis.
Провожу собеседования внутри компании.
«Рассказываю просто о сложном.»

Русанов Антон
Java разработчик в Sycretis
Работает на главной системе у швейцарского заказчика Swizz Re
Дипломированный специалист и педагог (закончил университет им Герцена)
Внутри компании менторит Junior разработчиков и проводит собеседования на «Java разработчика».

Выпускники прошлого курса:

Кирилл

«Привет всем!
Прошёл курс по JAVA, хочу сказать слова благодарности преподавателю Виталию))) Виталий доходчиво и понятно доносит информацию))) а если что-то непонятно, то спросите и Виталий с удовольствием объяснит)) План курса поставлен грамотно, вам расскажут все основы Java , а также особенности собеседования . Проектные работы и устное собеседование, домашние задания, всё делалось с удовольствием))) Преподаватель ищет персональный подход к студенту курса, что не может не радовать)) Курсы подходят как для новичков, так и для программистов с начальным опытом)))
Спасибо ItsJava))))»

Даниил
Попал на оплачиваемую стажировку в компанию «DINS»

«Всем привет! Хочу выразить огромную благодарность Виталий Нежинский за его труды и нацеленность на результат своих учеников! Прошёл два курса Java и Spring очень понравилось! Индивидуальный подход преподавателя и ответы на все возникающие вопросы сразу и без долгих ожиданий ответа, вот что я люблю! Но и это ещё не конец, так как в конце каждого курса индивидуальная беседа(собеседование) с Виталием лично, а что ещё нужно для счастья?
Но при всех этих плюшках очень важно самостоятельно обучаться и уделять обучению максимум времени.
В общем это было круто! Группа из классных ребят во главе с классным преподавателем — залог успеха!
Спасибо!»

Подробнее о курсе Java программирования →

Курс «Java-разработчик от TeachMeSkills »

Цена: 100 000 RUB

Ссылка на сайт: https://teachmeskills.by/kursy-programmirovaniya/obuchenie-java-online

Научим программировать на Java c нуля за 7,5 месяцев.

Перейти на официальный сайт →

Java один из самых популярных языков программирования в мире. Работает на всех платформах (Windows, Mac, Linux)

На курсе ты научишься:

  • писать интересные алгоритмы, работать с коллекциями, файлами и др.;
  • сделаешь парочку многопоточных приложений;
  • освоишь работу с базами данных;
  • изучишь самые популярные фреймворки — Spring и Hibernate и разработаешь web-приложение.

Процесс дистанционного обучения

Прямая трансляция в ZOOM
В 19:00 в дни занятий подключаетесь по ссылке в онлайн-комнату, где будет проходить занятие.
Вы можете задавать вопросы, показывать свой экран и общаться в чате с преподавателем. Все как на обычном занятии.
Домашние задания
Обязательные домашние задания, чтобы закрепить полученные знания на практике.
По всем выполненным заданиям преподаватель дает подробную обратную связь.
Запись занятия и материалы
После каждого занятия вы будете получать запись урока, чтобы в любой момент времени освежить его в памяти и пересмотреть важные моменты.
Живое общение
Преподаватель курса, другие студенты и менеджеры школы всегда доступны онлайн в общем чате и готовы оперативно помочь с возникшими вопросами.
Дипломный проект
Дипломный проект в конце обучения, который вы сможете включить в резюме.

 

Твой результат в конце курса:

  1. Изучишь самые популярные фреймворки — Spring и Hibernate и напишешь web-приложение
  2. На наших курсах Java для начинающих ты научишься писать многопоточные приложения
  3. Научишься работать с коллекциями, файлами и базами данных
  4. Разберешься в ООП и сможешь писать интересные алгоритмы
  5. Изучишь область применения Java, синтаксис и историю языка
  6. Станешь востребованным Java разработчиком.

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

Денис
Software Engineer в Arateg
5+ лет опыта коммерческой разработки.

Семён
Software Engineer
4+ лет опыта коммерческой разработки.

Рома
Java developer в SoftTeco
6+ лет опыта коммерческой разработки.

Программа:

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

  1. Система контроля версий Git
  • Установка Git
  • Подключение к проекту
  • Регистрация и создание репозитория на GitHub
  • Зачем нужны ветки
  • Основные команды в Git
  1. Введение в Java
  • Введение в Java
  • IDE
  • Запуск и компиляция программы
  • Типы данных
  • Приведение типов
  • Операторы Java
  • Приоритет операций
  1. Операторы управления
  • Операторы ветвления
  • Операторы повторения
  • Операторы перехода
  1. Одномерные массивы
  • Одномерные массивы
  • Алгоритмы сортировки массива
  1. Многомерные массивы
  • Двумерные, трехмерные и n-мерные массивы
  • Операции с массивами
  1. ООП в Java. Классы и методы
  • Понятие класса, объекта, конструктора
  • Методы
  • Инициализация полей
  1. ООП в Java. Интерфейсы и абстрактные классы
  • Понятие интерфейса
  • Понятие абстрактного класса
  • Абстрактные методы
  1. ООП в Java. Принципы
  • Инкапсуляция
  • Наследование
  • Полиморфизм
  1. ООП в Java. Полиморфизм и статические методы
  • Перегрузка методов
  • Переопределение методов
  • Ключевое слово static
  • Ключевое слово final
  1. Обработка строк
  • String
  • StringBuilder
  • StringBuffer
  1. Исключения и ошибки
  • Иерархия исключений и ошибок
  • Конструкция try-catch-finally
  • Собственные исключения
  • Ключевые слова throw, throws
  1. Файлы, потоки ввода/вывода
  • Работа с файлами
  • Байтовые потоки ввода/вывода
  • Символьные потоки ввода/вывода
  • Сериализация объектов
  1. Коллекции и Generics
  • List
  • Set
  • Map
  • Generics
  1. Особенности работы с Java 8 (Часть 1)
  • Date API
  • Функциональные интерфейсы
  • Лямбда выражения
  1. Особенности работы с Java 8 (Часть 2)
  • Optional
  • Stream API
  1. Основные изменения в Java 9-12
  • Var
  • Modules
  • Обзор нового API и синтаксических конструкций
  1. Регулярные выражения
  • Применение регулярных выражений
  • Как и где можно использовать
  • Классы Pattern, Matcher
  • Изучение регулярных выражений
  • Практика
  1. Основы работы с XML и JSON
  • Структура XML-документа
  • Схема DTD, XSD
  • DOM, SAX, STAX
  • JAXB
  • Знакомство с JSON-парсерами на примере jackson
  1. Определение потоков Java
  • Класс Thread
  • Интерфейс Runnable
  • Работа с потоками
  • Синхронизация потоков
  • Потоки-демоны
  1. JDBC (Java DataBase Connectivity)
  • Знакомство с JDBC
  • Понятие драйвера
  • Транзакции
  • SQL запросы DML
  • Join, Having, Group By
  1. Работа с интернетом и сетью
  • Зачем нужна клиент-серверная архитектура
  • Как работает интернет
  • Понятие веб-сервер
  • Модель OSI и протокол TCP/IP
  • Обзор протокола HTTP и его методы
  1. Основы Servlet API
  • Знакомство с серверной частью в Java Enterprise Edition
  • Основные интерфейсы и их реализации
  • Жизненый цикл сервлетов
  • Пишем первый сервлет для приветствия пользователя в браузере
  1. Основы Servlet API. Filter, Listener, Scopes
  • Понятие сервер приложений
  • Обзор компонентов Filter, Listener
  • Зачем нужны Servlet Scopes
  • Пишем веб приложение ‘Калькулятор’
  1. Введение в HTML, CSS
  • Что такое верстка
  • Изучение HTML
  • Зачем нужны стили
  • Что такое селекторы CSS
  • Работа с отступами
  • Работа с текстом
  1. Быстрое прототипирование с Bootstrap
  • Зачем нужен Bootstrap
  • Подключение к проекту
  • Обзор основных компонентов
  • Понятие сетки
  1. Основы шаблонизации с JSP
  • Изучаем технологию JSP
  • Что такое шаблонизация
  • Динамические данные в JSP
  1. Стандартная библиотека тегов JSTL
  • Знакомимся с JSTL
  • Основные теги для работы if, forEach, fmt
  1. Системы сборки проектов
  • Что такое система сборки
  • Обзор существующих систем сборки
  • Разница между Ant, Maven, Gradle
  • Подключаем систему сборки к проекту
  1. O.L.I.D
  • Принципы SOLID
  • Изучение каждого принципа на примере
  • Практика применения на текущем проекте
  1. Паттерны проектирования (Часть 1)
  • Теория паттернов проектирования
  • Группы паттернов
  • Изучение основных паттернов
  • Фабрика, Билдер
  1. Паттерны проектирования (Часть 2)
  • Продолжаем изучение основных паттернов
  • Адаптер, Одиночка, Фасад, Декоратор
  • Пишем простые примеры с использованием паттернов
  1. Паттерны проектирования в Java Enterprise Edition
  • Теория паттернов проектирования в Enterprise Java
  • Группы паттернов
  • Front Controller, Session Facade, Transfer Object
  1. Методы класса Object
  • Что такое класс Object и его назначение
  • Изучение методов класса Object
  • Правила переопределения equals, hashcode
  • Зачем нужен метод toString
  • Правила переопределения метода clone
  1. Знакомство с инструментами журналирования и тестирования в Java
  • Понятие журналирования
  • Обзор библиотек SLF4J, Log4j
  • Модульное тестирование с использованием JUnit5
  • Пишем тесты на текущем проекте
  1. Продвинутое изучение JDBC
  • ACID и работа с транзакциями
  • Нормализация, типы связей между таблицами
  • Решаем задачки на написание SQL запросов
  1. Продвинутое изучение коллекций JDK
  • Повторение структуры Collection Framework
  • Как устроен LinkedList
  • Как устроена HashMap
  • Зачем нужна коллекция типа Set
  • Что такое деревья, как устроен TreeMap
  1. Spring Core. IoC
  • Введение в Spring Framework
  • Типичные use cases в Spring Framework
  • Понятия DI и IOC
  • Пишем первое приложение для знакомства с технологией
  1. Spring Core. AOP
  • Введение в аспектно-ориентированное программирование
  • Зачем нужна сквозная функциональность
  • Типы советов
  • Написание аспектов
  1. Spring MVC. Controller. Interceptors
  • Введение паттерн MVC
  • Понятие Controller
  • Пишем веб приложение используя контроллеры
  1. Spring MVC. Bean Validation. Exception handling
  • Валидация данных
  • Обработка исключений
  1. Spring Boot. Starter, actuator
  • Введение в Spring Boot
  • Основные отличия от Spring Framework
  • Понятие стартера
  • Создание проекта и его конфигурация
  • Пишем первое приложение ‘Калькулятор’
  1. Spring Boot MVC. Шаблонизация
  • Знакомство с Freemarker
  • Обзор возможностей Thymeleaf
  • Пишем веб приложение с использованием Thymeleaf
  1. Object states. Hibernate Session
  • Введение в Hibernate
  • Состояния объектов
  • Понятие сессии
  • Пишем приложение с использованием Hibernate
  1. Relations. Cascades. HQL
  • HQL
  • Criteria
  • Связи
  • Пишем приложение с использованием Hibernate
  1. Java Persistence API
  • Знакомство с JPA и реализациями
  • Entity Manager
  • Связи
  • Каскады
  • JPQL
  1. Spring Boot. REST (Часть 1)
  • Знакомство с REST
  • Узнаем, что такое SOAP
  • Разница между REST и SOAP
  • Понятие RESTful API
  1. Spring Boot. REST (Часть 2)
  • Тестирование запросов на API с использование Postman
  • Валидация данных
  • Использование ResponseEntity
  • Коды состояний
  • Загрузка файлов
  1. REST API Documentation
  • Введение в Swagger
  • Зачем нужна API документация
  • Подключаем Swagger к проекту
  1. Spring Data JPA
  • Введение в Spring Data
  • Зачем это нужно
  • Понятие Repository
  • Написание QueryDSL
  • Пишем код с использованием Data JP
  1. Spring Security. Basic Authentication
  • Введение в Spring Security
  • Основные принципы защиты Web приложений
  • Конфигурация Basic Authentication
  • Роли
  1. Spring Security. JWT
  • Введение в JSON Web Tokens
  • Отличие защиты web приложения от REST API
  • Конфигурация Spring Security с JWT
  • Подключаем JWT к REST API проекту
  1. Spring Security. Практика
  • Практическое применение basic security в web приложении
  • Подключение Spring Security и JWT к текущему REST API проекту
  1. DevOps
  • Что делает DevOps инженер
  • AWS вводная
  • EC2
  • S3
  1. Amazon: основные сервисы
  • RDS
  • ELB
  • Route53
  • AWS CLI
  • Развертывание приложения в облако AWS
  1. Микросервисная архитектура, Docker / Docker compose
  • Docker как технология
  • Dockerfile
  • Переменные окружения и аргументы
  • Docker network
  1. Docker (Часть 2)
  • Docker inspect
  • Docker compose
  • Volume
  • Docker images docker hub / AWS
  1. Docker (Часть 3)
  • Как задеплоить с докером
  • Знакомство с CI/CD
  • GitHub Actions
  1. Закрепление пройденного материала
  • Повторение изученного материала
  • Прохождение пробного технического собеседования
  • Подготовка к дипломному проектированию
  1. Онлайн-тренинг «Трудоустройство в IT»
  • Составление резюме (теория + практика)
  • Составление профиля на LinkedIn (теория + практика)
  • Прохождение интервью
  • Soft skills, которые важны в рамках интервью
  • Проведение пробного интервью
  1. Защита дипломного проекта.

Отзывы:

Виктор Баханович

«Закончил курс Java Developer. Определённо отличный курс. Долго выбирал между этой школой и курсами от ПВТ, в итоге выбор пал на TeachMeSkills, т.к. мне больше понравилась их программа.
Базовую часть у нас вёл Денис. Хороший преподаватель, умеет хорошо рассказать просто о сложном. Если после всех объяснений Дениса вы так ничего и не поняли, вам это не сможет объяснить никто)
Про часть излагал Семён. Тоже отличный преподаватель с богатым опытом и очень обширными и глубокими знаниями. Если поинтересоваться, может дать очень много дополнительной и интересной информации, которая, несомненно, понадобится в будущем.
Заниматься придётся не мало, и лучше делать как можно больше.
В общем очень рекомендую!»

Николай Зайко

«Закончил курсы Java (преподаватель — Денис Литошенко) и Java Pro (преподаватель — Михаил Штуро).
Отличные информативные курсы, удобный график занятий, хорошо налажен учебный процесс, отзывчивый коллектив школы, готовый всегда уделить внимание возникшим вопросам и предложить решение.
Отдельно хочется отметить преподавателей за их высокий уровень знаний и компетентность, за отзывчивость и готовность оказать помощь в любое время суток, за их терпение и старательность в процессе обучения.
Большое спасибо!»

Подробнее о курсе Java программирования →

Курс «Java Developer от Stormnet»

Цена: 2 490 бел. руб. — 9 960 бел. руб.

Ссылка на сайт: https://www.it-courses.by/courses/kursy-programmirovaniya-java-bazovyj-uroven/

Перейти на официальный сайт →

Курсы обучения языку программирования Java, предлагаемые в Stormnet, ориентированы на широкий круг людей. Они подойдут вам, даже если:

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

Курсы Java наверняка пригодятся и тестировщикам, которые хотели бы углубить свои знания и навыки и получить конкурентное преимущество при поиске работы – с нами для этого есть все возможности.

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

Вы научитесь:

  • Мыслить, как профессионал.
  • Базовым принципам объектно-ориентированного программирования (ООП).
  • Компилировать и запускать приложения.
  • Отлаживать программы.
  • Использовать средства разработки Eclipse, Idea.
  • Создавать программы “с нуля” на языке Java.

Что Вы узнаете:
Обучение Java онлайн или офлайн позволяет студентам получить обширные навыки и узнать о ключевых технологиях, особенностях языка программирования, основных понятиях и многом другом. По окончании офлайн- или онлайн-курсов Java вас ждет защита проекта.

Что получите по окончании курса:

  • Именной сертификат.
  • Справку о Java обучении государственного образца.
  • Помощь с трудоустройством.

Программа:

  1. Введение в Java. Основы программирования, часть 1.
  2. Основы программирования, часть 2.
  3. Основы программирования, часть 3.
  4. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  5. Основы программирования, часть 4.
  6. Основы программирования, часть 5.
  7. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  8. Классы. Объектно-ориентированное программирование, часть 1.
  9. Практика создания реального проекта. Создание структуры и интерфейса проекта.
  10. Классы. Объектно-ориентированное программирование, часть 2.
  11. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  12. Классы. Объектно-ориентированное программирование, часть 3.
  13. Классы. Объектно-ориентированное программирование, часть 4.
  14. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  15. Java FX. Создание интерфейса приложения.
  16. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  17. Практика создания реального проекта. Разработка контроллеров и бизнес-логики проекта, установка обмена данными между окнами проекта.
  18. Коллекции.
  19. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  20. Системы контроля версий.
  21. Потоки ввода-вывода. Работа с файлами. Часть 1.
  22. Потоки ввода-вывода. Работа с файлами. Часть 2.
  23. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  24. Практика создания реального проекта. Реализация методов записи/чтения данных в файлы.
  25. Работа со строками.
  26. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  27. Базы данных. Краткая теория баз данных.
  28. Базы данных. Работа с БД.
  29. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  30. Практика создания реального проекта. Создание БД и реализация методов работы с ней.
  31. Многопоточное программирование, часть 1.
  32. Многопоточное программирование, часть 2.
  33. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  34. Практика создания реального проекта. Добавление многопоточности в проект.
  35. Лямбда-выражения.
  36. Stream и Optional.
  37. Практическое занятие (мини-тест, вопросы по пройденному материалу, упражнения).
  38. Практика создания реального проекта. Добавление в проект лямбд, stream и optional.
  39. Практика создания реального проекта. Доработки, закрытие тех. долга по проекту.
  40. Экзамен.

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

Александр
«
Более 13 лет в индустрии, 8 из которых разработка приложений на Java. Это были – серверные приложения, библиотеки, фреймворки, клиентские приложения на Swing и Eclipse RCP. Проекты продолжительностью от нескольких недель до десятков человеко-лет.
Я убежден, что OpenSource в сочетании с современными практиками разработки и обеспечения качества кода – двигатель индустрии, а для начинающих разработчиков прекрасная возможно погрузиться в мир промышленного программирования и получить уникальный опыт, работая в команде с прекрасными специалистами.
Для меня программирование – это во многом образ мышления, поиск решений и способов их реализации, именно этому на мой взгляд и нужно учить.»

Айнис
«
Программирование стало моим увлечением в 7-м классе, с тех пор я двигался в этом направлении. И в итоге со второго курса университета я начал разрабатывать на Java, сначала как любитель, а затем, не дожидаясь окончания университета, устроился на свою первую работу. Большая часть моего опыта связана с языком Java, сначала я использовал его для серверной разработки, а затем перешел на разработку под Android.
Считаю, что постичь программирование может каждый, кто имеет 4 базовых качестванавыка: целеустремленность, инициативность, желание постоянно развиваться и умение гуглить.
Свою профессию люблю за работу в команде, возможность каждый день решать новые задачи, ну и конечно же за то, что на работе я занимаюсь увлечением, которым заинтересовался еще в 7-м классе.»

Снежана
«Как Software Development Engineer in Test работаю уже более 5 лет. Так уж сложилось, что именно с позиции автоматизатора начался мой путь в IT. За это время я успела столкнуться как с разнообразными задачами в области автоматизированного тестирования, так и с разнообразными стеками технологий в разработке, что позволило мне получить опыт решения нетривиальных задач на разных проектах, которым я всегда рада поделиться со всеми желающими. Понимая, что изучение чего-то нового у большинства часто сопряжено с неуверенностью в себе и страхом неудачи, я стараюсь максимально доступно и структурировано, используя понятные примеры, излагать материал и отвечать на интересующие вопросы. Моя цель, как преподавателя – научить думать и анализировать, понимать необходимость того или иного действия, ведь без этих качеств хорошим специалистом стать сложно. Буду рада видеть всех желающих на своем курсе и очень постараюсь сделать из Вас действительно крутых специалистов!»

Подробнее о курсе Java программирования →

Курс «Программист Java от Job4j»

Цена: 21 180 рублей — 25 990 рублей

Ссылка на сайт: https://job4j.ru/courses/java_with_zero_to_job.html

Перейти на официальный сайт →

Курс состоит из 14 модулей. В каждый модуль входит:

  • Теория и практика
  • Проверка заданий наставником и рекомендации по улучшению кода
  • Сдача теории по пройденному материалу наставнику в устной форме
  • Решение тестовых заданий с реальных собеседований.

В конце курса вас ожидает финальный проект, содержащий все библиотеки и фреймворки указанные в курсе.

Как проходит обучение
Обучение проходит только индивидуально. Весь процесс обучения максимально адаптирован к процессу разработки ПО в реальной фирме. Первоначально ученику выдается доступ к трекеру. Это основное ПО при разработке проектов. Перейдите по ссылке ниже, чтобы ознакомиться с материалом курса.

Уровни обучения:

Уровень «Стажер»
Ты научишься использовать инструмент сборки Maven. Будешь писать модульные тесты и оформлять свой код, так как это делают профессионалы. Познакомишься с базовыми принципами построения программы через объектно-ориентированный подход. Научишься использовать Java Collections Frameworks. Весь код будешь заливать на GitHub. Займешься рефакторингом кода с применением шаблонов проектирования. После этого уровня ты сможешь претендовать на позиции Стажер Java разработчик.

  1. Инструменты
  • Maven
  • jUnit
  • Git
  • IntelliJ Idea
  • Сheckstyle, JaCoCo
  • Travic CI
  1. Синтаксис языка
  • JVM
  • Типы данных
  • Операторы условия
  • Циклы
  • Массивы
  1. ООП
  • Наследование
  • Инкапсуляция
  • Полиморфизм
  • Внутренние класы
  • Абстрактные классы
  • Исключения
  1. Шаблоны проектирования
  • Синглетон
  • Декоратор
  • Стратегия
  • Фабрика
  1. Коллекции Lite
  • Collections Framework
  • Коллекции List, Set, Map
  • ArrayList
  • Сортировка
  • Обобщения
  • Итераторы
  1. Функциональное программирование
  • Lambda
  • Stream API.

Уровень «Junior»
В этом уровне ты создашь парсер вакансий популярного сайта. Узнаешь, что внутри каждой из коллекций и почему одна коллекция работает быстрее, чем другая. Познакомишься с анализом алгоритмов. Узнаешь, как работают самые важные алгоритмы. Познакомишься с концепциями ввода-вывода. Научишься использовать базы данных и хранить ценную информацию в них. После этого уровня ты сможешь претендовать на позиции Junior Java разработчик.

  1. Коллекции Pro
  • Параметризованные типы, Wildcard
  • Итераторы
  • Внутреннее устройство
  • Hashcode, equals.
  1. ООД
  • Принципы SOLID
  • Разработка через тестирование (TDD).
  1. Память
  • Cборщик мусора
  • Типы сборщиков
  • Профилирование приложений
  • Soft weak ссылки и коллекции.
  1. Ввод-вывод, Socket
  • InputStreams, OutputStreams
  • Readers, Writers
  • Scanner
  • Файловые менеджеры
  • Сокеты
  • Внешняя сортировка файлов.
  1. SQl, JDBC
  • Общие сведения о базах данных на основе PostgreSQL
  • Базовый синтаксис SQL
  • Запросы Select, Join, Outer Left, Right
  • JDBC
  • Индексирование, внешние ключи, естественные ключи.

Уровень «Middle»
Ты научишься использовать Java фреймворки, которые используют профессионалы каждый день. Будешь жечь напалмом с помощью ОRM Hibernate. Научишься собирать приложения через Gradle. Сделаешь полноценное приложение с Spring Boot и интегрированием с Hibernate. Напишешь на все это интеграционные тесты. После этого уровня ты сможешь претендовать на позиции Middle Java разработчик.

  1. Многопоточность
  • Синхронные и асинхронные операции
  • Синхронизация ресурсов
  • JMM
  • Низкоуровневые блокировки
  • Неблокирующие алгоритмы
  • Потокобезопасные коллекции.
  1. Клиент-серверное приложение
  • Общая схема клиент-серверного приложения
  • Протоколы HTTP и HTTPS
  • Servlet
  • JSP, MVC, JSLT
  • Filter, Session, Auth
  • Клиентские языки HTML, JS, CSS
  • Тестирование Mockito.
  1. Hibernate
  • Базовые понятия ORM. Hibernate
  • Конфигурирование Hibernate
  • Связь модельных представлений с объектами
  • Язык запросов HQL
  • Интеграционное тестирование.
  1. Spring
  • Spring IoC
  • Spring HibernateTemplate
  • Spring Data
  • Spring MVC
  • Spring Security
  • Spring Test
  • Spring Boot
  • Spring Web Service
  • Spring JMS.
  1. Микросервисы
  • Микросервисы VS монолитные приложения
  • Spring boot
  • RestTemplate
  • Docker
  • Kafka
  • Kubernetes.
Подробнее о курсе Java программирования →
Поделиться с друзьями
blank
Сергей Савин

Высшее образование в сфере «Образование и педагогика», работал учителем математики с 2006 по 2014 год. Эксперт по выбору профессии и курсов с 2018 года. Изучаю отзывы о курсах, онлайн-школах, колледжах и институтах, составляю ТОП-рейтинги.

Оцените автора
Савин.Инфо