Ступень 1: "Основы Java и Java Core"
Практика на кейсах реальных компаний, помощь со стажировкой и первыми собеседованиями.
Блок 1 – Основы Java
Знакомство с языком Java и инструментами
Переменные и типы данных в Java
Циклы и языковые конструкции в Java
Работа с массивами
Классы и объекты: начальный уровень
Классы и объекты: продвинутый уровень
Блок 2 – Конструкции Java
Обработка исключений
Строки и регулярные выражения
Первая программа на Java
Бонусный урок. Практический воркшоп.
Блок 3 – Методологии тестирования ПО
Введение в тестирование ПО
Методы и виды тестирования
Инструменты тестировщика
Блок 4 – Документирование
Документы тестировщика
Артефакты тестирования
Жизненный цикл разработки ПО
Блок 5 – Java Core
Знакомство с алгоритмами
Введение в коллекции: списки, стеки и очереди
Коллекции: map, set
Stream api, lambda, optional
Домашнее задание по коллекциям Java
Generic-типы. Runtime, wildcards & PECS
Работа с памятью JVM
Ступень 2: "База Android-разработки"
Много практики и воркшопов. Помощь с подбором вакансий и прохождением собеседований.
Блок 6 - Основы Android-разработки
Android Studio, SDK, эмулятор и первое приложение
Основные компоненты Android-приложения
Жизненный цикл Activity
User Interface 1
User Interface 2 (Responsive UI)
Блок 7 - Linux и работа с сетью
Знакомство с Linux
Продолжение знакомства с Linux
Работа с файлами. Адаптер и декоратор
Домашнее задание: консольная утилита для поиска по файлу
Сериализация. Взаимодействие сервисов, бинарная сериализация, xml, json, yaml
Работа с сетью. UPD, TCP/HTTP, OSI
Домашнее задание: работа с сетью и API
Блок 8 - Многопоточное программирование
Java библиотека NIO. Отличия IO и NIO
Многопоточное программирование в Java. Синхронизация, классы concurrent.
Рефлексия в Java. Создание аннотаций
Системы контроля версий. Версионирование кода, совместная разработка, CSV
Git & GitHub. Git, Commit, Ветки, слияние веток и разрешение конфликтов, GitHub, Командная работа, Код ревью
Блок 9 - Основы SQL
Введение в блок SQL
Извлечение и фильтрация данных: начальный уровень
Извлечение и фильтрация данных: продвинутый уровень
Преобразование и сортировка данных: начальный уровень
Преобразование и сортировка данных: продвинутый уровень
Блок 10 - Базы данных
Базы данных. JDBC
Развиваем проект и добавляем в БД (делаем todo)
Ступень 3: "Работа с Kotlin и Figma"
Написание кода на Kotlin, базовые навыки Figma для Android-разработчика
Блок 11 - Основы Kotlin
Основы Kotlin
Организация навигации (перемещение между Activity)
Отображение списков Recyclerview
Fragments, FragmentManager
Работа с файлами, воспроизведение музыки
Блок 12 - Kotlin: networking и архитектура приложений
Работа в фоне
Networking
Persistence
RX
Архитектура современных приложений
Блок 13 - Создание макетов веб-страниц
Обзор инструментов Figma
Работа с кривыми, пиктограммами и графиками
Отрисовка элементов интерфейса
Локальные библиотеки стилей
Блок 14 - Работа с Figma
Прототипирование и анимация
Констрейнты и компоненты
Варианты и библиотеки
Figma Community
Подготовка макетов для работы в команде
Блок 15 - Современные методологии разработки
Методологии управления: Agile и Waterfall
Scrum
Инструменты управления
Ступень 4: "Advanced Android"
Обучение продвинутым навыкам для Android-разработчика для карьерного роста
Блок 16 - Продвинутая разработка на Android
Интеграция с Backend: API, типичные формы интеграции (RPC, REST)
Сетевые запросы: Main Thread & Background
Многопоточность: потоки, проблемы общих данных
Загрузка и отображение изображений
Регистрация, аутентификация и авторизация
Свойства хорошего кода. Abstraction, Composition, Coupling, Cohesion
Принципы SOLID
Основы клиент-серверного взаимодействия
Работа с камерой и мультимедиа
Блок 17 - Системы контроля версий
Системы контроля версий. Версионирование кода, совместная разработка, CSV
Git & GitHub. Git, Commit, Ветки, слияние веток и разрешение конфликтов, GitHub, Командная работа, Код ревью
Жизненный цикл ПО, CI/CD
Блок 18 - Работа с Git и Gitlab
Git, основные понятия. Знакомство с GitLab
Введение в GitLab CI
GitLab CI. Внутренние переменные, Артефакты, Правила
Блок 19 - Основы DevOps для программиста
Введение в DevOps
Linux: введение и основные концепты ОС
Bash. Базовый инструмент скриптов в Linux
Контейнеризация. Знакомство с Docker.
Упаковка приложений в Docker
Docker-Compose. Сервисы и взаимодействия
Ansible. Основные концепции и команды
Ansible.Роли и переменные
Ansible. Разработка ролей