Skillbox

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

  • Начальный уровень
  • Наставник: Есть
  • Сертификат: Есть
  • Формат: Online
  • Рассрочка: Нет
  • Язык: Русский
  • Осталось мест: не ограничено
Записаться

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

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

Для кого этот курс?
  • Возможно, вы уже имеете базовые навыки и представление о программировании и применяете эти знания в своих проектах. Наш курс даст вам углубленное знание универсального языка Java, и вы начнёте правильно структурировать код и соблюдать всеми «любимый» синтаксис для создания выдающихся проектов.
  • Если вас привлекают современные технологии и высокая зарплата в сфере IT, то этот курс точно для вас. Вы научитесь писать код, узнаете, что легенда о том, что программист должен в совершенстве знать математику, — это выдумка, станете мыслить критически и сможете кодить на самом популярном языке в мире.
Программа обучения
Основной блок
  • Вводный модуль

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

  • Синтаксис языка

    Познакомитесь с основными переменными в языке Java, научитесь использовать операторы сравнения и циклы.

  • Объекты и классы. Часть 1. Методы и классы

    Узнаете, что такое объекты, классы и методы в Java. Поймёте, как они работают, научитесь создавать их и использовать.

  • Объекты и классы. Часть 2. Инкапсуляция

    Познакомитесь с принципом инкапсуляции. Узнаете о POJO-классах, геттерах и сеттерах, иммутабельности и копировании объектов.

  • Объекты и классы. Часть 3. Static, константы и enum

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

  • Примитивы

    Поймёте, какими бывают примитивы, чем они схожи с объектами и чем от них отличаются.

  • Числа и даты

    Познакомитесь с различными операциями, которые можно производить над числами: арифметическими, операциями с присвоением, инкрементом и декрементом, а также операциями сравнения.

  • Строки

    Научитесь задавать строки и проверять их длину. Узнаете, как сравнивать строки между собой и объединять несколько в одну.

  • Массивы и коллекции

    Научитесь работать с массивами и их элементами. Сможете искать элементы с помощью HashMap и TreeMap.

  • Наследование и полиморфизм

    Узнаете, как наследовать классы в Java, и научитесь работать с интерфейсами Comparable, Comparator, Map и Set.

  • Особенности ООП в Java

    Изучите объектно-ориентированное программирование в Java и новые методы разработки. Познакомитесь с системой сборки и репозиторием Maven.

  • Исключения, отладка, тестирование и логирование

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

  • Работа с файлами и сетью

    Поймёте, как читать файлы с помощью FileInputStream, BufferedReader и класса Files. Научитесь работать с файлами типа HTML и JSON.

  • Работа с MySQL в Java

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

  • Многопоточность

    Узнаете, что такое многопоточность и как работать с ней в интерфейсе Runnable. Поймёте, как настроить взаимодействие потоков, научитесь блокировать, приостанавливать и прерывать потоки данных.

  • Протокол HTTP

    Познакомитесь с протоколом HTTP, изучите заголовки, тело запроса и ответа. Научитесь работать с PUT, DELETE, OPTIONS, GET- и POST-запросами.

  • Разработка веб-приложений

    Разработаете первое приложение на Spring Boot с созданием контроллера и подключением к базе данных.

  • Нереляционные базы данных и очереди

    Познакомитесь с Redis и научитесь структурам данных. Изучите возможности и агрегацию данных в MongoDB.

  • Производительность и оптимизация

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

  • Разработка desktop-приложений

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

  • Алгоритмы

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

  • Структуры данных

    Изучите хеш-таблицы, очередь и стек, связанные таблицы, бинарное и суффиксное дерево.

  • Распределённые хранилища и вычисления

    Вы узнаете, что такое большие данные, и научитесь работать с файловой системой HDFS. Познакомитесь с фреймворком Spark и научитесь запускать в нём собственные приложения.

  • Паттерны проектирования

    Узнаете, что такое паттерны проектирования, и познакомитесь с Singleton, Factory, Decorator, Adapter и другими паттернами.

Дополнительные модули
  • Система контроля версий Git

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

  • Язык запросов SQL

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

Бонусные курсы
  • Универсальные знания программиста
  • Английский для IT-специалистов
Дипломные проекты
  • Индивидуальный проект: блоговый движок

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

  • Индивидуальный проект: поисковый движок

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

  • Стажировка в команде: разработка соцсети

    Вы будете работать под руководством опытного тимлида в составе команды из 5–7 человек. Создадите собственную социальную сеть за 3 месяца по ТЗ от реального заказчика. На практике познакомитесь с методологией управления проектами SCRUM. Все процессы, через которые вы пройдёте, — это максимально приближенный к боевым условиям опыт. Именно так создаётся коммерческое ПО в компаниях-работодателях.

Знания и навыки, которые приобретете
  • Работа с системой контроля версий Git
  • Знание принципов ООП
  • Администрирование и деплой пилотных работ
  • Умение ставить и соблюдать сроки
  • Привычка писать комментируемый и строго форматированный код
  • Разработка веб-приложений на Java
  • Разработка веб-приложений на фреймворке Spring
  • Навыки написания запросов к реляционным базам данных
  • Умение разбираться в чужом коде

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

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

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

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

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