Top.Mail.Ru

Знакомство с языком Java и инструментами

Автор урока: Лев Екасов, Back-end developer, Team Lead в Syncier, ex-Back-end developer, TeamLead в HeadHunter
Привет!
Добро пожаловать на первый вводный урок по языку программирования Java!

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

Но! Чтобы вы не заскучали будет и немного практики: вы увидите, как выглядит код на Java и вместе со Львом напишите первые строки кода. Поехали!

Цели:

  • Узнать историю языка и платформы Java
  • Изучить принципиальные особенности языка Java
  • Изучить принципиальные особенности платформы Java
  • Узнать, чем занимаются Java-программисты

Это занятие мы сделали открытым, чтобы ты мог его посмотреть и познакомиться с форматом курса

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

3
Общаетесь с наставником
Закрепляете знания и исправляете ошибки
4
Открываете новый урок
После выполнения и проверки всех заданий текущего блока
Куда трудоустраиваются студенты
Помогаем нашим студентам попадать на собеседования и устраиваться на работу
Программа курса
Блок 1
Блок 1
Основы Java
  • Знакомство с языком Java и инструментами
  • Переменные и типы данных в Java
  • Алгоритмы на Java
  • Работа с массивами
  • Классы и объекты
  • Обработка исключений
  • Строки и регулярные выражения
  • Первая программа на Java
  • Условные операторы и циклы
  • Типы данных
  • Массивы одномерные и многомерные
Блок 2
Блок 2
Java Core
  • Основы объектно-ориентированного программирования
  • Классы. Модификаторы доступа, наследование
  • Полиморфизм. Абстракции и интерфейсы
  • InMemory хранение данных — коллекции
  • Unit-тесты на Junit5
  • Generic-типы. Runtime, wildcards & PECS
  • Stream API
  • Работа с файлами
  • Работа с памятью JVM. Heap, stack, Garbage collector, VisualVM
  • Работа с сетью. UPD, TCP/HTTP, OSI
  • JVM и сборщики мусора
  • SQL
  • Логирование
    Блок 3
    Блок 3
    Введение в Android
    • Android Studio, SDK, эмулятор и первое приложение
    • Обзор ресурсов. Базовые шаблоны View и ViewGroup
    • ConstraintLayout Mastering
    • Обработка событий в Android
    • Отображение списков: RecyclerView
    • Логирование
    • Material Design
    • Организация навигации (перемещение между Activity)
    • Fragments, FragmentManager
    • Push-уведомления
      Блок 4
      Блок 4
      Работа с Git и Spring Framework
      • Предназначение системы контроля версий
      • Основные операции (фиксация и откат изменений, поиск, история)
      • Работа с сервисом GitHub
      • Ветки, слияние веток и разрешение конфликтов
      • Командная работа
      • Dependency Injection. Поле, конструктор, сеттер
      • Системы автоматической сборки Java-проектов. Gradle, Maven
      • Java-config Spring'a
      • Обзор REST, SOAP, RPC
      • Spring MVC + REST
      • Spring Boot
      • Spring Boot Test. Библиотека MockMvc
      Блок 5
      Блок 5
      SQL и базы данных
      • Виды баз данных. Relation, key-value, document, colon
      • Реляционные базы данных MySQL, PostgreSQL
      • Индексы
      • Синтаксис SQL
      • Как работать из Java c реляционными базами. JDBC, JPA, ORM, Hibernate
      • Транзакции и уровни изоляции
      • NoSQL, MongoDB. Как работать из Java
      • Spring Data
      Блок 6
      Блок 6
      Шаблоны проектирования и создание приложений
      • Порождающие. Builder, Singletone, Factory Method
      • Структурные. Proxy, Decorator, Adapter
      • Поведенческие. Command, Iterator, Observer, Chain of Responsibility
      • Свойства хорошего кода. Abstraction, Composition, Coupling, Cohesion
      • Принципы SOLID
      • Основы клиент-серверного взаимодействия
      • Основы HTML, CSS
      • Разработка приложения на Spring Boot с созданием контроллера и подключением к базе данных
      Блок 7
      Блок 7
      Продвинутая разработка на Android
      • Интеграция с Backend: API, типичные формы интеграции (RPC, REST)
      • Сетевые запросы: Main Thread & Background
      • Многопоточность: потоки, проблемы общих данных
      • Загрузка и отображение изображений
      • Регистрация, аутентификация и авторизация
      • Свойства хорошего кода. Abstraction, Composition, Coupling, Cohesion
      • Принципы SOLID
      • Основы клиент-серверного взаимодействия
      • Работа с камерой и мультимедиа
      Финал
      Финал
      Дипломная работа и помощь с трудоустройством
      • Работа над дипломным проектом
      • Подготовка резюме
      • Подготовка к собеседованию
      • Финальная защита и консультации

      В финальной программе возможны небольшие правки на основании фидбэка и потребностей студентов курса
      Что изучим на занятии
      Теория:
      • История языка и платформы Java
      • Принципиальные особенности языка Java
      • Принципиальные особенности платформы Java
      • Чем занимаются Java-программисты
      Практика:
      • Напишем первые строки кода на Java
      Инструменты: