← All 186 courses
DEV-221 Development

Android Development with Kotlin

Build and ship a complete Android application in Kotlin with Jetpack Compose, coroutines and Room. Learners handle lifecycle and process death correctly, keep UI state hoisted and testable, and deliver offline-capable networking with permission flows that pass review rather than crash on first denial.

B3Practitioner
6modules
42skill atoms
1role journey
Curriculum

What this course covers.

6 modules, 42 named skill atoms. Expand any module to see them.

1Kotlin Essentials7 skill atoms
null safety and the elvis operatordata classessealed classesextension functionsscope functions let and applycollections vs sequencessuspend function syntax
2Activities, Lifecycle & Navigation7 skill atoms
activity and fragment lifecycleconfiguration change survivalviewmodel and savedstatehandlenavigation component graphsdeep linksback stack behaviourprocess death restore
3Jetpack Compose UI7 skill atoms
composable functionsrecomposition rulesremember and mutablestateofstate hoistingmodifier order effectslazycolumn keyscompose previews and ui tests
4Coroutines & Flows7 skill atoms
structured concurrency scopesdispatchers io and defaultstateflow vs sharedflowlifecycle-aware collectioncancellation and job hierarchyflow operators map and combinesupervisorjob error handling
5Persistence, Networking & Permissions7 skill atoms
room entities and daosmigrations and schema exportretrofit with okhttp interceptorsoffline cache strategyruntime permission flowscoped storage rulesdatastore for preferences
6AI Assistants in Android Work7 skill atoms
generated xml layouts when compose is the targetdeprecated asynctask and loader suggestionswrong coroutine scope in generated codeoutdated gradle and agp snippetsreviewing generated permission handlingmanifest edits that break release buildsengineer owns lifecycle correctness
Where it fits

DEV-221 in a role journey.

This course appears in 1 of our 45 role journeys. Here is what a learner takes immediately before and after it in each.

Mobile Developer

Practitioner stage
DEV-111DEV-221DEV-222

Roles this course serves

The capability ladder

This course is authored to band B3.

Every course we run is written to one rung of the CASI ladder, so a plan can be assembled to take a team from where they are to where they need to be.

What do B1–B6 mean?The CASI Capability Ladder — click to expand

Every course targets a band on the CASI Capability Ladder — our six-band proficiency scale, anchored to open standards (O*NET, ESCO, NICE, NIST AI RMF, Bloom's). A band tells you how deep a course goes, and what evidence proves it.

What the learner can doTypical evidence
B1
AwareUnderstands concepts and vocabulary; uses tools with guidance
Knowledge checks
B2
FoundationPerforms standard tasks correctly in familiar contexts
Guided labs, autograded exercises
B3
PractitionerDelivers complete pieces of work independently
Scenario labs, proctored hands-on exams
B4
ProfessionalHandles production-grade complexity, trade-offs and failure modes
Break-fix drills, design defenses
B5
AdvancedEngineers systems end-to-end under constraints; leads others
Rubric-scored capstones, vivas
B6
ExpertSets direction; recognised authority across teams
Portfolio + panel evaluation

A note on B6. Courses in this catalog target B1–B5. B6 is not taught — it is recognised, through a portfolio and a panel, once someone is setting direction for others. Every journey here is built to land a learner at B5.

Next step

Run DEV-221 for your team.

This course runs at several lengths depending on how deep you need to go and how much of it your people already have. Tell us who is being trained and we will scope it.

Add it to a training plan Talk to our team Check your team’s level free