Android Development with Kotlin (CUCS1013)

Teacher

N. V. S. Shankar

Category

Course Attendees

Still no participant

Course Reviews

Still no reviews

Android Development with Kotlin – CUCS1013

Android Development with Kotlin

126 hours  ·  Centurion University of Technology & Management

Theory: 1 hr/wk Practice: 6 hrs/wk Project: 1 hr/wk 14 Weeks 6 Modules
Course Objectives
  • Understand the basics of Android development, Kotlin programming, and the Android Studio environment.
  • Design and develop user interfaces, implement data storage, and manage network communication for Android applications.
  • Deploy and manage Android applications.
Course Outcomes (COs)
CO1 Remembering Recall the fundamental concepts of Android development, Kotlin programming, and the Android ecosystem.
CO2 Understanding Explain Android app components, lifecycle, and navigation patterns.
CO3 Applying Apply user interface design principles and material design to develop responsive Android applications.
CO4 Analyzing Analyze data storage options, networking techniques, and persistence mechanisms in Android.
CO5 Creating Develop comprehensive Android applications using Firebase, advanced APIs, and deploy to Google Play Store.
CO – PO – PSO Mapping Matrix
CO Bloom's Taxonomy PO1PO2PO3PO4PO5PO6 PO7PO8PO9PO10PO11PO12 PSO1PSO2PSO3
CO1Remembering 21 1 11 1
CO2Understanding 222 3 111 21
CO3Applying 2231 3212 21 221
CO4Analyzing 2323 322 22 332
CO5Creating 3332 3223 3332 333
Avg 2.22.22.01.2 2.60.81.01.4 1.21.61.00.8 2.21.81.2
3 High / Substantial 2 Medium / Moderate 1 Low / Slight No Mapping
Mapping Rationale Click to expand all CO rationale +
CO1 Remembering +
PO1:2Kotlin & Android fundamentals are core engineering knowledge.
PO2:1Recognising platform constraints requires basic problem analysis.
PO5:1Awareness of Android Studio and SDK tools.
PO10:1Explaining concepts in lab sessions and written notes.
PO12:1Android SDK evolves rapidly; habit of tracking updates begins here.
PSO1:1Foundational IT knowledge supports high-end tech roles.
CO2 Understanding +
PO1:2Activity/Fragment/Service lifecycle is core CS engineering knowledge.
PO2:2Diagnosing lifecycle bugs needs structured problem analysis.
PO3:2Designing navigation flow is an early design/development skill.
PO5:3Android Studio debugger, Logcat, and emulator are heavily used.
PO9:1Lab pair exercises for lifecycle observation.
PO10:1Documenting component interactions and flow diagrams.
PO12:1Navigation patterns evolve (Jetpack Navigation, Compose Nav).
PSO1:2Deep platform knowledge is essential for IT services roles.
PSO2:1Real-time app components underpin any domain application.
CO3 Applying +
PO1:2Layout systems, ViewBinding, and Material Design have theoretical grounding.
PO2:2Choosing the right layout for a constraint is a design decision requiring analysis.
PO3:3UI design is the primary design/development activity of this CO.
PO4:1Comparing ConstraintLayout vs LinearLayout vs RelativeLayout approaches.
PO5:3XML editor, Material components library, ViewBinding, Themes API.
PO6:2Designing for diverse users: dark mode, accessibility, screen sizes; apps serve society.
PO7:1Lightweight, efficient UI reduces battery drain and resource usage.
PO8:2UX ethics: consistent theming, refactored clean code, accessibility compliance.
PO9:2Team members divide screen implementation in project work.
PO10:1Screen layout review and feedback between team members.
PSO1:2Industry demands polished, Material-compliant UI skills.
PSO2:2Health/agriculture/security apps all need responsive, accessible UI.
PSO3:1Client-facing apps for an IT startup need professional UI.
CO4 Analyzing +
PO1:2Room, SQLite, Retrofit, and WorkManager have strong theoretical foundations.
PO2:3Selecting the right storage/networking strategy is a core problem analysis task.
PO3:2Designing the data layer and repository pattern is a software design skill.
PO4:3Comparing SQLite vs Room vs SharedPreferences; benchmarking network calls.
PO5:3Retrofit, OkHttp, Room, WorkManager, LiveData, ViewModel — full modern toolset.
PO7:2Efficient data sync, minimising network calls, WorkManager over polling for battery.
PO8:2Secure storage (no plaintext credentials), responsible handling of user data.
PO10:2Documenting REST API contracts, data schemas, and DAO interfaces.
PO11:2Planning the data layer architecture as a sprint deliverable in project TUT.
PSO1:3Data persistence and networking are high-end backend skills in IT services.
PSO2:3Health records, agriculture data, security logs — all need robust data handling.
PSO3:2A startup's IT product depends on a solid data and networking architecture.
CO5 Creating +
PO1:3Integrating Firebase, Maps, FCM, and Play Console requires deep engineering knowledge.
PO2:3Debugging and designing a full production app is a complex problem.
PO3:3End-to-end app architecture: UI + data + network + cloud + deployment.
PO4:2Testing app performance, Firebase rules, and API integration.
PO5:3Firebase SDK, Google Play Console, FCM, Maps API, oAuth — full advanced toolset.
PO6:2App serves real end users; Play Store policies enforce societal responsibility.
PO7:2Energy-aware background tasks via FCM push over polling; efficient cloud sync.
PO8:3Firebase Auth, data privacy, Play Store policy compliance, production-grade code.
PO9:3Full team project delivery: roles, milestones, code review, demo.
PO10:3Project report, README, APK documentation, final presentation/viva.
PO11:3Sprint planning, milestone tracking, APK release pipeline, version control.
PO12:2Android ecosystem evolves constantly; staying current is a career necessity.
PSO1:3Firebase, Play Store deployment, and advanced APIs are high-end IT skills.
PSO2:3Real-time project in any domain (health app, agriculture tracker) is directly mapped.
PSO3:3Building and deploying a full product is the core of starting an IT services company.
Course Content
M1
Introduction to Android Development 16 hrs
Theory
  • Overview & Android Architecture
  • Setting up Android Studio, Kotlin Basics
  • Creating First Android Project
Practice Experiments
  • 1.1: Set up Android Studio and create a new project
  • 1.2: Write a Kotlin program to print "Hello, World!"
  • 1.3: Implement basic arithmetic operations in Kotlin
  • 1.4: Create a simple Android app with a single activity
  • 1.5: Design a user interface using XML layout
  • 1.6: Implement basic navigation between activities
  • 1.7: Demonstrate the use of Kotlin data types and variables
  • 1.8: Implement a simple calculator app in Android
M2
Android App Components 16 hrs
Theory
  • Activities, Fragments, Services
  • Broadcast Receivers, Content Providers
  • Intents, Activity Lifecycle
Practice Experiments
  • 2.1: Implement an activity lifecycle in Android
  • 2.2: Create and use fragments in an Android app
  • 2.3: Implement a service to run in the background
  • 2.4: Use broadcast receivers to receive system events
  • 2.5: Implement content providers to share data between apps
  • 2.6: Use intents to navigate between activities
  • 2.7: Implement pending intents for notifications
  • 2.8: Demonstrate the use of shared preferences
M3
User Interface Design 16 hrs
Theory
  • Layouts: Linear, Relative, Constraint, Frame
  • UI Components: TextView, EditText, Button, ImageView, RecyclerView
  • Material Design Principles
Practice Experiments
  • 3.1: Design a user interface using ConstraintLayout
  • 3.2: Implement a RecyclerView to display a list of items
  • 3.3: Create custom views and view groups
  • 3.4: Implement material design components in Android
  • 3.5: Use themes and styles to customize the UI
  • 3.6: Implement user input controls (TextView, EditText, Button)
  • 3.7: Create a form with input validation
  • 3.8: Implement a navigation drawer for app navigation
M4
Data Storage 16 hrs
Theory
  • Shared Preferences, Internal & External Storage
  • SQLite Database, Room Persistence Library
  • Content Providers
Practice Experiments
  • 4.1: Implement SQLite database in an Android app
  • 4.2: Use Room Persistence Library for data storage
  • 4.3: Implement content providers for data sharing
  • 4.4: Use shared preferences for simple data storage
  • 4.5: Implement internal storage for file management
  • 4.6: Implement external storage for file management
  • 4.7: Use LiveData to observe data changes
  • 4.8: Implement data binding in an Android app
M5
Network Communication 16 hrs
Theory
  • HTTP Networking, RESTful APIs
  • Retrofit, Volley Libraries
  • JSON Parsing, Background Tasks with WorkManager
Practice Experiments
  • 5.1: Implement HTTP networking using Retrofit
  • 5.2: Implement HTTP networking using Volley
  • 5.3: Parse JSON data from a web API
  • 5.4: Implement background tasks using WorkManager
  • 5.5: Use OkHttp for network communication
  • 5.6: Implement WebSockets for real-time communication
  • 5.7: Use Firebase Realtime Database for data synchronization
  • 5.8: Implement RESTful API communication
M6
Advanced Topics 18 hrs
Theory
  • Firebase Integration: Authentication, Realtime Database
  • Google Play Services, Location APIs
  • App Distribution, Google Play Store, App Signing
Practice Experiments
  • 6.1: Implement Firebase Authentication in an Android app
  • 6.2: Use Google Maps API for location-based services
  • 6.3: Implement push notifications using Firebase Cloud Messaging
  • 6.4: Integrate social media login (Facebook, Google)
  • 6.5: Implement data synchronization with Firebase
  • 6.6: Use ML Kit for image recognition
  • 6.7: Implement in-app purchases in an Android app
  • 6.8: Use Google Play Services for analytics
Project (28 hrs)
  • Project 1: Develop a personal finance management app
  • Project 2: Create a location-based reminder app
  • Project 3: Develop a social media integration app
14-Week Session Plan
PP = Theory (1 hr/wk) PR = Practice (6 hrs/wk) TUT = Project (1 hr/wk)
Week PP – Theory PR – Practice TUT – Project Resources
▶ MODULE 1 – Introduction to Android Development  [Weeks 1–2]
Week 1 Overview & Android Architecture · Setting up Android Studio · Kotlin Basics: Variables, Data Types, Operators, String Templates · Functions, Control Flow, Loops Setting up Android Studio · Writing simple programs in Kotlin · Running using Android Studio Team Formation, Project Idea Discussion · Requirement Gathering, Select Project Domain
Week 2 Arrays, Collections (List, Map, Set), Null Safety & Elvis Operator · OOP: Classes, Objects, Constructors, Inheritance, Data Classes Implementing Arrays and Collections · Practicing inheritance concepts · Writing a simple Calculator App in Android Prepare Project Proposal · Create User Flow Diagram · Setup GitHub Repository
▶ MODULE 2 – Android App Components  [Weeks 3–4]
Week 3 Activity Lifecycle (onCreate → onDestroy) · Intents: Explicit & Implicit · Services: Started & Bound · Fragments: FragmentManager, Back Stack, Fragment Lifecycle Implement activity lifecycle · Use intents to navigate & launch external apps · Implement a background service · Using Fragments in App Prepare Wireframes & Screen Designs · Finalize Core Feature List
Week 4 Broadcast Receivers: Static & Dynamic · Content Providers, SharedPreferences Writing Broadcast Receivers · Using Content Providers · Using Shared Preferences Create Android Project Structure · Implement Splash Screen & Login Screen · Basic Fragment Navigation
▶ MODULE 3 – User Interface Design  [Weeks 5–6]
Week 5 XML Layouts: LinearLayout, RelativeLayout, ConstraintLayout, FrameLayout · UI Components: TextView, EditText, Button, ImageView · ViewBinding Practicing Layout components · UI Components Implement All Core Screens using XML layouts · Connect Screens with Intents/Fragments
Week 6 RecyclerView & Adapters · Material Design Principles: Themes, Styles, Color System · Navigation Drawer & Bottom Navigation Implementing Material Design theme · RecyclerView & Adapters Implement User Session Management · Navigate Between All App Screens · UI Polish Pass
▶ MODULE 4 – Data Storage  [Weeks 7–8]
Week 7 SharedPreferences (revision in storage context) · Internal & External File Storage · SQLite: Cursors, Queries, CRUD Creating a Phone Book using File Handling and SQLite Integrate Lightweight Storage into Project (User preferences, settings screen)
Week 8 Room Persistence Library: Entity, DAO, Database class · LiveData & ViewModel, Repository Pattern (MVVM) · Data Binding Room Persistence Library for defining a Content Provider Implement Data Persistence & Offline Storage · Define Room Entities for project data model
▶ MODULE 5 – Network Communication  [Weeks 9–10]
Week 9 HTTP Networking Fundamentals, RESTful APIs · Retrofit: Setup, Annotations, Converters (Gson/Moshi) · Coroutines for async network calls Using Retrofit for web requests and parsing JSON data Integrate REST API into Project (Connect live API endpoint relevant to project domain) To be recorded
Week 10 Volley Library · WorkManager: Constraints, OneTime & Periodic Tasks · WebSockets for real-time communication · Firebase Realtime Database intro Implement HTTP networking using Volley · Implement background tasks using WorkManager · WebSockets for real-time communication · Firebase Realtime Database for data sync Implement Background Tasks (e.g. periodic sync) · Refine REST API integration in Project To be recorded
▶ MODULE 6 – Advanced Topics  [Weeks 11–12]
Week 11 Firebase Introduction · Firebase Authentication (Email, Google Sign-In) · Firebase Realtime Database / Firestore Implement Firebase Authentication in an Android app · Implement data synchronization with Firebase Implement User Authentication · Firebase Database integration in Project To be recorded
Week 12 Google Play Services: Location APIs, Maps · Push Notifications (Firebase Cloud Messaging) · Social Media Login (Facebook, Google) Use Google Maps API for location-based services · Implement push notifications using FCM · Implement Google authentication using OAuth Add Push Notifications to Project · Location feature (if in project scope) To be recorded
▶ JETPACK COMPOSE – Declarative UI Capstone  [Weeks 13–14]  (out of syllabus)
Week 13 Intro to Jetpack Compose & Declarative UI · Composable Functions, State (remember, mutableStateOf) · Column, Row, Box, Text, TextField, Button, Material 3 Build simple Compose UI: counter, form, state-driven app Convert 1–2 Project Screens to Compose UI To be recorded
Week 14 Compose Layouts: LazyColumn, Scaffold, Navigation · Compose + ViewModel (StateFlow / collectAsState) · APK Generation, App Signing, Google Play Store Basics · Course Revision & Viva Prep Compose List App with LazyColumn, Bottom Navigation · Signed APK Generation, Mock Viva & Debugging Session Final Project Demonstration · Documentation & APK Submission · Final Evaluation To be recorded

Our Main Teachers