Kotree 31 of 482 leaves grown

Topics

Every branch of the tree, topic by topic. Open a stem to see its topics and where each one stands.

Live
Up next
Coming soon

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

Tools and ecosystem

0 of 17 live
Up next: How do I save a snapshot of my project that I can return to later?
    • How do I save a snapshot of my project that I can return to later?
      Up next
      Medium
    • How can I try an idea without breaking my working code?
      Coming soon
      MediumNeeds: How do I save a snapshot of my project that I can return to later?
    • What do I do when git says two changes collide?
      Coming soon
      HardNeeds: How can I try an idea without breaking my working code?
    • How does my code get to GitHub and into a teammate's project?
      Coming soon
      HardNeeds: How do I save a snapshot of my project that I can return to later?, What do I do when git says two changes collide?
See on the tree