Продвинутый курс промышленной аndroid-разработки на языке Kotlin
Неделя выходных – неделя с OTUS.
Скидки еще больше! Все подробности в чате ➞
Написать в чат

Курсы

Программирование
Специализации Курсы в разработке Подготовительные курсы
+7 499 110-61-65
Специальная цена

Android-разработчик. Продвинутый курс

Курс обеспечивает глубокое погружение в промышленную Android-разработку на языке Kotlin, и за 5 месяцев позволяет прокачать свои навыки с уровня Junior до Middle или Senior Android-разработчика.
Подойдет ли мне этот курс?

Длительность

5 месяцев

Начало

31 марта

Занятия

Вт 20:00, Пт 20:00

Общая стоимость

60 000 ₽ 48 000 ₽

В месяц

15 000 ₽

В кредит:

15000 ₽ в месяц

Хочу дешевле
Общая стоимость
60 000 ₽ 48 000 ₽
В месяц: 15 000 ₽
В кредит: 48000 ₽
в месяц
Продолжительность
5 месяцев, 4 академ. часа в неделю
Вт 20:00, Пт 20:00
Начало занятий
31 марта
Что даст вам этот курс

Курс рассчитан на Android-разработчиков с опытом работы от 1 года, со знанием Java или Kotlin.

Вы научитесь:


  • Глубоко разбираться в Android SDK. Разница между junior- и senior-разработчиками в том, что первый может реализовать какую-то фичу, а второй может объяснить, что скрывается за каждой строкой кода этой фичи, найти потенциальные проблемные места и оптимизировать их. Вы узнаете, что происходит внутри классов и методов Android SDK, сможете заметно ускорить свое приложение, выбрать оптимальный алгоритм шифрования для вашего приложения, и организовать безопасное хранилище секретных данных.

  • Организовывать инфраструктуру. Разворачивать системы continuous integration и continuous delivery, выстраивать git flow, поднимать Docker-контейнеры и Jenkins внутри них. Научитесь внедрять и настраивать линтеры и чекстайлы для проверки качества кода. Сможете писать свои Gradle таски и плагины для автоматизации и оптимизации процессов сборки и тестирования.

  • Проектировать архитектуру приложения. Вы узнаете сильные и слабые места паттернов и архитектурных решений, научитесь правильно выбирать архитектурный паттерн для вашего приложения. Освоите GoF, MV* шаблоны для Android и принципы Clean Architecture. Научитесь проектировать мультимодульную архитектуру и проводить рефакторинг legacy кода.

  • Тестировать приложения. Недостаточно просто уметь писать тесты. Важно приучиться писать надежный и протестированный код, интеграционные тесты и UI-тесты. Рассмотрим популярные фреймворки для тестирования и подходы к написанию тестов.

  • Использовать современные библиотеки и фреймворки На профессиональном уровне освоите Dagger 2 и RxJava 2, сможете правильно организовывать DI в приложении с использованием Dagger 2, писать собственные операторы в RxJava и т.д.

    Глубокое погружение в промышленную Android-разработку

    Весь курс построен на языке Kotlin

    Много практики и живого общения с преподавателями

    Глубокое изучение Gradle, Dagger 2, RxJava 2, а также процесса тестирования Android-приложений

    Выстраивание инфраструктуры "с нуля"

    Проектирование архитектуры приложений

Преподаватели
Антон Казаков
Руководитель направления Android-разработки в Альфа Банк
Михаил Проломов
Android-разработчик в «Фудтех Плюс»
Денис Журавлев
Android Team Lead в Mediapark
Михаил Валуйский
Android Team Lead в «Билайн»
Артур Бадретдинов
Team Lead в Vyng
Евгений Козочкин
Android Team Lead (Alfa-Bank)
Виталий Раевский
Архитектор мобильных приложений в Alfa-Bank
Окончил магистратуру Казанского авиационного института по специальности «Радиотехника и телекоммуникации».

В Android-разработке с 2013 года. Разрабатывал приложения в небольших стартапах и огромных компаниях, работал в «СберТехе», руководил Android-разработкой в компании «Технократия».

На текущий момент руководит Android-разработкой в «Альфа-Банке». Оптимизирует процессы разработки и поставки фич, работает над тулингом, чтобы облегчить жизнь разработчикам.

Помимо Android-разработки, интересуется бэкенд-разработкой и DevOps-практиками. Любит решать алгоритмические задачи.

Руководитель программы
Эксперт-практик с 16-летним опытом в IT. За 5 лет в Android-разработке создал и вывел в Google Play Store более 10 приложений. Имеет опыт управления командой в качестве Team lead mobile Android.

Среди реализованных проектов:
• внедрение системы мобильной поддержки торгового представителя и автоматизированного центрального сервера по торговым представителям и сетям, Henkel Russia;
• разработка приложения для Android, поддержка в Google Play Store, «Кораблик»;
• разработка и поддержка ресторанного агрегатора AllReady для Android и онлайн-кассы для ресторанов, «Фудтех Плюс».

Сертификаты:
• Duisburg-Essen University, Integrated Business processes SAP ERP, Diploma;
• Berkeley, Stat2.1x: Introduction to Statistics: Descriptive Statistic.

Образование: Государственный университет управления, Москва.

Преподаватель
Увлекается Android-разработкой с 2011 года. Профессионально находится в этой сфере более 6 лет.

Долгое время работал над созданием приложения «Ultimate Guitar: Аккорды & Табы» — одного из лучших приложений для саморазвития 2018 года по мнению Google Play, а также сохранявшего позицию №1 в рейтинге платных приложений в США. На текущий момент занимает должность Android Team Lead в Mediapark.

Имеет опыт работы с приложениями не только со стороны разработки, но и со стороны маркетинга и продаж. Также участвовал в разработке приложений для компаний «Мегафон» и Burger King, пробовал себя в стартапах и фрилансе.

Начинал карьеру с профессиональной веб-разработки, создавал приложения на iOS, был частью Tortuga Team в качестве разработчика игр.

Любимым приложением, разработанным за карьеру, считает Tonebridge Guitar Effects.

Занимается разработкой мобильных приложений в компании «Билайн» в качестве руководителя команды. Работал как в небольших стартапах, так и в крупных компаниях: Rambler&Co, Lazada (была куплена компанией Alibaba).

Начинал свой путь как бэкенд-разработчик, но вскоре заинтересовался программированием под Android ОС и с тех пор занимается программированием под мобильные платформы. Одним из самых интересных периодов карьеры считает разработку с нуля мобильного приложения «Мой Билайн», а также формирование отдела мобильной разработки для последующего сопровождения и улучшения проектов компании.

Окончил Южный федеральный университет, (кафедра Математического обеспечения ЭВМ). После этого учился в Техническом университете Гамбурга на факультете компьютерных наук.

Преподаватель
Технический руководитель команды по мобильной разработке в Vyng, Inc. Работая из разных уголков земного шара, делает рингтоны в Vyng запоминающимися.

Начал программировать со школы и продолжает по сей день. Специалитет в МИФИ познакомил с основами Computer Science, а магистратура по Software Engineering в «Иннополисе» помогла выйти на новый уровень, показав, что разработка — это не только написание кода.

Разрабатывал серверные приложения на Java и последние 4 года стал ближе к пользователям — пишет различные программы под Android: начиная с маленьких стартапов, заканчивая банковскими приложениями и приложениями для миллионов пользователей в разных странах.

В свободное время организовывает мероприятия под эгидой Google Developer Group и выступает на конференциях, таких как Mobius, AppsConf, Droidcon London.

Преподаватель
Окончил кафедру «Прикладная математика и информатика» в МАИ. Профессионально занимается Android-разработкой, начиная с 3-го курса.

Программированием увлекается с 9-го класса, тогда же впервые пересел с Windows на Ubuntu.

Работал во многих noname-стартапах, а также в крупных компаниях: Mail.Ru Group и Lazada. Сейчас занимает позицию тимлида в Android-команде «Альфа-Банка». Развивает архитектуру приложения, оптимизирует процессы, учит людей более осознанно подходить к разработке и видеть весь процесс целиком.

Помимо этого, организует митапы Mobile Talks Android, периодически выступает на различных отраслевых митапах и профессиональных конференциях.

Преподаватель
Более 11 лет опыта веб-разработки и более 5 лет разработки на Android. Создавал приложения для Nissan, London Olimpiade 2012, Renault, Mitchell Oil и Esse Club. Специалист по архитектуре мобильных приложений и реинжинирингу ПО. Участник отраслевых мероприятий, лекций и докладов, спикер на Mobile Talks Android и Aps Conf.

Работал в Partner Ltd, Mir Bank, BlackWood Design Studio, Absolute Robot Inc. Имеет опыт управления командой разработчиков в качестве тимлида.

Преподавал Java и веб-разработку в STEP IT Academy. Основные навыки — Java, Kotlin, Android development.

Преподаватель
Антон
Казаков
Михаил
Проломов
Денис
Журавлев
Михаил
Валуйский
Артур
Бадретдинов
Евгений
Козочкин
Виталий
Раевский
Преподаватели
Антон Казаков
Руководитель направления Android-разработки в Альфа Банк
Окончил магистратуру Казанского авиационного института по специальности «Радиотехника и телекоммуникации».

В Android-разработке с 2013 года. Разрабатывал приложения в небольших стартапах и огромных компаниях, работал в «СберТехе», руководил Android-разработкой в компании «Технократия».

На текущий момент руководит Android-разработкой в «Альфа-Банке». Оптимизирует процессы разработки и поставки фич, работает над тулингом, чтобы облегчить жизнь разработчикам.

Помимо Android-разработки, интересуется бэкенд-разработкой и DevOps-практиками. Любит решать алгоритмические задачи.

Руководитель программы
Михаил Проломов
Android-разработчик в «Фудтех Плюс»
Эксперт-практик с 16-летним опытом в IT. За 5 лет в Android-разработке создал и вывел в Google Play Store более 10 приложений. Имеет опыт управления командой в качестве Team lead mobile Android.

Среди реализованных проектов:
• внедрение системы мобильной поддержки торгового представителя и автоматизированного центрального сервера по торговым представителям и сетям, Henkel Russia;
• разработка приложения для Android, поддержка в Google Play Store, «Кораблик»;
• разработка и поддержка ресторанного агрегатора AllReady для Android и онлайн-кассы для ресторанов, «Фудтех Плюс».

Сертификаты:
• Duisburg-Essen University, Integrated Business processes SAP ERP, Diploma;
• Berkeley, Stat2.1x: Introduction to Statistics: Descriptive Statistic.

Образование: Государственный университет управления, Москва.

Преподаватель
Денис Журавлев
Android Team Lead в Mediapark
Увлекается Android-разработкой с 2011 года. Профессионально находится в этой сфере более 6 лет.

Долгое время работал над созданием приложения «Ultimate Guitar: Аккорды & Табы» — одного из лучших приложений для саморазвития 2018 года по мнению Google Play, а также сохранявшего позицию №1 в рейтинге платных приложений в США. На текущий момент занимает должность Android Team Lead в Mediapark.

Имеет опыт работы с приложениями не только со стороны разработки, но и со стороны маркетинга и продаж. Также участвовал в разработке приложений для компаний «Мегафон» и Burger King, пробовал себя в стартапах и фрилансе.

Начинал карьеру с профессиональной веб-разработки, создавал приложения на iOS, был частью Tortuga Team в качестве разработчика игр.

Любимым приложением, разработанным за карьеру, считает Tonebridge Guitar Effects.

Михаил Валуйский
Android Team Lead в «Билайн»
Занимается разработкой мобильных приложений в компании «Билайн» в качестве руководителя команды. Работал как в небольших стартапах, так и в крупных компаниях: Rambler&Co, Lazada (была куплена компанией Alibaba).

Начинал свой путь как бэкенд-разработчик, но вскоре заинтересовался программированием под Android ОС и с тех пор занимается программированием под мобильные платформы. Одним из самых интересных периодов карьеры считает разработку с нуля мобильного приложения «Мой Билайн», а также формирование отдела мобильной разработки для последующего сопровождения и улучшения проектов компании.

Окончил Южный федеральный университет, (кафедра Математического обеспечения ЭВМ). После этого учился в Техническом университете Гамбурга на факультете компьютерных наук.

Преподаватель
Артур Бадретдинов
Team Lead в Vyng
Технический руководитель команды по мобильной разработке в Vyng, Inc. Работая из разных уголков земного шара, делает рингтоны в Vyng запоминающимися.

Начал программировать со школы и продолжает по сей день. Специалитет в МИФИ познакомил с основами Computer Science, а магистратура по Software Engineering в «Иннополисе» помогла выйти на новый уровень, показав, что разработка — это не только написание кода.

Разрабатывал серверные приложения на Java и последние 4 года стал ближе к пользователям — пишет различные программы под Android: начиная с маленьких стартапов, заканчивая банковскими приложениями и приложениями для миллионов пользователей в разных странах.

В свободное время организовывает мероприятия под эгидой Google Developer Group и выступает на конференциях, таких как Mobius, AppsConf, Droidcon London.

Преподаватель
Евгений Козочкин
Android Team Lead (Alfa-Bank)
Окончил кафедру «Прикладная математика и информатика» в МАИ. Профессионально занимается Android-разработкой, начиная с 3-го курса.

Программированием увлекается с 9-го класса, тогда же впервые пересел с Windows на Ubuntu.

Работал во многих noname-стартапах, а также в крупных компаниях: Mail.Ru Group и Lazada. Сейчас занимает позицию тимлида в Android-команде «Альфа-Банка». Развивает архитектуру приложения, оптимизирует процессы, учит людей более осознанно подходить к разработке и видеть весь процесс целиком.

Помимо этого, организует митапы Mobile Talks Android, периодически выступает на различных отраслевых митапах и профессиональных конференциях.

Преподаватель
Виталий Раевский
Архитектор мобильных приложений в Alfa-Bank
Более 11 лет опыта веб-разработки и более 5 лет разработки на Android. Создавал приложения для Nissan, London Olimpiade 2012, Renault, Mitchell Oil и Esse Club. Специалист по архитектуре мобильных приложений и реинжинирингу ПО. Участник отраслевых мероприятий, лекций и докладов, спикер на Mobile Talks Android и Aps Conf.

Работал в Partner Ltd, Mir Bank, BlackWood Design Studio, Absolute Robot Inc. Имеет опыт управления командой разработчиков в качестве тимлида.

Преподавал Java и веб-разработку в STEP IT Academy. Основные навыки — Java, Kotlin, Android development.

Преподаватель
Отзывы
Николай
Бакланов
Интересный курс, хорошо подобранный материал.
Последовательность тем удобная для освоения.

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

Очень круто, что на некоторых занятиях были конкретные примеры (Сетевой слой, многомодульность - как пример, который я помню). И очень не хватало их на других занятиях (Gradle Plugin, некоторые занятия по тестированию) - будет здорово, если по каждому занятию где есть ДЗ, будет какой-то проект который можно использовать как пример.

Хороший преподавательский состав (и тех кто читал лекции и кто проверял ДЗ). Очень хорошо, что они практикующие программисты, примеры из практики то, чего часто не хватает.
Читать целиком
Николай
Бакланов
Интересный курс, хорошо подобранный материал.
Последовательность тем удобная для освоения.

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

Очень круто, что на некоторых занятиях были конкретные примеры (Сетевой слой, многомодульность - как пример, который я помню). И очень не хватало их на других занятиях (Gradle Plugin, некоторые занятия по тестированию) - будет здорово, если по каждому занятию где есть ДЗ, будет какой-то проект который можно использовать как пример.

Хороший преподавательский состав (и тех кто читал лекции и кто проверял ДЗ). Очень хорошо, что они практикующие программисты, примеры из практики то, чего часто не хватает.
Читать целиком
Антон Казаков о курсе «Android-разработчик. Продвинутый курс»
Необходимые знания
  • Опыт разработки под Android от 1 года
  • Знание Java Core или Kotlin
  • Знакомство с системой контроля версий git
  • Знакомство с популярными фреймворками: Dagger, RxJava, Android architecture components
  • Опыт работы с сетью и хранилищами данных в Android
  • Понимание принципов RESTful API
Процесс обучения
Всё обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в слаке курса, сдача домашних работ и получение обратной связи от преподавателя.

Вебинары идут дважды в неделю по 1,5 часа. Все вебинары сохраняются и в записи в вашем личном кабинете.

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

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

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

Выполнение проектной работы помогает усвоению практических навыков, а тема проекта отдельно выносится в сертификат. Во время работы над проектом студенты получают консультации и обратную связь от преподавателей в слаке группы и на проектных занятиях.
Программа обучения
Модуль 1
Kotlin
Модуль 2
Architecture
Модуль 3
View
Модуль 4
Data
Модуль 5
Testing
Модуль 6
Build process
Модуль 7
Проектная работа
Kotlin
Освежим знания по Kotlin stdlib. Поговорим о kotlin coroutines, их внутреннем устройстве и API.
Тема 1: Kotlin стандартная библиотека
после занятия вы сможете:
оперировать основными синтаксическими конструкциями языка Kotlin JVM;
объяснить как осуществляется обратная совместимость с Java;
учитывать в своей работе best practices по написанию эффективного и чистого Kotlin кода.
Тема 2: Kotlin coroutines
после занятия вы сможете:
использовать корутины для написания асинхронного кода;
разобраться с Channel и Flow.
7 апреля, 20:00 — 21:30
Лектор: Антон Казаков
Домашние задания: 1
1 Kotlin stdlib + Kotlin coroutines
Цель: В этой домашней работе мы закрепим знания по kotlin stdlib: основные синтаксические конструкции, система типов, обработка исключений. Закрепим и применим на практике теорию о Kotlin coroutines.
Тема 3: Выбор темы и организация проектной работы
выбрать и обсудить тему проектной работы;
спланировать работу над проектом;
ознакомиться с регламентом работы над проектом.
10 апреля, 20:00 — 21:30
Лектор: Антон Казаков
Architecture
В этом модуле поговорим про архитектуру в Android приложениях. Рассмотрим популярные архитектурные паттерны и выявим pros & cons каждого из них. Углубимся в ООП паттерны, особое внимание уделим IOC, в частности Dependency Injection: изучим как работает Dagger 2 и используем его для построение многомодульного приложения. Научимся искать явные признаки плохо спроектированного проекта и общие “запахи кода”, и рефакторить проблемные участки кода.
Тема 1: Design patterns
после занятия вы сможете:
применять на практике часто используемые паттерны проектирования из GoF там, где они действительно необходимы;
разобраться с паттернами многопоточного взаимодействия и синхронизации, кеширования и т.п.
14 апреля, 20:00 — 21:30
Лектор: Михаил Валуйский
Тема 2: MVP + Clean
после занятия вы сможете:
выстраивать архитектуру в соответствии с принципами Clean Architecture, сформулированными Бобом Мартином;
применять классический MVP в рамках Android проекта.
17 апреля, 20:00 — 21:30
Лектор: Евгений Козочкин
Тема 3: MVVM + MVI
после занятия вы сможете:
строить архитектуру проекта, используя MVVM/MVI;
проанализировать плюсы и минусы каждого из подходов;
разобраться с фреймворками, которые упрощают реализацию MVVM/MVI.
21 апреля, 20:00 — 21:30
Лектор: Евгений Козочкин
Тема 4: RxJava
после занятия вы сможете:
применять ключевые операторы Reactive Streams;
писать собственные операторы;
оценить какие шедулеры и типы стримов лучше подходят под решения конкретных задач.
24 апреля, 20:00 — 21:30
Лектор: Михаил Валуйский
Тема 5: Architecture Components
после занятия вы сможете:
применять AAC в своих приложениях;
адаптировать их под конкретно выбранную архитектуру.
28 апреля, 20:00 — 21:30
Лектор: Евгений Козочкин
Домашние задания: 1
1 Architecture
Цель: В этом домашнем задании мы на практике применим знания полученные на уроках по паттернам проектирования и архитектурным паттернам.
Тема 6: Dagger2
после занятия вы сможете:
организовывать DI в приложении, используя Dagger2.
8 мая, 20:00 — 21:30
Лектор: Антон Казаков
Домашние задания: 1
1 Dagger 2
Цель: В этом домашнем задании мы реализуем на практике паттерн Dependency Injection с применением Dagger2.
Тема 7: Multimodule project
после занятия вы сможете:
проектировать мультимодульную архитектуру приложения.
12 мая, 20:00 — 21:30
Лектор: Антон Казаков
Домашние задания: 1
1 Multi-module
Цель: Цель домашнего задания - применить на практике знания по декомпозиции монолитного приложения на Gradle модули по фичам.
Тема 8: Code smells + refactoring
после занятия вы сможете:
находить плохие архитектурные решения;
строить roadmap;
проводить рефакторинг.
15 мая, 20:00 — 21:30
Лектор: Виталий Раевский
View
Третий модуль посвящен вью и всему что с ними связано. Поговорим о View и ViewGroup которые доступны из коробки, погрузимся в их устройство и сравним быстродействие. Рассмотрим инструменты которые предоставляет Android SDK для рисования/рендеринга своих View. Сделаем наше приложение более отзывчивым используя широкие возможности Animator фреймворка. Научимся использовать инструменты для профилирования чтобы быть уверенными что наши вью попадают в ui rendering frame.
Тема 1: Views
после занятия вы сможете:
применять знания о процессах рендеринга view при создании собственных имплементаций Android View;
проанализировать слабые и сильные стороны VIewGroup из Android SDK.
19 мая, 20:00 — 21:30
Домашние задания: 1
1 View
Цель: Изучив виды Android View/ViewGroup и Canvas, применим знания на практике и создадим свою кастомную View
Тема 2: Canvas
после занятия вы сможете:
использовать возможности Canvas и Path из Android SDK для рисования сложных оптимизированных view;
проанализировать TouchListener для того, чтобы делать View интерактивными.
22 мая, 20:00 — 21:30
Домашние задания: 1
1 View
Цель: Изучив виды Android View/ViewGroup и Canvas, применим знания на практике и создадим свою кастомную View
Тема 3: Animations
после занятия вы сможете:
сделать View более “живыми”;
использовать возможности ViewPropertyAnimator, Transitions API и тп.
26 мая, 20:00 — 21:30
Домашние задания: 1
1 Animations
Цель: Цель занятия закрепить знания по animation framework который мы изучили на занятии.
Тема 4: RecyclerView
после занятия вы сможете:
проанализировать из каких компонентов состоит RecyclerView, как они устроены изнутри;
профилировать и оптимизировать списки.
29 мая, 20:00 — 21:30
Тема 5: UI Profiling
после занятия вы сможете:
использовать различные инструменты для поиска потенциальных узких мест в отрисовке UI;
оптимизировать низкопроизводительные решения для быстрой отрисовки приложений.
2 июня, 20:00 — 21:30
Лектор: Артур Бадретдинов
Data
Здесь мы поговорим о том как получать данные, обрабатывать их и безопасно хранить. Рассмотрим способы получения данных по сети, хранение в persistent и secure хранилищах.
Тема 1: Services
после занятия вы сможете:
выбирать необходимую реализацию Android Service, исходя из задачи и версии ОС;
выстраивать коммуникации между сервисами, которые работают в разных процессах.
5 июня, 20:00 — 21:30
Домашние задания: 1
1 Домашнее задание на закрепление пройденного материала
Тема 2: Network
после занятия вы сможете:
применять широкие возможности http клиента Retrofit и десериализатора Gson для построения сетевого уровня в своем приложении.
9 июня, 20:00 — 21:30
Тема 3: Persistent storage
после занятия вы сможете:
выбирать оптимальное решения для хранилища данных на девайсе.
16 июня, 20:00 — 21:30
Домашние задания: 1
1 Источники данных
Цель: Цель занятия закрепить знания которые были получены на уроках Network и Persistent Storage.
Тема 4: Security in Android
после занятия вы сможете:
выбирать оптимальный алгоритм шифрования для случая;
организовать безопасное хранилище секретных данных.
19 июня, 20:00 — 21:30
Testing
В данном модуле рассмотрим различные виды тестов. Начнем с основания пирамиды тестирования - unit тестов, плавно перейдем на интеграционные тесты и закончим на вершине - автоматизированными UI тестами которые позволяют облегчить и ускорить ручное тестирование. Поговорим о таких инструментах как JUnit, Mockito, Robolectric, Espresso, UIAutomator и т.д. Подробно разберем на практике нюансы различных видов тестирования, слабые и сильные стороны, их стоимость и процессы написания/выполнения.
Тема 1: Юнит тесты
после занятия вы сможете:
покрывать unit тестами классы.
23 июня, 20:00 — 21:30
Домашние задания: 1
1 Юнит тесты
Цель: Цель занятия закрепить знания полученные на лекции по Unit тестам. Для этого написать unit тесты хотя бы на один фиче модуль.
Тема 2: Интеграционное тестирование на Android
после занятия вы сможете:
использовать фреймворки для интеграционного тестирования на Android;
рализовывать различные виды тестовых дублеров;
создавать shadowклассы.
26 июня, 20:00 — 21:30
Домашние задания: 1
1 Интеграционные тест
Цель: Цель занятия закрепить знания полученные на лекции по интеграционным тестам.
Тема 3: Automated UI Testing. Espresso framework, Spoon, MockWebserver
после занятия вы сможете:
писать UI тесты на Espresso в изолированной среде;
запускать UI тесты на нескольких эмуляторах параллельно.
7 июля, 20:00 — 21:30
Домашние задания: 1
1 Автоматизированное UI тестирование
Цель: Цель занятия закрепить знания полученные на лекции по автоматизированным UI тестам.
Build process
Этот модуль посвящен инфраструктуре, сборке и деплою приложений. Поговорим о системах сборки, контейнерах, инструментах для CI/CD. Напишем свой pipeline для сборки/тестирования/деплоя приложения.
Тема 1: Proguard
после занятия вы сможете:
встроить Proguard обфускацию и оптимизацию в приложение.
10 июля, 20:00 — 21:30
Тема 2: Инструменты для проверки качества кода
после занятия вы сможете:
внедрять, настраивать линтеры/чекстайлы для проверки качества кода и поиска потенциальных ошибок.
14 июля, 20:00 — 21:30
Домашние задания: 1
1 Статические анализаторы
Цель: Цель домашней работы закрепить знания полученные на уроке по статическим анализаторам и применить их на практике.
Тема 3: Gradle
после занятия вы сможете:
писать свои Gradle Tasks и Gradle Plugin;
подключать их в проект, встраивать в пайплайн.
17 июля, 20:00 — 21:30
Тема 4: Gradle. Best practices and optimisations
после занятия вы сможете:
профилировать и оптимизировать свои сборки.
21 июля, 20:00 — 21:30
Домашние задания: 1
1 Домашнее задание на закрепление пройденного материала
Тема 5: Docker
после занятия вы сможете:
собирать докер образ из Dockerfile;
поднимать контейнер из образа;
взаимодействовать с контейнером.
24 июля, 20:00 — 21:30
Тема 6: Jenkins
после занятия вы сможете:
поднимать Jenkins в Docker контейнере;
делегировать ему сборку Android проекта.
28 июля, 20:00 — 21:30
Домашние задания: 1
1 Домашнее задание на закрепление пройденного материала
Тема 7: Distribution / Crash overview
после занятия вы сможете:
деплоить .apk файл в системы для дистрибуции приложений.
31 июля, 20:00 — 21:30
Домашние задания: 1
1 CI/CD
Цель: Цель урока закрепить знания полученные на предыдущих 3 уроках и реализовать на практике рабочий ci/cd пайплайн который будет собирать и загружать ваше приложение.
Проектная работа
Этот модуль посвящен доработке и защите выпускных работ. Работа над проектом начинается с самого первого модуля.
Тема 1: Консультация по проектам и домашним заданиям
получить ответы на вопросы по проекту, ДЗ и по курсу.
7 августа, 20:00 — 21:30
Тема 2: Защита проектных работ
защитить проект и получить рекомендации экспертов.
11 августа, 20:00 — 21:30
Домашние задания: 1
1 Сдать ссылку на репозиторий курсового проекта. В репозитории обязательно должен быть заполнен файл Readme.md с описание проекта.
Выпускной проект
На протяжении всего курса вы будете работать над собственным проектом. Это будет тонкий клиент к какому-либо сервису с публичным API.

Основной упор будет сделан на качество кода, архитектуру проекта, покрытие тестами, безопасность, красивый и аккуратный дизайн, разбиение на модули (по фичам либо по слоям), процесс сборки на CI и доставке apk.

## Например, вы можете использовать следующие API для курсового проекта:

  • API YouTube или другого видеосервиса - тогда в его приложении будет подключен ExoPlayer, помимо вышеописанных критериев основной упор будет сделан на воспроизведение видео, сохранение стейта видео и тп.


  • API Ethereal-price или любой другой сервис, который мониторит информацию по курсам криптовалюты. Тогда упор будет сделан на кастомные вью с графиками, их скорость и интерактивность.


  • API Imgur или любой другой фоторедактор (клон инстаграмма). В этом случае, упор будет сделан на скорость работы, удобство использования инструментов и т.д.


## Плюсы такого подхода:
- Вы сразу будете видеть конечную цель курса
- По прохождению курса у вас будет готов проект в GitHub с commit history, который можно упомянуть в резюме

Последний месяц курса посвящен доработке проекта, который вы разрабатывали в течении курса, и консультациям с преподавателем. Вы сможете реализовать недостающие фичи, дописать UI тесты и т.д.
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
ProGuard / R8: сжатие и оптимизация кода для Android-приложений
Антон Казаков
День открытых дверей
24 марта в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы

  • заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям, исходные коды программ;

  • сохраните пример разработанного приложения;

  • получите сертификат о прохождении курса;

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

Дата выдачи сертификата: 5 октября 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Android-разработчик. Продвинутый курс»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Android-разработчик. Продвинутый курс»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.
Общая стоимость
60 000 ₽ 48 000 ₽
В месяц: 15 000 ₽
В кредит: ₽ в месяц
Продолжительность
5 месяцев
Начало занятий
31 марта
🔥 Неделя выходных – неделя с OTUS.
Скидки еще больше! Все подробности в чате ➞