Week 1: Getting Started with Kotlin
Session 1: Introduction to Android Development and Kotlin
● Overview of Android development
● Introduction to Kotlin programming language
● Setting up Android Studio
Session 2: Kotlin Basics and OOP Fundamentals
● Variables, data types, and operators
● Control flow (if, when, loops)
● Functions and lambdas
● Classes and objects
● Inheritance and interfaces
● Properties and methods
Week 2: Android Fundamentals
Session 1: Android Project Structure and UI Basics
● Understanding project structure
● Understanding the declarative UI paradigm
● Setting up a Compose project
● Basic compostables (Text, Button, Image, etc)
● Layout in Compose (Column, Row, Box)
● State Management basics
● Project: Building a Simple UI with Compose
Session 2: Activities, Intents, and Views
● Activity lifecycle
● Creating and navigating between activities
● Using intents to pass data
● Common views (TextInput, ImageView, etc.)
● Lists and LazyColumn
● Project: Unit Converter App
Week 3: Advanced UI and User Input
Session 1: Complex Layouts
● LazyColumns with data being passed in.
● Project: QuickNote App (Part 1)
Session 2: Navigation and User Input
● Introduction to NavHost and Navigation component on Compose
● Navigating between composable
● Handling user input
● Form validation
● Project: QuickNote App (Part 2)
Week 4: Data Storage and Networking
Session 1: SharedPreferences, SQLite, and Room
● Saving data with SharedPreferences
● Introduction to SQLite
● Setting up Room Database
● CRUD operations
● Integrating Room with LazyColumn
● Project: QuickNote App (Part 3)
Session 2: Networking with Retrofit
● Introduction to Retrofit
● Making network requests
● Parsing JSON responses
● Project:Netflix App (Part 1)
Week 5: Advanced Android Components
Session 1: Services, Broadcast Receivers, and Background Tasks
● Introduction to services
● Creating and using services
● Broadcast receivers and intents
● Introduction to WorkManager
● Project: Netflix App (Part 2)
Session 2: Firebase Integration
● Setting up Firebase
● Firebase Authentication
● Realtime Database
● Project: Instagram App (Part 1)
Week 6: Testing and Debugging
Session 1: Debugging, Error Handling, and Unit Testing
● Using Android Studio debugger
● Handling runtime errors
● Best practices for debugging
● Writing unit tests in Kotlin
● Testing Android components
● Project: Instagram App (Part 2)
Session 2: UI Testing
● Introduction to Espresso
● Writing UI tests
● Project: Instagram App (Part 3)
Week 7: Polishing and Publishing
Session 1: UI/UX Enhancements and App Performance Optimization
● Material Design principles
● Customizing UI elements
● Analyzing app performance
● Memory management
● Improving app performance
● Project: Finalize and polish projects
Session 2: Preparing for Release
● Signing the app
● Creating a release build
● Publishing on Google Play Store
Week 8: Major Project Development
Session 1: E-Learning App Development
● Finalize the design and architecture of the E-Learning App
● Implement core features such as browsing courses, purchasing courses, and
tracking course completion.
● Work on integrating any additional features such as user authentication or
payment processing
Session 2: Testing, Debugging, and Presentation
● Thoroughly test the E-Learning App
● Debug and fix issues
● Present the E-Learning App
● Review and receive feedback
● Reflect on learning and future steps