Back close

Course Detail

Course Name Mobile Application Development
Course Code 24CS733
Program M. Tech. in Computer Science & Engineering
Semester Electives
Credits 3
Campus Coimbatore, Bengaluru, Nagercoil, Chennai

Syllabus

Fundamentals for Mobile App Development: Introduction to mobile app development ecosystems – Android architecture and Flutter framework overview – Setting up development environments (Android Studio, VS Code) – Kotlin essentials for Android development – Kotlin syntax, null safety, and functional programming concepts – Dart essentials for Flutter development – Dart syntax and Flutter-specific language features – Creating a basic app structure
– Android: Activities, Fragments, and Lifecycle – Flutter: Widgets, State management, and Widget lifecycle – User Interface design principles – Android: XML layouts, ViewGroups, and common UI components – Flutter: Widgets, Layouts, and Material/Cupertino design systems – Navigation and app structure – Android: Intents, Navigation component – Flutter: Navigator, Routes

Data Management and Device Integration: Local data persistence – Android: Shared Preferences, Room database – Flutter: SQLite – Networking and API integration – Android: Retrofit, Moshi – Flutter: http package, JSON serialization – Firebase integration and cloud services – Setting up Firebase for Android and Flutter projects – Firebase Authentication – Cloud Firestore for real-time database – Firebase Cloud Storage – Firebase Cloud Messaging for push notifications – State management – Android: ViewModel, LiveData – Flutter: Provider, Riverpod, or BLoC – Background processing – Android: WorkManager, Services – Flutter: Isolates, background execution – Accessing device features – Camera, location, and sensors integration in both platforms – Notifications and push services – Android: Notification API – Flutter: flutter_local_notifications, Firebase Cloud Messaging

Advanced Topics and App Publishing: Advanced UI and Animations – Android: MotionLayout, Transitions – Flutter: Animation Controller, custom animations – Custom Views/Widgets – Android: Custom Views – Flutter: Custom Widgets, Custom Painter – Testing and Debugging – Android: JUnit, Espresso – Flutter: Unit tests, Widget tests, Integration tests – Performance optimization – Profiling and optimizing apps in both platforms – App architecture patterns – MVVM, Repository pattern, Clean Architecture – Dependency Injection – Android: Hilt – Flutter: get_it, injectable – Preparing for app store submission – App signing, versioning, and distribution for both platforms

Summary

Pre-Requisite(s): Intermediate knowledge on Object-oriented programming language (Java or similar language)
Course Type: Lab

Course Objectives and Outcomes

Course Objectives

  • To provide a comprehensive understanding of mobile application development for both Android (using Kotlin) and cross-platform (using Flutter/Dart)
  • To develop skills in designing intuitive user interfaces, managing data, and integrating external services and APIs
  • To understand and apply best practices in mobile app architecture, storage optimization, and user experience design for cross-platforms
  • To gain practical experience in integrating cloud services and preparing apps for deployment

Course Outcomes
CO1: Design and develop interactive mobile user interfaces using Kotlin for Android and Flutter for cross-platform development
CO2: Implement efficient data management solutions using local storage, cloud databases, and state management techniques.
CO3: Integrate device features, background processing, and external services into mobile applications on both platform platforms
CO4: Apply modern mobile app architecture principles and best practices to create production-ready applications for Android and Flutter

CO-PO Mapping

CO PO1 PO2 PO3 PO4 PO5 PO6
CO1 3 3 3 2 3 1
CO2 3 3 3 3 3 1
CO3 3 3 3 3 3 2
CO4 3 3 3 3 3 2

Evaluation Pattern: 70/30

Assessment Internal Weightage External Weightage
Midterm Examination 20
Continuous Assessment (Theory) 10
Continuous Assessment (Lab) 40
End Semester 30

Note: Continuous assessments can include quizzes, tutorials, lab assessments, case study and project reviews. Midterm and End semester exams can be a theory exam or lab integrated exam for two hours

Text Books/ References

  1. How to Build Android Apps with Kotlin – Second Edition , by Alex Forrester, Eran Boudjnah, Alexandru Dumbravan, Jomar Tigcal, May 2023, Publisher(s): Packt Publishing, ISBN: 9781837634934
  2. Neil Smyth, “Android Studio 4.2 Development Essentials – Kotlin Edition”, Payload Media, 2021
  3. Beginning Flutter: A Hands On Guide to App Development , Marco L. Napoli , ISBN: 978-1-119-55082-2, October 2019
  4. Marco L. Napoli, “Flutter Complete Reference: Create Beautiful, Fast and Native Apps for any Device”, Independently published, 2022
  5. Programming Android with Kotlin, by Pierre-Olivier Laurence, Amanda Hinchman -Dominguez, Mike Dunn, G. Blake Meike, December 2021, Publisher(s): O’Reilly Media, Inc., ISBN: 9781492063001
  6. Pro Android with Kotlin: Developing Modern Mobile Apps with Kotlin and Jetpack, by Peter Späth, December 2022, Publisher(s): Apress, ISBN: 978-1484287453
  7. Flutter Complete Reference 2.0: The ultimate reference for Dart and Flutter, by Alberto Miola
  8. Beginning App Development with Flutter: Create Cross-Platform Mobile Apps 1st ed. Edition, by Rap Payne, 2019, Publisher(s): Apress, ISBN: 978-1484251805
  9. Android Developer Documentation: https://developer.android.com/docs
  10. Flutter Documentation: https://flutter.dev/docs
  11. Kotlin Documentation: https://kotlinlang.org/docs/home.html
  12. Firebase Documentation: https://firebase.google.com/docs

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now