Foundation
Foundation
31 of 34 live
Up next: Where can I run code without installing anything?
Start here
-
See on the tree
Kotlin and Android
Kotlin language
0 of 65 live
Up next: Where does a Kotlin program start running?
-
- Where does a Kotlin program start running?
Up next
Easy
- How do I put a value inside a sentence I print?
Coming soon
EasyNeeds: Where does a Kotlin program start running?
- How do I read the shape of a Kotlin file?
Coming soon
EasyNeeds: Where does a Kotlin program start running?
See on the tree
Android core and lifecycles
0 of 37 live
Up next: What is actually inside an Android app?
-
- What is actually inside an Android app?
Up next
Easy
- Who starts my app if I never call main()?
Coming soon
EasyNeeds: What is actually inside an Android app?
See on the tree
UI (Compose and Views)
0 of 49 live
Up next: Why does Compose describe the screen instead of changing it step by step?
-
- Why does Compose describe the screen instead of changing it step by step?
Up next
Medium
- What makes a Kotlin function a composable?
Coming soon
EasyNeeds: Why does Compose describe the screen instead of changing it step by step?
- How do I put words and pictures on the screen?
Coming soon
EasyNeeds: What makes a Kotlin function a composable?
- How can I see my screen without running the app?
Coming soon
EasyNeeds: What makes a Kotlin function a composable?
See on the tree
Coroutines, Flow, threads
0 of 32 live
Up next: Which thread draws my screen and runs my click code?
-
- Which thread draws my screen and runs my click code?
Up next
Easy
- Why does one slow job freeze the whole screen?
Coming soon
MediumNeeds: Which thread draws my screen and runs my click code?
See on the tree
Architecture and KMP
Architecture and data
0 of 33 live
Up next: Why does an app with everything in one file become impossible to change?
-
- Why does an app with everything in one file become impossible to change?
Up next
Easy
- Which code shows things, which decides, and which fetches?
Coming soon
EasyNeeds: Why does an app with everything in one file become impossible to change?
See on the tree
Networking inside apps
0 of 17 live
Up next: What does my app actually send to a server, and what comes back?
-
- What does my app actually send to a server, and what comes back?
Up next
Easy
- Why does my first network call fail before it even leaves the phone?
Coming soon
EasyNeeds: What does my app actually send to a server, and what comes back?
See on the tree
Kotlin Multiplatform
0 of 22 live
Up next: Which parts of an app can I write once, and which must I still write for each phone?
-
- Which parts of an app can I write once, and which must I still write for each phone?
Up next
Easy
- How does the same Kotlin end up inside an app on an iPhone?
Coming soon
MediumNeeds: Which parts of an app can I write once, and which must I still write for each phone?
See on the tree
CS theory
Data structures and algorithms
0 of 46 live
Up next: How many steps does this code take for 10 items, 100 items and 1000 items?
-
- How many steps does this code take for 10 items, 100 items and 1000 items?
Up next
Easy
- What does O(n) say about my code, and what does it ignore?
Coming soon
MediumNeeds: How many steps does this code take for 10 items, 100 items and 1000 items?
- Which of these loops hides an O(n²) cost?
Coming soon
MediumNeeds: What does O(n) say about my code, and what does it ignore?
- When is it right to spend more memory to save time?
Coming soon
EasyNeeds: What does O(n) say about my code, and what does it ignore?
See on the tree
Design and analysis of algorithms
0 of 22 live
Up next: Why can the same code be fast on one input and slow on another?
-
- Why can the same code be fast on one input and slow on another?
Up next
Easy
- What do O, Omega and Theta each promise?
Coming soon
MediumNeeds: Why can the same code be fast on one input and slow on another?
- How can I be sure a loop gives the right answer for every input, not just my tests?
Coming soon
MediumNeeds: Why can the same code be fast on one input and slow on another?
See on the tree
Operating systems
0 of 23 live
Up next: What does the operating system do for my app that my code cannot do alone?
-
- What does the operating system do for my app that my code cannot do alone?
Up next
Easy
- How does my app ask the operating system to use the hardware for it?
Coming soon
EasyNeeds: What does the operating system do for my app that my code cannot do alone?
See on the tree
Computer networking
0 of 21 live
Up next: When my app loads data, which computer asks and which one answers?
-
- When my app loads data, which computer asks and which one answers?
Up next
Easy
- How does a message cross the internet as many small packets?
Coming soon
EasyNeeds: When my app loads data, which computer asks and which one answers?
See on the tree
Craft
Testing
0 of 22 live
Up next: What does a test give me that tapping through the app does not?
-
- What does a test give me that tapping through the app does not?
Up next
Easy
See on the tree
Profiling and optimisation
0 of 16 live
Up next: Why must I measure before I try to make my app faster?
-
- Why must I measure before I try to make my app faster?
Up next
Easy
See on the tree
Native layer (NDK, JNI, ART)
0 of 11 live
Up next: What is native code inside an Android app?
-
- What is native code inside an Android app?
Up next
Easy
See on the tree
Security
0 of 15 live
Up next: How do I think like someone who wants to attack my app?
-
- How do I think like someone who wants to attack my app?
Up next
Easy
See on the tree