На цьому курсі розпочинають з основ. Спочатку пояснюють, що таке мова програмування та чому для Android розробки обрали Kotlin. Студенти встановлюють IntelliJ IDEA та створюють першу програму - Hello World. Далі йде розбір змінних, констант і типів даних. Вчать правильно називати змінні, працювати з числами та отримувати дані з консолі.
Тут вивчають умовні оператори if та when, які можуть повертати дані. Потім переходять до циклів for, while та do while, розбирають оператори continue і break. Далі йде робота з діапазонами та масивами - їх сортування та бінарний пошук на прикладі гри "вгадай число".
Студенти вчаться створювати функції з параметрами, використовувати іменовані параметри та оператор return. Розглядають vararg та перевантаження функцій. Особливу увагу приділяють функціям як параметрам, анонімним та лямбда-функціям. Закріплюють матеріал на прикладах рекурсії - обчислення степеня, факторіалу та чисел Деланоя.
Цей блок присвячений ООП. Пояснюють принципи ООП, роботу з класами та об'єктами, властивостями та функціями класів. Розбирають конструктори, геттери, сеттери та init блоки. Далі йдуть модифікатори видимості, наслідування, інтерфейси, абстрактні класи та методи. Закінчують data-класами, enum та анонімними об'єктами.
Тут вивчають послідовності та колекції - List, Set, Map. Пояснюють різницю між колекціями та послідовностями, розглядають вбудовані методи для пошуку, фільтрації, сортування та перетворення даних. Далі йде обробка помилок, робота з null та nullable типами, scope-функції, дженеріки та делегування.
Студенти встановлюють Android Studio, вивчають шаблони проектів та створюють перший проект. Ознайомлюються з функціоналом IDE, створюють емулятор та запускають візуальний Hello World. Досліджують структуру проекту, розбирають поняття Manifest, Activity та Application class.
Пояснюють відмінності та переваги Compose порівняно з XML. Студенти вивчають Compose-функції, відображення тексту за допомогою Text та його стилізацію. Далі йде позиціювання елементів за допомогою Row, Column та Box, робота з графічними ресурсами та Image. Розглядають прості макети з текстом та картинками.
Особливу увагу приділяють Modifier для позиціювання, зміни кольору фону, заокруглення кутів та відступів. Вивчають Button та його кастомізацію на прикладі Dice Roller App. Далі йде TextField для введення тексту з валідацією та Switch для перемикачів.
Пояснюють поняття стейту та рекомпозиції на прикладі Custom Tip App. Додають підтримку горизонтальної орієнтації. Студенти вчаться створювати списки за допомогою Lazy Row, Column та Lazy Vertical Grid, використовують Card, Floating Action Button та Top Bar. Розглядають Material Theme, кольори, типографіку та теми.
Вводять поняття ViewModel для управління станом додатку. Вивчають навігацію між екранами за допомогою NavHost та NavController, включаючи переходи між додатками. Далі йде робота з асинхронністю через Kotlin coroutines та отримання даних з інтернету за допомогою Retrofit.
Останній блок охоплює створення репозиторіїв, використання юз кейсів та dependency injection з Hilt. Студенти вивчають бази даних SQL, елементарні запити SELECT, UPDATE, DELETE, INSERT, а також їх реалізацію через Room. Розглядають Datastore для локального зберігання даних. Курс завершується детальним розбором тестового завдання у різних варіантах виконання.
Навчання проходить у власному кабінеті Jungle cloud через онлайн заняття. Студенти можуть спілкуватися в чаті та отримувати допомогу від досвідчених менторів протягом всього курсу.