Бесплатная вводная часть
Смотрим, как устроена программа, в чём особенности Android-разработки и чем её специалисты занимаются ежедневно.
Затем погружаемся в Java и выполняем практическое задание — самостоятельно дописываем и запускаем приложение «Конвертер валют».
Тема 1. Как всё устроено
Тема 2. Погружаемся в Android-разработку:
- Основы Java;
- Знакомство с IDE;
- Лабораторная работа.
Модуль 1 - Введение в Java
Изучаем основные конструкции языка программирования Java в теории и на практике: объявляем переменные, функции, свойства, поля и методы. Учимся работать со строками и циклами и главными инструментами Android-разработки — Android Studio и Git.
Впервые сдаём задание на проверку ревьюером.
Спринт 1
- Тема 1. Начало платного обучения
- Тема 2. История Java
- Тема 3. Объявление переменных
- Тема 4. Работа со строками
- Тема 5. Операторы сравнения
- Тема 6. Булева алгебра
- Тема 7. Циклы
- Тема 8. Конец спринта №1
Спринт 2
- Тема 1. Методы
- Тема 2. Классы и объекты
- Тема 3. Git для самых маленьких
- Тема 4. Запуск кода
- Тема 5. Проектная работа №1
- Тема 6. Конец спринта №2
Модуль 2 - Проектная работа на Java
Продолжаем изучать основные конструкции Java и работать над проектом: используем итераторы, создаём анонимные классы. Знакомимся с интерфейсами и дженериками.
Закрепляем знания, дописав код приложения для сортировки, просмотра и совершения звонков по всем контактам в телефоне, с учётом привязки к мессенджерам и почте.
Сдаём работу на проверку ревьюером.
Спринт 3
- Тема 1. Массивы, списки, итераторы
- Тема 2. Модификаторы доступа
- Тема 3. Наследование и переопределение
- Тема 4. Конец спринта №3
Спринт 4
- Тема 1. Интерфейсы
- Тема 2. Анонимные классы и лямбда-выражения
- Тема 3. Дженерики
- Тема 4. Проектная работа №2
- Тема 5. Конец спринта №4
Модуль 3 - Введение в Kotlin
Изучаем основные конструкции языка программирования Kotlin в теории и на практике. Всю основную часть программы работаем именно на Kotlin.
Спринт 5
- Тема 1. Начало спринта №5
- Тема 2. История Kotlin
- Тема 3. Переменные
- Тема 4. Строковые шаблоны
- Тема 5. Операторы if и when
- Тема 6. Циклы
- Тема 7. Классы
- Тема 8. Модификаторы доступа 3.0
- Тема 9. Конец спринта №5
Модуль 4 - Проектная работа на Kotlin
В этом модуле переписываем часть приложения «Контакты», анализируем разницу между Kotlin и Java, работаем с фильтрами и списками.
Сдаём работу на проверку ревьюером.
Спринт 6
- Тема 1. Классы и объекты
- Тема 2. Наследование и переопределение
- Тема 3. Массивы, списки, итераторы
- Тема 4. Top-level функции
- Тема 5. Конец спринта №6
Спринт 7
- Тема 1. Дженерики
- Тема 2. Продвинутая IDE
- Тема 3. Продвинутый Git и Git ignore
- Тема 4. Проектная работа №3
- Тема 5. Конец спринта №7
Модуль 5 - Введение в UI и хранение данных
Начинаем работу над большим сквозным проектом. Изучаем простую вёрстку, работу с ресурсами, простой UI и базовую навигацию. Решаем первую серию задач по проекту.
Базовая работа с UI включает xml-вёрстку, основные View-элементы и взаимодействие с ними из кода приложения, создание Activity и использование Intent.
В конце каждого спринта сдаём домашнее задание на проверку ревьюером.
Спринт 8
- Тема 1. Начало основного этапа обучения
- Тема 2. Вёрстка экранов
- Тема 3. Работа в коде
- Тема 4. Навигация
- Тема 5. Конец спринта №8
Домашнее задание на спринт:
- Сверстать главный экран и экран настроек.
- Реализовать нажатия на кнопки главного экрана с заглушками в виде Toast с любым текстом двумя способами: через реализацию анонимного класса или с помощью лямбда-выражения.
- Заменить вывод Toast по нажатию кнопки на код переходов на реальные экраны.
Спринт 9
- Тема 1. Стили и темы
- Тема 2. Context и Intent
- Тема 3. EditText и TextWatcher
- Тема 4. Хранение данных. In memory
- Тема 5. Конец спринта №9
Домашнее задание на спринт:
- Создать общий стиль для атрибутов на «Главном экране» и в «Настройках».
- Вставить новые шрифты в экраны.
- Добавить тени к кнопкам.
- Адаптировать интерфейс под «Ночной режим».
- Перенести все строки с экранов «Главный экран» и «Настройки» в strings.xml.
- Реализовать кнопки «Поделиться приложением», «Написать разработчикам», «Пользовательское соглашение».
- Реализовать экран «Поиск» без выполнения поискового запроса и отображения списка результатов.
- Экран должен содержать заголовок, кнопку «Назад» и поле ввода поискового запроса с кнопкой «Очистить», логика которой соответствует тексту задания.
- Реализовать сохранение текста поискового запроса в жизненном цикле SearchActivity.
Модуль 6 - Продвинутый UI
Спринт 10
- Тема 1. Введение в списки
- Тема 2. RecyclerView
- Тема 3. ViewHolder
- Тема 4. Adapter
- Тема 5. Практика по теме
Домашнее задание на спринт:
- Реализовать переход на существующий экран с существующего экрана.
- Сделать splash screen.
- Добавить функцию Send feedback или Contact us.
- Реализовать навигацию с главного экрана по экранам Settings, Playlists.
- На экране Settings реализовать фичи Share app, Contact support, Rate us.
Закрепите знания и навыки на сессии лайв-кодинга с наставником.
Модуль 7 - Сеть
Знакомимся с HTTP, REST API и Retrofit.
Спринт 11
- Тема 1. HTTP + REST API
- Тема 2. Подслой Retrofit
Домашнее задание на спринт:
- Создать экраны с результатами поиска песен.
- Реализовать запрос списка песен.
Модуль 8- Хранение данных
Учимся работать с хранением данных. Рассматриваем основные способы хранения данных в Android и выполняем практические задания на использование SharedPreferences.
Спринт 12
- Тема 1. SharedPreferences
Домашнее задание на спринт:
- Создать историю поиска.
- Настроить переключение тёмной темы вручную.
Модуль 9 - Продвинутый UI
Спринт 13
- Тема 1. Сложный UI – код и вёрстка (ConstraintLayout)
Домашнее задание на спринт:
- Создать экран Аудио-плеера.
Модуль 10 - Многопоточность
Знакомимся с многопоточностью.
Спринт 14
- Тема 1. Справочный подслой Java многопоточность (теория)
- Тема 2. Android-многопоточность (теория, работа над проектной задачей)
Домашнее задание на спринт по теме:
- Реализовать debounce.
Модуль 11- Архитектура
Начинаем разбираться в архитектуре приложений. Знакомимся с концепцией Clean architecture, MVP и рефакторим проект на MVVM.
Спринт 15
- Тема 1. Архитектура введение (теория, работа над проектной задачей)
- Тема 2. ООП + SOLID (теория)
- Тема 3. Clean architecture (теория)
- Тема 4. Описание архитектур (теория, работа над проектной задачей)
Спринт 16
- Тема 1. Рефакторинг и переписывание проекта на MVVM (теория, работа над проектной задачей)
Домашнее задание на спринт:
- Отрефакторить код.
- Переписать код сквозного проекта на MVVM.
- Написать ViewModel.
- Использовать LiveData.
Спринт 17
- Тема 1. DI, принципы и библиотеки (теория, работа над проектной задачей)
Домашнее задание на спринт:
- Переделать презентеры на Koin.
Модуль 12 - Продвинутый UI
Спринт 18
Домашнее задание на спринт:
- Реализовать экран медиатеки.
Модуль 13 - Продвинутая работа с сетью и хранением данных
Начинаем работать с SQLite и Room, знакомимся с системой плагинов, сериализаторами и тем, как их использовать в OkHttp.
Спринт 19
- Тема 1. Room
- Тема 2. Система плагинов и сериализаторы
Подключите различные сериализаторы, CallAdapters, делегируете парсинг кастомным сериализаторам.
Добавите хэдер к запросу и логирование запросов. Узнаете у наставника, как можно делать кастомную сериализацию.
Домашнее здание на спринт:
- Реализуем функции добавления треков в избранное.
Модуль 14 - Продвинутая многопоточность и сложный UI
Реализуем экран плейлиста, поработаем с изображениями (обложками плейлистов и треков) с помощью Coroutines.
Спринт 20
Домашнее здание на спринт:
- Реализовать функции создания плейлистов и добавления песен в плейлисты.
- Настроить работу с изображением (обложка плейлиста) с помощью Coroutines.
Спринт 21
Домашнее здание на спринт:
- Реализовать все функции экрана плейлиста.
Спринт 22
Домашнее здание на спринт:
- Реализовать все функции экрана плейлиста.
Модуль 15 - Продвинутая навигация
Спринт 23
- Тема 1. RxJava
- Тема 2. Фрагменты
Домашнее здание на спринт:
- Переделать навигацию между экрана поиска, медиатеки и настроек на фрагменты.
Модуль 16 - Продуктовая и командная разработка
Спринт 24
- Тема 1. Жизненный цикл продукта (MVP etc)
- Тема 2. Agile
- Тема 3. Инструменты ведения командной работы
- Тема 4. Мобильная разработка в реальности (как устроены команды, кто есть кто, как со всеми общаться)
- Тема 5. Git для гигантов
- Тема 6. Декомпозиция задач
Дипломный проект - Этап дипломного командного проекта
Разделимся на команды по 3-5 человек и вместе делаем приложение-афишу событий – прямо как в жизни. С помощью приложения можно узнать, какие рядом с вами будут концерты, выставки, фильмы в кино.
Знакомимся с процессами и инструментами:
- Gradle,
- Тестирование,
- Firebase,
- Crashlytics,
- Базовая аналитика.
У вас будет техническое задание от менеджера и дизайн — нужно будет декомпозировать всю работу, разбить на спринты и сделать продукт за 1 месяц.
Спринт 25
- 1 встреча
Наставник поможет декомпозировать главные задачи проекта, команда распределит их между собой.
- 2 встреча
Проводим ретроспективу, делаем выводы по двухнедельному отрезку работы.
Спринт 26
- 3 встреча.
Вместе с наставником проведете планирование оставшихся задач.
- 4 встреча.
Поделитесь результатами работы с другими командами на демо.
- 5 встреча.
Проведете ретроспективу, сделаете выводы по всему командному проекту.
Карьерный трек - Карьерный трек и Акселерация
Карьерный трек
Эта часть курса для тех, кто решил найти работу в сфере разработки.
Карьерный трек организован так же, как и предыдущие темы: теория и практика. Но вместо навыков программирования вы изучите стратегии поиска работы и узнаете о тонкостях выбора компании-работодателя, а в качестве практики вы будете писать не код, а резюме и сопроводительное письмо.
В течение курса вы подготовите портфолио к визиту работодателя и проведёте исследование рынка трудоустройства.
Потренируетесь проходить технические собеседования на публичных встречах.
Спринт 1.
— Профессия и целеполагание
— Поиск работы
— Рынок труда
— Работа мечты
— Подготовка резюме
— Хорошее портфолио
Спринт 2.
— Неформальный поиск работы
— Сопроводительное письмо
— Коммуникация с HR
— Анализ собственных результатов
Спринт 3.
— Подготовка к собеседованию
— Soft и hard-навыки
— Деньги
— Выбор компании
— Офис, удалёнка или фриланс?
— Как не ошибиться при выборе компании
— Испытательный срок
— Публичное техническое собеседование
Акселерация
Программа сопровождения: вы ищете работу, мы консультируем и помогаем.
Участвовать в программе могут те, кто закончил программу трудоустройства и находится в активном поиске работы.
Участники на практике применяют навыки, полученные в программе трудоустройства, адаптируют эти навыки к собственной стратегии поиска работы и каждую неделю рассказывают о своих результатах.
Основной формат участия — индивидуальные консультации и публичные собеседования.