Основной блок
Вводный модуль
Вы узнаете, где применяется язык Java и как выглядит программный код. Установите среду разработки и напишете первое консольное приложение.
Синтаксис языка — часть 1
Познакомитесь с переменными в языке Java, научитесь использовать условия и операторы сравнения.
Синтаксис языка — часть 2
Научитесь применять циклы в 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 с созданием контроллера и подключением к базе данных.
Нереляционные (NoSQL) базы данных и очереди
Познакомитесь с Redis и научитесь структурам данных. Изучите возможности и агрегацию данных в MongoDB.
Производительность и оптимизация
Узнаете, какие ресурсы нужно экономить для оптимизации приложения. Изучите два способа облегчения приложений и научитесь индексировать и оптимизировать запросы.
Разработка desktop-приложений
Научитесь разрабатывать удобные и функциональные приложения для рабочего стола.
Введение в алгоритмы
Узнаете, зачем нужны алгоритмы, и научитесь работать с алгоритмами бинарного поиска, сортировки, поиска подстроки и другими.
Структуры данных
Изучите хеш-таблицы, очередь и стек, связанные таблицы, бинарное и суффиксное дерево.
Распределённые хранилища и вычисления
Вы узнаете, что такое большие данные, и научитесь работать с файловой системой HDFS. Познакомитесь с фреймворком Spark и научитесь запускать в нём собственные приложения.
Паттерны проектирования
Узнаете, что такое паттерны проектирования, и познакомитесь с Singleton, Factory, Decorator, Adapter и другими паттернами.
Дополнительные курсы
Система контроля версий Git
Научитесь работать с Git: сможете сравнивать, менять и откатывать разные версии кода, научитесь создавать ветки и работать над одним проектом в команде.
Язык запросов SQL
Научитесь писать запросы к базам данных, познакомитесь с основными выражениями и операциями с таблицами.
Презентация итоговых проектов
Подготовитесь к выступлению перед экспертом со своей работой, разберёте типовые ошибки и научитесь держаться на публике.
Помощь в трудоустройстве
Получите пошаговый план поиска работы от Центра карьеры Skillbox.
Бонусные курсы
- Как стать первоклассным программистом.
- Вёрстка email-рассылок. Советы на реальных примерах.
- The state of soft skills.
- Как мы создавали карту развития для разработчиков.
- Как общаться по e-mail и эффективно работать с почтой?
- Повышение своей эффективности.
- Спор о первом языке программирования.
- Саморазвитие: как я не усидел на двух стульях и нашёл третий.
- Data-driven-подход к продуктивности — инсайты из данных миллиона людей.
- Протокол HTTP.
- Введение в алгоритмы.
- IT Resume and CV.
- Job interview: questions and answers.
- Teamwork.
- Workplace communication.
- Business letter.
- Software development.
- System concept development and SRS.
- Design.
- Development and Testing.
- Deployment and Maintenance.
Дипломные проекты
Индивидуальный проект: поисковый движок
Вы разработаете поисковой движок, который будет помогать посетителям сайта быстро находить нужную информацию, используя поле поиска.
Стажировка в команде: разработка соцсети
Вы будете работать под руководством опытного тимлида в составе команды из 5–7 человек. Создадите собственную социальную сеть за 3 месяца по ТЗ от реального заказчика. На практике познакомитесь с методологией управления проектами SCRUM. Все процессы, через которые вы пройдёте, — это максимально приближенный к боевым условиям опыт. Именно так создаётся коммерческое ПО в компаниях-работодателях.