Mobile Programming Final Semester Project-V3
Mobile Programming Final Semester Project-V3
Introduction
In this final semester project, you will demonstrate what you have learned during the Mobile
Programming course. Throughout this semester, you have acquired practical experience with Jetpack
Compose, Material Design principles, state management techniques, and Android application
architecture. You are now expected to apply these skills through the collaborative development of a
functional Android app. The application will address a real-world problem within the Ugandan context.
Given the limited timeframe, this project necessitates a focus on a specific, well-defined aspect of a
broader problem. You are not expected to develop a complete, production-ready solution. Instead,
you will create a focused prototype that demonstrates your capacity to apply the course’s key
concepts to a real-world scenario. The application should exemplify professional Android
development practices, including custom theme implementation, effective navigation, dynamic user
interface updates, and refined visual elements. This project will challenge you to integrate technical
implementation with thoughtful design considerations, ensuring the application is both functional and
impactful within the designated scope. Effective teamwork and collaboration are considered crucial
for success in this project, mirroring standard software development practices.
You will work in teams of three (3) members, to design and develop your application over a two-week
period. Then, you will present your Android applications on the dates specified on the Exams
timetable. We will evaluate your project based on the implementation quality, adherence to Android
best practices, design creativity, and the efficiency with which your team applied concepts covered in
the code-labs to address the chosen real-world problem.
Project Requirements
Submission Requirements
A zip file of the Project directory must be uploaded to the e-learning platform by 11:59pm on 10th May
2025. The presentation days will be as follows:
1. Source code:
o All Kotlin files
o Resource files (fonts, images, strings, dimens)
o Custom launcher icon assets
2. Team Documentation (README): A comprehensive well-formatted README file (*.txt or
*.md) explaining:
o Application purpose and features
o Use Case:
A clear description of the realistic use case in the Ugandan context that the
application addresses.
Scope Limitation: A clear description of the specific, limited aspect of the use
case that the application addresses. A detailed explanation of the
application's intended functionality, as well as its limitations, must be
provided.
o Each member's contributions
o Challenges encountered and solutions implemented
3. Demo Video: A brief video (2-3 minutes) demonstrating the application's functionality.
Pro Tips:
Suggested Timeline:
Week 1:
o Days 1-2: Problem identification, scope definition, brainstorming, design, and app
architecture
o Days 3-4: Implementation of core functionality and user interface (UI) components
Week 2:
o Days 5-6: Testing and refinement
o Day 7: Documentation and final submission
Grading Rubric:
The evaluation panel, comprising two (2) members, will assess each project based on the following
criteria:
The evaluation panel will assess each group's presentation, which should be less than 10 minutes in
length, prior to the Q&A session. The presentation should cover the following:
1. Introduction
o Introduce team members and the application name.
o Briefly state the use case the application addresses and its significance in the Ugandan
context.
2. Use Case and Scope
o Clearly define a realistic use case in the Ugandan context that the application
addresses.
o Explain the specific, limited aspect of the use case that the application addresses.
o Clearly state what the application does and does not do (scope).
3. Application Demonstration
o Demonstrate the core functionality of the application.
o Highlight the user interface and key features, including the App Bar.
o Highlight any innovative aspects or unique design choices.
4. Technical Implementation
o Briefly explain how you applied the MVVM architecture in your app.
o Mention key technologies used (e.g., Jetpack Compose, ViewModel, Navigation
Compose).
o Highlight any technical challenges and how they were overcome.
5. Conclusion
o Summarize the application's value and potential impact within the described use case.
o Briefly mention future development possibilities (if any).
o Thank the audience and invite questions.
Additional Instructions:
Time Management: Time management will be a crucial aspect during the presentation.