Skip to main content
ZORK Academy

Live online course · Mobile App Development

Android Development with Kotlin

Build, test and publish modern Android apps with Kotlin and Jetpack Compose

A fourteen-week live course in native Android: Kotlin, Jetpack Compose, ViewModel and MVVM, coroutines and Flow, Retrofit, Room, WorkManager, Hilt, testing, security, profiling, Java interoperability and Play Store release.

  • Intermediate
  • Live online
  • 84 live hours

What you will be able to do

  • Write idiomatic Kotlin using null safety, data and sealed types, extension functions and lambdas
  • Build responsive UIs with Jetpack Compose and manage UI state with ViewModel
  • Structure an app with MVVM and unidirectional data flow, wired with Hilt
  • Load data from REST APIs with coroutines and Flow, and cache it offline with Room
  • Schedule reliable background work with WorkManager
  • Test business logic and Compose UI, and profile performance problems
  • Read and maintain Java Android code and mix Kotlin and Java safely
  • Sign a release build and publish it through Play Console testing tracks

About this course

Android runs on a huge range of phones in India and worldwide, and native development gives you full access to the platform: performance, background work, offline storage and every device capability. This course takes you from Kotlin fundamentals to a signed app ready for the Play Store.

The course is Kotlin-first. Kotlin is Google’s recommended language for Android, and Jetpack Compose is the recommended way to build new UI, so every new screen you build uses them. But many production codebases still contain years of Java and XML layouts, so a full module teaches you to read and maintain Java Android code, call between Kotlin and Java safely, and introduce Compose into an existing View-based app.

Classes are live and hands-on. Across the course you build one app step by step — a study planner that syncs with a REST API, works offline and schedules reminders — so each module adds a real layer: UI, state, networking, persistence, background work, tests and release. Doubt-clearing time is built into every week.

Syllabus

Every session is a live class. Module hours add up to the course total.

This syllabus is a draft awaiting instructor review. Topics, order and schedule may change before the first batch is announced.

  1. 01Kotlin language essentials4 live sessions · 8 hours · The Kotlin you need for Android: safe, concise and expressive code.

    Learning objectives

    • Use variables, control flow and functions idiomatically in Kotlin
    • Handle absent values safely with Kotlin’s null safety
    • Model data with classes, data classes, enums and sealed types
    • Use lambdas, higher-order and extension functions with collections

    Live sessions

    1. 01Kotlin basics and null safety2 hval and var, type inference, when and if expressions, nullable types, safe calls, the Elvis operator, smart casts and why !! is a warning sign.
    2. 02Classes, data classes and sealed types2 hClasses, constructors and properties, data classes and copy, enums, sealed classes and interfaces for modelling states, objects and companion objects.
    3. 03Functions, lambdas and extension functions2 hDefault and named arguments, lambdas and higher-order functions, extension functions, scope functions, collection operations such as map, filter and groupBy.
    4. 04Kotlin practice and doubt-clearing2 hGuided exercises modelling a study planner’s data in Kotlin; common null-safety mistakes; open questions.
    Practice
    Twenty Kotlin exercises on null safety, sealed types and collections, checked with provided unit tests.
    Assessment
    Quiz on null safety, data and sealed types, and lambdas (auto-marked).
    You will be able to
    You can write clear, idiomatic Kotlin and model app data safely.
  2. 02Android platform fundamentals4 live sessions · 8 hours · How an Android app is built, started, paused and restored.

    Learning objectives

    • Navigate an Android Studio project, its manifest and Gradle build files
    • Explain the activity lifecycle and how the system starts and stops apps
    • Preserve state across configuration changes and process death

    Live sessions

    1. 05Android Studio and project structure2 hCreating a project, the manifest, resources, Gradle Kotlin DSL and version catalogs, build variants, running on the emulator and a device with ADB.
    2. 06Activities, lifecycle and intents2 hThe activity lifecycle, lifecycle-aware components, explicit and implicit intents, the back stack, Logcat and the debugger.
    3. 07Configuration changes and process death2 hRotation and other configuration changes, why the system kills background processes, saved instance state and testing process death with ADB.
    4. 08Platform review and doubt-clearing2 hLifecycle debugging exercises; reading Logcat output; open questions.
    Practice
    Instrument a starter app with lifecycle logs, then make it keep user input across rotation and process death.
    Assessment
    Assignment: a short write-up explaining the lifecycle events you observed and how state was kept.
    You will be able to
    You understand how Android runs your app and can avoid lost-state bugs.
  3. 03Jetpack Compose and UI state4 live sessions · 8 hours · Declarative UI with Compose: layouts, state, lists and theming.

    Learning objectives

    • Build screens from composable functions, modifiers and layouts
    • Manage state with remember, state hoisting and recomposition in mind
    • Display lists efficiently and apply Material 3 theming

    Live sessions

    1. 09Composables, modifiers and layouts2 hComposable functions, Column, Row and Box, modifiers and their order, previews, Material 3 components such as Scaffold, Button and TextField.
    2. 10State, recomposition and state hoisting2 hremember and rememberSaveable, mutableStateOf, how recomposition works, stateless versus stateful composables, hoisting state to callers.
    3. 11Lists, theming and side effects2 hLazyColumn and keys, Material 3 colour schemes, typography and dark theme, LaunchedEffect and other side-effect APIs, accessibility semantics.
    4. 12Compose lab and doubt-clearing2 hBuild the study planner’s task list and editor screens together; reviewing each other’s composables; open questions.
    Practice
    Build the task list, task detail and edit screens of the study planner with in-memory data.
    Assessment
    Project milestone 1: the planner’s main screens in Compose, reviewed for state handling and accessibility.
    You will be able to
    You can build accessible, well-structured Compose screens with predictable state.
  4. 04Navigation, ViewModel and app architecture4 live sessions · 8 hours · Move between screens and separate UI from logic with MVVM and unidirectional data flow.

    Learning objectives

    • Implement type-safe navigation with Navigation Compose
    • Hold screen state in a ViewModel and expose it as immutable UI state
    • Apply MVVM and unidirectional data flow with repositories

    Live sessions

    1. 13Navigation with Navigation Compose2 hNavHost and NavController, type-safe routes with serializable destinations, passing arguments, back stack behaviour, bottom navigation.
    2. 14ViewModel and UI state2 hViewModel scope and lifecycle, UI state data classes, events from the UI, SavedStateHandle, collecting state in composables.
    3. 15MVVM and unidirectional data flow2 hUI, domain and data layers, repositories, state flowing down and events flowing up, sealed classes for loading, success and error states.
    4. 16Architecture review and doubt-clearing2 hRefactor the planner into MVVM with group code review; open questions.
    Practice
    Add navigation to the planner and move all screen logic into ViewModels backed by a repository.
    Assessment
    Assignment: an architecture diagram and pull request showing the MVVM refactor.
    You will be able to
    You can structure a multi-screen app so that UI, state and data are cleanly separated.
  5. 05Coroutines and Flow4 live sessions · 8 hours · Asynchronous work that is safe, cancellable and lifecycle-aware.

    Learning objectives

    • Launch and structure coroutines with scopes and dispatchers
    • Handle cancellation and exceptions correctly
    • Model streams of data with Flow and StateFlow and collect them safely in the UI

    Live sessions

    1. 17Coroutine fundamentals2 hSuspend functions, launch and async, viewModelScope and lifecycleScope, Dispatchers.Main, IO and Default, keeping the main thread free.
    2. 18Structured concurrency, cancellation and errors2 hJob hierarchies, cooperative cancellation, timeouts, try/catch and CoroutineExceptionHandler, supervisorScope.
    3. 19Flow and StateFlow2 hCold flows, operators such as map, combine and debounce, StateFlow and SharedFlow, stateIn, collectAsStateWithLifecycle.
    4. 20Coroutines lab and doubt-clearing2 hAdd debounced search and live counters to the planner; diagnosing leaks and blocked threads; open questions.
    Practice
    Convert the planner’s repository to expose Flows and add a debounced search screen.
    Assessment
    Quiz on coroutine scopes, cancellation and Flow operators (auto-marked).
    You will be able to
    You can write asynchronous Android code that is responsive and cancels cleanly.
  6. 06Networking, persistence and background work5 live sessions · 10 hours · Talk to REST APIs, store data locally and keep it in sync reliably.

    Learning objectives

    • Call REST APIs with Retrofit or Ktor and parse JSON with kotlinx.serialization
    • Persist data with Room and design an offline-first single source of truth
    • Schedule deferrable, guaranteed background work with WorkManager

    Live sessions

    1. 21REST APIs with Retrofit and kotlinx.serialization2 hHTTP and JSON basics, Retrofit service interfaces, suspend endpoints, kotlinx.serialization converters, OkHttp logging and interceptors.
    2. 22Ktor client and robust error handling2 hThe same API with Ktor client for comparison, timeouts, mapping network failures to UI states, retries with backoff, authentication headers.
    3. 23Local persistence with Room2 hEntities, DAOs and the database class, queries returning Flow, relations, migrations, DataStore for simple preferences.
    4. 24Offline-first design and WorkManager2 hThe database as single source of truth, refresh strategies, conflict handling, WorkManager constraints, periodic and chained work, notifications for reminders.
    5. 25Data layer lab and doubt-clearing2 hTest the planner in airplane mode and fix sync problems together; open questions.
    Practice
    Connect the planner to the course API, cache tasks in Room and schedule a nightly sync and reminder job.
    Assessment
    Project milestone 2: an offline-capable planner with sync, demonstrated on the emulator.
    You will be able to
    You can build apps that load remote data, work offline and finish background work reliably.
  7. 07Dependency injection with Hilt and testing4 live sessions · 8 hours · Wire the app with Hilt and prove it works with unit and UI tests.

    Learning objectives

    • Provide dependencies with Hilt modules, scopes and qualifiers
    • Unit test ViewModels and repositories with fakes and coroutine test utilities
    • Write Compose UI tests for key user journeys

    Live sessions

    1. 26Dependency injection with Hilt2 hWhy dependency injection, @HiltAndroidApp, @Inject constructors, modules and @Provides or @Binds, scopes, injecting into ViewModels and workers.
    2. 27Unit testing with JUnit and coroutine tests2 hJUnit tests, fakes versus mocks, runTest and test dispatchers, testing Flows with Turbine, testing Room DAOs with an in-memory database.
    3. 28Compose UI tests2 hcreateComposeRule, semantics-based finders, assertions and actions, testing navigation, replacing dependencies with Hilt test modules.
    4. 29Testing review and doubt-clearing2 hRaise test coverage on the planner’s riskiest code; reviewing test names and structure; open questions.
    Practice
    Move the planner to Hilt and add unit tests for every ViewModel plus UI tests for two journeys.
    Assessment
    Assignment: a passing test suite with a short note on what is tested and what is not.
    You will be able to
    You can build testable apps and catch regressions before users do.
  8. 08Java Android code and Kotlin–Java interoperability4 live sessions · 8 hours · Work confidently in existing codebases that mix Java, XML layouts and Kotlin.

    Learning objectives

    • Read Java Android code with activities, fragments and XML layouts
    • Call between Kotlin and Java safely, including nullability and static members
    • Introduce Kotlin and Compose into a View-based Java app incrementally

    Live sessions

    1. 30Reading Java Android code2 hJava syntax for Kotlin developers, activities and fragments in Java, XML layouts, findViewById and View Binding, RecyclerView adapters, older patterns you will meet.
    2. 31Kotlin–Java interoperability2 hPlatform types and nullability annotations, @JvmStatic, @JvmOverloads and @JvmField, SAM conversions, calling suspend functions from Java, checked exceptions.
    3. 32Modernising a legacy app2 hConverting a Java class to Kotlin and reviewing the result, ComposeView inside XML layouts, AndroidView inside Compose, planning an incremental migration.
    4. 33Legacy code lab and doubt-clearing2 hFix a bug and add a feature in a provided Java app; open questions.
    Practice
    In a provided Java app, fix two bugs, convert one class to Kotlin and add one new screen in Compose.
    Assessment
    Assignment: a pull request against the Java app with a migration note for reviewers.
    You will be able to
    You can maintain and gradually modernise real-world Java and mixed-language Android apps.
  9. 09Security, performance and release5 live sessions · 10 hours · Protect user data, keep the app fast and ship it through Play Console.

    Learning objectives

    • Store sensitive data safely and configure network security
    • Request runtime permissions responsibly
    • Measure and fix performance problems with the Android Studio profilers
    • Sign a release build and publish it through Play Console testing tracks

    Live sessions

    1. 34Secure storage and network security2 hApp-private storage, the Android Keystore, avoiding secrets in the APK, HTTPS only, network security configuration, R8 shrinking and obfuscation.
    2. 35Permissions and privacy2 hRuntime permissions and rationale, photo and location access with minimal scope, notification permission, handling denial gracefully, collecting only what is needed.
    3. 36Performance profiling2 hCPU and memory profilers, finding main-thread work and leaks, Compose recomposition counts, startup time, Baseline Profiles.
    4. 37Release builds and signing2 hRelease build types, app signing keys and upload keys, Play App Signing, Android App Bundles, versioning, keeping keystores out of Git.
    5. 38Play Console deployment and doubt-clearing2 hCreating an app in Play Console, internal, closed and open testing tracks, store listing, content rating, the Data safety form, pre-launch reports; open questions.
    Practice
    Harden the planner’s storage and network setup, fix one measured performance issue and upload a signed bundle to an internal testing track.
    Assessment
    Quiz on security, permissions and the release process, plus a submitted profiling note.
    You will be able to
    You can ship a secure, well-performing app through the Play Store release process.
  10. 10Capstone: offline-first library app4 live sessions · 8 hours · Plan, build and present a complete Android app from a written brief.

    Learning objectives

    • Turn a brief into an architecture and delivery plan
    • Deliver a tested, offline-capable app with a signed release build
    • Explain and defend your design choices in a live review

    Live sessions

    1. 39Capstone brief and architecture planning2 hReading the brief and API, screen and navigation map, data model and sync plan, splitting work into milestones; feedback in small groups.
    2. 40Capstone build clinic2 hGuided working session with one-to-one help on architecture, sync and testing problems.
    3. 41Capstone peer review2 hStructured code reviews of each other’s apps; checking error states, offline behaviour, tests and release readiness against the brief.
    4. 42Final demos and final assessment2 hLive capstone demos with feedback; final assessment.
    Practice
    Complete the capstone app and address the feedback from the peer review.
    Assessment
    Capstone submission and a final assessment (pass mark 60%).
    You will be able to
    You can build, test and release a production-quality native Android app.

Teaching formats and fees

Every format teaches the full syllabus live, with the same projects, assessments and certificate rules. The fee is per student for the whole course.

Teaching format comparison for Android Development with Kotlin
DetailGroupDuoOne-to-One
Who is in classSmall group2 students1 student
Course fee₹13,999₹22,999₹41,999
Per live hour₹167₹274₹500
Best forLearn live with a small group of students. Lowest fee per student.Two students share every live class with the instructor.Every live class is just you and the instructor.
StatusLaunch feeLaunch feeLaunch fee

Launch fee — GST treatment to be confirmed.

Fees are set in Indian rupees. Amounts in other currencies are estimates; the amount and currency you would pay are shown before payment once online enrolment opens.

Schedules and batches

Choose the schedule that fits your week. Both teach the same syllabus and the same 84 live hours; only the number of weeks differs.

Schedule comparison for Android Development with Kotlin
ScheduleDaysLive hours a weekClassesLength before holidays
Weekday IntensiveMon–Fri, 1 h each584about 17 weeks
Weekend EveningSat & Sun evenings, 2 h each442about 21 weeks
  • Weekday Intensive classes are one hour, so each 2 h syllabus session is taught across consecutive weekday classes.
  • Weekend Evening classes run on Saturday and Sunday evenings; the exact time and time zone are set before a batch is confirmed.
  • Public holidays are not class days unless the instructor confirms a class. Holidays, instructor leave and cancelled classes move the end date later so no live hours are lost.
  • Plan about 6 hours a week of exercises, assignments and project work outside class.
  • Group, Duo and One-to-One courses all follow one of these two schedules.

Final project

Build and release an offline-first Android app for a neighbourhood library. You receive a written brief and a REST API for the library’s catalogue, members and loans. You deliver:

  • A Kotlin and Jetpack Compose app with catalogue search, book details, a member’s current loans and a reservation flow, using type-safe navigation.
  • MVVM with unidirectional data flow: ViewModels exposing immutable UI state, repositories as the single source of truth and Hilt for dependency injection.
  • Networking with Retrofit or Ktor and kotlinx.serialization, with clear loading, empty and error states and retry.
  • Room caching so the catalogue and loans work offline, plus a WorkManager job that syncs reservations and reminds members about due dates.
  • Secure handling of the member’s session token, a network security configuration and runtime permission requests only where needed.
  • Unit tests for ViewModels and repositories and Compose UI tests for the main journeys.
  • A small Java utility module from the brief, integrated and called from Kotlin with correct nullability.
  • A profiling note showing one performance issue you measured and fixed, and a signed release app bundle uploaded to an internal testing track with a draft store listing and Data safety answers.

Reviewed live in the final week: you demo the app on a device or emulator, walk through the architecture and answer questions on your design choices.

Certificate

ZORK Academy course completion certificate

Issued once your instructor confirms you have met every requirement:

  • Attend at least 80% of live classes
  • Submit every required assignment
  • Submit and pass the required projects, including the final project
  • Score at least 60% in the final assessment

Each certificate has a unique ID that employers can verify online. Paying for the course does not by itself earn a certificate. It is not a university degree or a government-recognised qualification.

Tools and skills

Tools and technologies

  • Android Studio
  • Kotlin
  • Java
  • Gradle with Kotlin DSL and version catalogs
  • Android Emulator and ADB
  • Jetpack Compose and Material 3
  • Jetpack Navigation, ViewModel, Room and WorkManager
  • Retrofit, OkHttp and Ktor client
  • kotlinx.serialization and kotlinx.coroutines
  • Hilt
  • JUnit, Turbine and Compose UI testing
  • Android Studio profilers and Baseline Profiles
  • Google Play Console
  • Git and GitHub

Skills you practise

  • Kotlin
  • Jetpack Compose
  • Android lifecycle
  • Navigation
  • ViewModel and MVVM
  • Coroutines and Flow
  • Retrofit and Ktor
  • kotlinx.serialization
  • Room and offline-first design
  • WorkManager
  • Hilt dependency injection
  • Android testing
  • Kotlin–Java interoperability
  • App security and permissions
  • Performance profiling
  • Play Store release

Where these skills apply

  • Native Android app development
  • Maintaining and modernising existing Java Android codebases
  • Mobile work in product and service teams
  • Building offline-capable apps for field and low-connectivity use
  • Independent app development and publishing

We help you prepare for work; we do not guarantee jobs, placements or salaries. Career resources

Questions about Android Development with Kotlin

How long is Android Development with Kotlin?

84 hours of live online teaching: about 17 weeks on the Weekday Intensive schedule (Mon–Fri, 1 h a class), or about 21 weeks on the Weekend Evening schedule (Sat & Sun evenings, 2 h a class), before holidays. Plan about 6 hours a week of exercises and project work as well.

When are the classes?

No batch dates have been announced yet. The proposed pattern is Mon, Wed and Fri, 7:30–9:30 pm IST; it is confirmed when a batch is scheduled. Book a free consultation to hear about the next batch.

What do I need before I start?
  • Basic programming in any language: variables, conditions, loops, functions and simple classes
  • No previous Android or Kotlin experience required
  • Comfort with Git basics is helpful; a short refresher is included
  • A laptop that runs Android Studio well: 16 GB RAM recommended (8 GB minimum), a recent multi-core processor and about 20 GB of free disk space
  • An Android phone for on-device testing is recommended but not required; the emulator is used in class
Will I get a certificate?

Yes — a ZORK Academy course completion certificate when you meet this course’s requirements, listed under Certificate. Paying for the course does not by itself earn the certificate, and it is not a university or government-recognised qualification.

Are classes recorded?

Where the academy has permission to record a class, the recording may be shared with your batch for revision. Recordings do not replace live classes, and attendance counts towards the certificate.

How do I pay?

The fee is a one-time payment in Indian rupees through Razorpay once online enrolment opens; ZORK Academy never sees your card or UPI details. The fee shown is proposed and may change before enrolment opens. Refunds follow the refund and cancellation policy in force when you pay.

Send an enquiry

Tell us which format and schedule interest you. An enquiry is not an enrolment: it reserves no place and commits you to nothing. The team replies with the confirmed batches and approved fees once they are available.

Indian mobile number, or international with +.

Course: Android Development with Kotlin

Mention the format (Group, Duo or One-to-One) and schedule (Weekday Intensive or Weekend Evening) you prefer.

Free career advice

Career advice is free and there is no obligation. Share your number only if you would like us to respond.