Geekbrains

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

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

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

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

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

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

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

  • Основы Питон

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

  • Знакомство с Веб-технологиями

    Разберём основные понятия в веб-разработке. Познакомимся с языком разметки документов HTML, основами языка оформления стилей документа CSS, основами JavaScript, бэкенда PHP и MySQL, а также форматами передачи данных JSON и XML.

  • Операционные системы (Linux)

    Будем разбираться с серверной системой на базе Linux, рассмотрим один из самых популярных дистрибутивов Ubuntu (построен на базе Debian).

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

    Мы научимся понимать файловую структуру Linux, работать в консоли, применять основные команды, работать с удаленной системой по SSH.

    Отдельно будет рассмотрена работа Linux как платформы для веб-приложений, мы настроим и запустим полноценный стек сервисов для работы веб-сайта на базе Nginx и PHP.

    Важным аспектом системного администрирования является установка программ (пакетов) из репозиториев и автоматизация действий (скрипты bash) – все эти темы мы рассмотрим на отдельных занятиях.

    Кроме того, будут рассмотрены вопросы безопасности и сетевой подсистемы ОС Linux.

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

    Один из основных подходов к программированию, где на первом месте стоят объекты. Используется для упрощения сложного кода. Чтобы это сделать, программу делят на уникальные блоки, которые называются объектами, данные внутри него называются свойствами, а функции — методами.

  • Алгоритмы и структуры данных

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

  • Исключения в программировании и их обработка

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

  • Unit-тесты

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

  • Базы Данных и SQL

    Познакомитесь с языком запросов SQL. Научитесь писать запросы, делать расчёты и работать с таблицами. Узнаете основные ограничения SQL. Поработаете с MySQL и познакомитесь с альтернативными базами данных.

  • Контейнеризация

    На курсе изучите различия между микросервисной и традиционной архитектурой, научится работать с Docker и Docker Compose, а так же создавать собственные Dockerfile. Большая часть курса посвящена Kubernetes - самому популярному оркестратору контейнеров. После окончания курса студент сможет разворачивать приложения в Kubernetes, в том числе с помощью GitLab CI/CD.

  • Архитектура ПО: принцип SOLID, проектирование ООП, чистая архитектура

    После успешного прохождения данного курса вы разберетесь в универсальных принципах классического объектно-ориентированного проектирования, усвоите подход SOLID, ознакомитесь с наиболее часто применяемыми паттернами разработки ПО, освоите навыки проектирования программных компонентов. Узнаете основные принципы проектирования “чистых” архитектур.

  • Контроль Версий Углубленно (Git)

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

  • Организация CI/CD

    Во время курса мы познакомимся с основными понятиями и средствами CI/CD и инструментами, рассмотрим интеграцию и взаимодействие средств CI/CD и Docker’a, Углубимся в CI.

  • Парадигмы программирования и языки парадигм

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

  • Профориентация по направлению и языкам

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

Технологическая специализация — 3 месяцев
  • Бэкенд-разработка

    Рассмотрим подробнее бэкенд-направление, а также языки Python, Го, С#, С++

  • Java. Уровень 1

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

  • Java. Уровень 2

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

  • Java. Уровень 3

    Подробнее изучим обобщения, базы данных, средства ввода-вывода, многопоточность. Рассмотрим средства разработки, Reflection API и аннотации. Познакомимся с Code Review.

  • Проект
Технологическая специализация — 3 месяцев
  • Бэкенд-разработка

    Рассмотрим подробнее бэкенд-направление, а также языки Python, Го, С#, С++

  • Java. Уровень 1

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

  • Java. Уровень 2

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

  • Java. Уровень 3

    Подробнее изучим обобщения, базы данных, средства ввода-вывода, многопоточность. Рассмотрим средства разработки, Reflection API и аннотации. Познакомимся с Code Review.

  • Проект
Преимущества
  • Интерактивные вебинары и записи занятий
    Вебинары проходят в Zoom вы задаёте вопросы преподавателю, получаете ответы и общаетесь с однокурсниками. Каждый вебинар легко пересматривать в записи, даже если его пришлось пропустить.
  • Актуальная программа
    Мы ежегодно обновляем программу обучения проводим исследования и учитываем требования работодателей.
  • Практикующие преподаватели
    Преподаватели работают в топовых технологических компаниях ВТБ, Mail.ru Group, РТ Лабс (Ростелеком), АО «Российские космические системы» и других. Именно на их опыте строится постоянно обновляемая программа.
  • Публикуйте ваши проекты
    Вы сможете потренироваться работать с удалёнными серверами и разворачивать проекты для этого предоставим учебный доступ к инфраструктуре REG.RU. Доступ работает на нескольких уроках.
  • Ключ от продуктов JetBrains
    Каждый студент получит промокод на использование коммерческих версий продуктов JetBrains в течение 4 месяцев бесплатно. Если этого времени не хватит и нужно продолжать учиться, мы выдадим новый код.
Знания и навыки, которые приобретете
  • Знание алгоритмов и структур данных
  • Программирование на Java
  • Знание Java Enterprise Edition
  • Создание приложений с помощью Spring Framework
  • Базовые знания верстки: HTML, CSS, Bootstrap
  • Работа с базами данных SQL, PostgreSQL
  • Навыки автоматизированного тестирования кода
  • Знание принципов ООП и паттернов проектирования
Инструменты и программы
  • Git
  • SQL
  • NoSQL
  • Linux
  • HTML
  • Java
  • CSS
  • Spring
  • Ethernet
  • LibGDX

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

  • Дмитрий Данилин

    Декан факультета «Сетевой инженер»

    Ведущий сетевой инженер в компании «Сателл ИТ». Занимается проектированием, внедрением и модернизацией сетей передачи данных (Cisco, HPE, Huawei), проектами по сетевой безопасности (Palo Alto Networks, Check Point, Fortinet), а также инфраструктурными проектами по направлениям Microsoft и VMware.Более 9 лет работает системным администратором и сетевым инженером.

  • Александр Фисунов

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

  • Иван Овчинников

    Писал прошивки микроконтроллеров для телеметрических систем — они входят в состав космических аппаратов, находящихся на орбите Земли.

  • Леонид Лебидько

    Окончил ВМК МГУ, но после института 15 лет не программировал. В 2018 пошел в GeekBrains на факультет Java-разработки. Сейчас работает на позиции Senior Java Developer в РТ Лабс (Ростелеком), OCP Java 8 + OCA SQL Developer. Кандидат технических наук.

  • Михаил Левин

    Занимается backend-разработкой на Java в Яндекс.Маркете.