ДАТА:
10.07.2023 — 19.10.2023
ДЛИТЕЛЬНОСТЬ:
30 ОНЛАЙН-ЗАНЯТИЙ
4 месяца
[ПО ПОНЕДЕЛЬНИКАМ И ЧЕТВЕРГАМ]
После курса вы сможете кодить на Kotlin, проектировать приложения с нуля, писать под них бэкенд и фронтенд, интегрировать внешние сервисы и тестировать функционал.
Почему Android актуальная тема:

-
• 8/10 смартфонов работают на операционной системе Android. Это означает, что рынок нуждается в специалистах, которые будут поддерживать существующие приложения и разрабатывать новые.
• Систему Android широко используют не только на смартфонах, но и в smart-вещах (IoT): от автомобилей до «умных» утюгов и стиральных машин.
-
• Приятные финансовые перспективы: Junior-разработчик получает в среднем $ 900, Middle — $ 2700, Senior — $ 5000. После этого курса вы получите квалификацию Junior Android Developer.
• Результат всегда можно показать, сбросить друзьям или родителям и сказать «смотри, это моя работа!»
-
• Есть вероятность, что ваше приложение будут использовать сотни тысяч пользователей.
В ПРОГРАММУ КУРСА ВХОДЯТ
-
БАЗА ЯЗЫКА KOTLIN Изучите базовый синтаксис языка Kotlin, овладеете принципами объектно-ориентированного и реактивного программирования.
-
РАБОТА С ANDROID STUDIO Научитесь проектировать Android-приложения, тестировать собственный код, интегрировать различные сервисы и загружать медиафайлы в приложение.
-
РАЗРАБОТКА ПЕТ-ПРОЕКТА С нуля создадите приложение для поиска достопримечательностей в заданном радиусе и формирования оптимального маршрута и настроите интеграцию с Google Maps.
-
КАРЬЕРНАЯ КОНСУЛЬТАЦИЯ Получите разбор часто задаваемых вопросов на собеседованиях от лектора, а также 4 видеоурока от нашего HR-отдела с рекомендациями по оформлению CV, портфолио, профилю на LinkedIn и общению с рекрутерами.
ЛЕКТОР:

Александр
Мазуренко
- Senior Android Developer, последние 5 лет работающий в GlobalLogic
- в целом в разработке 6+ лет, прошел путь от свитчера в 35 лет до синьйора
- работал над приложением для плеймаркета в TICKETS.UA, которое скачали 500 000+ пользователей
- имел опыт кастомизации операционной системы Android под проекты
- интегрировал медиаконтент в Android Auto
- работает с интегрированными TV-системами на базе Android для компании, которая входит в тройку Fortune 500
ПРОГРАММА
-
01
10.07.2023 19:00
Введение в программирование на Kotlin
- Рассмотрите инструменты, которые будете изучать на курсе.
- Ознакомитесь с бинарным кодом и основными принципами работы вычислительных машин.
- Узнаете, что такое компилятор и в чем состоит главная задача разработчика.
- Поймете преимущества языков программирования, которые используются Java Virtual Machine.
- Ознакомитесь с особенностями языка Kotlin.
- Научитесь запускать простой код на Kotlin.
-
02
13.07.2023 19:00
Типы данных и функции
- Изучите основные типы данных на Kotlin.
- Разберете разницу между var, val и const.
- Поймете значение функции main().
-
03
17.07.2023 19:00
Операции, операторы и логические выражения
- Ознакомитесь с основными типами операций на Kotlin.
- Изучите конструкции if-else и when, а также разберете особенности их использования.
- Создадите программы добавления и вычитания простых чисел с использованием операторов ввода-вывода.
-
04
20.07.2023 19:00
Работа с циклами
- Узнаете, в каких случаях нужно использовать циклические конструкции.
- Научитесь различать forEach, forEachIndexed, while и их задачи.
- Научитесь пользоваться Ranges — более простым и понятным механизмом для реализации циклических задач.
-
05
24.07.2023 19:00
Работа с массивами
- Изучите особенности массива и рассмотрите примеры его использования.
- Узнаете, что такое индексация элементов массива.
- Поймете, как работает оперативная память при создании различных типов и массивов и как происходит доступ к отдельным элементам массива на аппаратном уровне.
- Научитесь создавать массивы, добавлять, обращаться и удалять элементы массива.
- Узнаете, как пользоваться строчным типом данных String, и изучите основные операторы для работы с ним.
-
06
27.07.2023 19:00
Основы объектно-ориентированного программирования. Part 1
- Узнаете, что такое класс и объект.
- Разберете принципы объектно-ориентированного программирования (ООП): подражание, инкапсуляция, полиморфизм.
- Научитесь писать extended function для готовых классов.
-
07
31.07.2023 19:00
Основы объектно-ориентированного программирования. Part 2
- Узнаете, как использовать интерфейсы, когда необходимо добавить отдельные методы, не входящие в базовый класс.
- Рассмотрите паттерн dependency injection и поймете, как он помогает реализовывать прозрачную композицию.
- Научитесь различать зависимости is-a и has-a и поймете преимущества композиции над подражанием.
- Научитесь писать extended-функции для дальнейшего упрощения процесса разработки.
-
08
03.08.2023 19:00
Структуры данных для хранения объектов
- Разберете основные структуры данных и узнаете, какие преимущества у каждого в зависимости от задачи.
- Научитесь использовать готовые функции для обработки коллекции: итерирование, маппинг, фильтрацию и трансформацию.
- Научитесь реализовать исключение.
-
09
07.08.2023 19:00
Введение в систему Android
- Узнаете, как и почему возникла система Android.
- Разберете преимущества и недостатки системы Android.
- Установите Android Studio и разберете основные компоненты Android-приложения: Activity, Service, BroadcastReceiver, ContentProvider, Android Manifest.
- Узнаете, как работает и какой жизненный цикл имеет компонент Activity.
- Научитесь добавлять UI-элементы в Activity и отслеживать нажатие.
-
10
10.08.2023 19:00
Знакомство с Git
- Узнаете, для чего использовать систему контроля версий при разработке.
- Установите и настроите Git.
- Научитесь различать состояния файлов в репозитории, переключаться между комитами и откатывать изменения в заданный комит.
- Узнаете, как создавать новые ветви и удаленные репозитории, как загружать и выгружать данные.
-
11
14.08.2023 19:00
Лейаут как основание для разметки
- Изучите основные лейауты и разберете кейсы их использования.
- Научитесь изменять параметры UI-элементов в зависимости от требований, анализировать дерево UI-элементов и добавлять зависимости в файл build.gradle.
- Узнаете, как использовать основные параметры ConstraintLayout.
-
12
17.08.2023 19:00
Переход к многоэкранному режиму
- Узнаете, как запустить одну Activity в другой через Intent.
- Разберете разницу между Explicit и Implicit Intent.
- Изучите особенности использования Bundle при передаче информации через Intent.
- Научитесь пользоваться ADB (Android Device Bridge) и отправлять через него Intent и другие базовые команды.
-
13
21.08.2023 19:00
Многопоточность в Android
- Осознаете значение многопоточности для приложений с пользовательскими интерфейсами.
- Рассмотрите основные способы предотвращения race condition и синхронизации переменных.
- Разберете преимущества Executors над прямым запуском threads.
- Узнаете, как взаимодействует UI-поток с Event Loop.
- Научитесь запускать задачу в отдельном потоке и передавать ее результат в главный поток.
-
14
24.08.2023 19:00
Основы сетевого взаимодействия
- Изучите основы обмена данными через http/https-протокол.
- Научитесь выполнять веб-запрос в отдельном потоке и выводить его результат.
- Научитесь выполнять запрос на получение изображения, преобразовывать его в Bitmap и отображать в UI-элементе.
- Освоите библиотеки для отображения и трансформации изображений Glide и Picasso.
- Овладеете библиотеками Retrofit и OkHttp для веб-запросов.
-
15
28.08.2023 19:00
Разновидности ответов на интернет-запросы: PlainText, XML, JSON
- Научитесь различать основные виды интернет-ответов.
- Узнаете, как трансформировать JSON-объекты.
- Научитесь включать GsonFactory в цепочку обработки Retrofit, запускать асинхронный запрос через Retrofit, применять и писать собственные интерсепторы для OkHttp.
- Овладеете фреймворком RxJava для оптимизации работы с многопоточностью.
-
16
31.08.2023 19:00
Отображение обработанных данных в виде списка: ListView и RecyclerView
- Узнаете, как отобразить список данных с помощью ListView.
- Ознакомитесь с паттерном Adapter.
- Научитесь использовать RecyclerView.
- Получите скилы работы со встроенными анимациями.
-
17
04.09.2023 19:00
Создание User Flow
- Поймете, зачем нужен юзер-флоу.
- Научитесь передавать информацию между несколькими фрагментами, добавлять фрагменты как статически, так и через контейнер.
- Узнаете, как делать альтернативную разметку для планшетов и других девайсов с большим экраном.
-
18
07.09.2023 19:00
Хранение данных при изменении конфигурации
- Поймете, почему при изменении конфигурации утрачиваются данные.
- Рассмотрите основные способы хранения данных при изменении конфигурации.
- Научитесь использовать ViewModel как элемент MVVM-архитектуры.
- Узнаете, как сохранять данные при закрытии приложения и восстанавливать состояние приложения при повторном открытии.
-
19
11.09.2023 19:00
SQL и работа с базами данных
- Разберетесь в видах и типах баз данных.
- Узнаете, как построить SQL-запрос на базу, и изучите основные операторы.
- Научитесь осуществлять обзор баз данных с помощью встроенных плагинов или других программ.
-
20
14.09.2023 19:00
Service как компонент системы, предназначенный для выполнения долговременных задач
- Научитесь целесообразно использовать сервис или отдельный поток в отношении поставленной задачи.
- Ознакомитесь с возможными ограничениями в работе сервиса.
- Рассмотрите WorkManager как альтернативу Service.
- Научитесь имплементировать нотификации и выводить в них результаты работы.
-
21
18.09.2023 19:00
Корутины как паттерн структурированной многопоточности
- Узнаете, что такое корутины, и поймете, в чем их преимущество перед другими способами выполнения асинхронных задач.
- Научитесь запускать корутины и параллельное выполнение нескольких задач в корутине с выводом конечного результата.
- Получите скилы рефакторинга кода.
-
22
21.09.2023 19:00
Dependency Injection
- Узнаете, что такое Dependency Injection.
- Овладеете библиотекой Koin для Dependency Injection на Kotlin.
- Научитесь рефакторить приложение с помощью библиотеки Koin.
- Овладеете библиотеками Dagger 2 и Hilt.
-
23
25.09.2023 19:00
Тестирование приложений
- Рассмотрите разновидности тестирования.
- Научитесь использовать библиотеки JUnit и Mockito для unit-тестирования.
- Освоите библиотеки Espresso и UI Automator для тестирования пользовательского интерфейса.
- Научитесь пользоваться библиотекой Room для тестирования базы данных.
- Ознакомитесь с методологией Test Driven Development, когда сначала пишут тесты, а затем код, соответствующий тестам.
-
24
28.09.2023 19:00
Анимации в Android
- Узнаете, как анимировать параметры UI-элементов с помощью ObjectAnimator.
- Научитесь организовывать хореографию анимации с помощью AnimatorSet и реализовать переходные анимации между фрагментами.
- Освоите библиотеки Dynamic Animation и Motion Layout для создания анимаций.
-
25
22.02.2024 19:00
Google Services и Firebase
- Узнаете, как добавлять сервисы в приложение.
- Зарегистрируете аккаунт в Firebase.
- Научитесь использовать встроенную систему регистрации и логина в собственном приложении.
- Научитесь реализовывать простой бэкенд с помощью Firebase Realtime Database.
- Узнаете, как добавить Google-карты в собственное приложение.
-
26
05.10.2023 19:00
Воспроизведение медиа в Android-приложении
- Узнаете, как воспроизводить аудио- и видеофайлы в приложении.
- Освоите библиотеку ExoPlayer для воспроизведения медиаконтента.
- Научитесь интегрировать media session для дальнейшего расширения функциональности приложения.
-
27
09.10.2023 19:00
Jetpack Compose. Part 1
- Ознакомитесь с современным декларативным способом разработки пользовательских интерфейсов.
-
28
12.10.2023 19:00
Jetpack Compose. Part 2
- Ознакомитесь с современным декларативным способом разработки пользовательских интерфейсов.
-
29
16.10.2023
Презентация собственного приложения
- Разработаете приложение для определения интересных мест в заданном радиусе и формирования оптимального маршрута с интеграцией с Google-картами.
- Представите приложение лектору и коллегам.
-
30
19.10.2023 19:00
Разбор вопросов на собеседовании
- Узнаете, о чем спрашивают Junior/Trainee Android Developers на собеседованиях.
- Получите рекомендации от лектора по самопрезентации.
Регистрация