Android Programming Course – Kotlin, Jetpack Compose UI, Graph Data Structures & Algorithms

Ecommerce Empire Academy

Create an Android app with Kotlin and Jetpack Compose UI. Learn about Graph data structures and algorithms by building a Sudoku app.

✏️ Created by Ryan M. Kay. Check out his channel:
πŸŽ‰ Ryan has a free Java course:

πŸ’» Full Source Code Here::
πŸ’» Starting Point Branch Here:

⌨️ (0:00:16) Introduction & Overview: Topics, Source
⌨️ (0:02:39) App Design Approach: 3rd Party Library Minimalism & MV-Whatever Architecture
⌨️ (0:04:50) Domain package: Repository Pattern, Enum, Data Class, Sealed Class, Hash Code, Interfaces
⌨️ (0:34:39) Common package: Extension Functions & Variables, Open-Closed Principle (OCP), Abstract Class, Singleton
⌨️ (0:50:20) Persistence (Storage) package: Clean Architecture Back End w/ Java File System Storage, Jetpack Proto Datastore
⌨️ (1:28:07) UI package: Jetpack Compose UI Basics, Styles, Typography, Light & Dark Themes
⌨️ (1:39:56) UI Components package: Modifiers, Reusable Toolbar & Loading Screens
⌨️ (1:52:08) UI Active Game Feature package: Presentation Logic & ViewModel w/ Coroutines, Kotlin Function Types
⌨️ (2:30:55) UI Active Game Feature package: Sudoku Game with Jetpack Compose UI & Activity Container
Note: In a larger App, I'd suggest using Fragments as Containers; didn't make sense to with this app though
⌨️ (3:15:58) Computation Logic package: Overview, design, and testing of Graph DS & Algos for n-sized *square* Sudokus

πŸŽ‰ Thanks to our Champion and Sponsor supporters:
πŸ‘Ύ Wong Voon jinq
πŸ‘Ύ hexploitation
πŸ‘Ύ Katia Moran
πŸ‘Ύ BlckPhantom
πŸ‘Ύ Nick Raker
πŸ‘Ύ Otis Morgan
πŸ‘Ύ DeezMaster
πŸ‘Ύ AppWrite

Learn to code for free and get a developer job:

Read hundreds of articles on programming:

And subscribe for new videos on technology every day:

31 thoughts on “Android Programming Course – Kotlin, Jetpack Compose UI, Graph Data Structures & Algorithms”

  1. Thanks for all you are doing. A humble request could you please provide a good long video on react native? Thanks.

    1. Ryan Michael Kay

      Course creator here.

      I suggest watching Part 4 and 5 of my free Java course called Working Class Java (link in desc box). Those sections are a comprehensive introduction to the things you need to know to glue different classes together (interfaces, inheritence, abstractions, and the repository/facade pattern in Part 4), and all about 3 layer architectures (MVP, MVVM, MVC…) and how they are just applied separation of concerns. It also covers the same concept of separation of concerns as applied to methods/functions, and packages. I explain these things with simple code examples along with the knowledge of actually applying them in larger projects. Part 4 starts at 1:24:09 in that video.

  2. Hi everyone, Ryan here.

    First off, thank you to FCC for featuring this video. I put a lot of effort (seriously, we’re talking 200+ hours here) into these full length tutorials, and it’s great to have them viewed by a larger audience. If you would like to support me and learn from hundreds of other videos on Android, Kotlin, Java, Software Engineering, App Design & Architecture, and Interview prep, please do me a favour and hop over to my channel. I also do frequent livestream Q&A sessions where you can ask me questions directly and get an answer live!

    Thanks for watching, and for the beginners, please understand that this is an intermediate tutorial where I don’t go so much into basics. See my channel for introductory content.

    New to compose? WATCH THIS FIRST:

    1. @Ryan Michael Kay Thanks man. I’ve checked out the starter branch, but cannot see any of the folder structure under src/main. Might have to create it as we go.

  3. Can you please make a Ktor course? That would fit so well as a backend for Android apps since it’s using kotlin as well.

  4. This is for beginners?! Did you by any chance mean “beginners” that already know c#, java, python etc πŸ˜‰

  5. Citizen Of Earth

    Man. You people are legends! I keep saving your videos in my playlist everyday. Just thank you! Real-life heroes.

  6. Hi great tutorial πŸ™‚
    One thing I don’t understand. Why you catch and throw exceptions (e.g. in `updateGameData` in` LocalGameStorageImpl`). Whether `objectOutputStream` should not be closed in a finally block ?

  7. Stoica Mircea Valentin

    I would like to develop an Android app for planning and monitoring daily activities, besides Kotlin, can you let me know what other languages should I use?

Comments are closed.