КУРС-ПРОФЕССИЯ

ANDROID DEVELOPER

Александр Мазуренко Senior Android Developer
В GlobalLogic

ДАТА:

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.

    • Результат всегда можно показать, сбросить друзьям или родителям и сказать «смотри, это моя работа!»

  • • Есть вероятность, что ваше приложение будут использовать сотни тысяч пользователей.

В ПРОГРАММУ КУРСА ВХОДЯТ

  1. БАЗА ЯЗЫКА KOTLIN

    Изучите базовый синтаксис языка Kotlin, овладеете принципами объектно-ориентированного и реактивного программирования.

  2. РАБОТА С ANDROID STUDIO

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

  3. РАЗРАБОТКА ПЕТ-ПРОЕКТА

    С нуля создадите приложение для поиска достопримечательностей в заданном радиусе и формирования оптимального маршрута и настроите интеграцию с Google Maps.

  4. КАРЬЕРНАЯ КОНСУЛЬТАЦИЯ

    Получите разбор часто задаваемых вопросов на собеседованиях от лектора, а также 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 на собеседованиях.
    • Получите рекомендации от лектора по самопрезентации.

Регистрация

 

 
 
 
Регистрируясь, вы соглашаетесь с условиями договора-оферты и политикой конфиденциальности.