0% found this document useful (0 votes)
19 views4 pages

Mobile Programming Final Semester Project-V3

The final semester project for the Mobile Programming course involves the collaborative development of a functional Android app addressing a real-world problem in Uganda, utilizing skills learned throughout the course. Students will work in teams to create a prototype that adheres to Android best practices, focusing on visual design, core functionality, and technical requirements, with a submission deadline of May 10, 2025. The project will be evaluated based on design, functionality, code quality, documentation, and presentation, with a structured timeline and grading rubric provided.

Uploaded by

Lawrence Lubanga
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views4 pages

Mobile Programming Final Semester Project-V3

The final semester project for the Mobile Programming course involves the collaborative development of a functional Android app addressing a real-world problem in Uganda, utilizing skills learned throughout the course. Students will work in teams to create a prototype that adheres to Android best practices, focusing on visual design, core functionality, and technical requirements, with a submission deadline of May 10, 2025. The project will be evaluated based on design, functionality, code quality, documentation, and presentation, with a structured timeline and grading rubric provided.

Uploaded by

Lawrence Lubanga
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Mobile Programming – Final Semester Project

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

1. Visual Design & Theming


o Custom launcher icon (replacement of the default Android icon is mandatory)
o Material Theme implementation, including:
 App Bar: A top app bar is required for consistent navigation and branding.
 Custom color scheme (a minimum of three custom colors for primary,
secondary, and background)
 Non-default fonts (at least one text style; use of Google Fonts is permitted)
 Defined shapes (e.g., rounded corners for Cards)
o Consistent styling across all components
2. Core Functionality
o Multi-screen navigation (a minimum of two screens using Navigation Compose)
o State management using ViewModel.
o User input handling (e.g., form validation, handling of button clicks, and response to
user gestures)
o Use Case:
 A clear definition of a realistic use case that the application addresses in the
Ugandan context.
 Scope Limitation: A clear definition of the specific, limited aspect of the use
case that the application will address within the given timeframe is required.
A detailed explanation of the application's intended functionality, as well as
its limitations, must be provided.
o Configuration Changes: The application must handle configuration changes (e.g.,
screen rotations, language changes or theme changes etc.) without losing data or
state.
3. UI Components
o Scrollable list (LazyColumn/LazyRow) with a minimum of five (5) items, including
at least three (3) items containing both text and images.
o Custom-shaped images (e.g., circular or rounded profile pictures)
o Implementation of Material Design components (Cards, Buttons,
TextFields)
4. Interactive Elements
o Implementation of a minimum of one animation (e.g., fade, slide, scale, or custom
animations)
o Clickable components with visual feedback
5. Technical Requirements
o No hardcoded Strings (Use strings.xml): All user-facing text must be externalized
in strings.xml to ensure maintainability and support for localization.
o Dimension Management: Use dimens.xml for all spacing, padding, and sizes. Scalable
units, such as dp and sp, must be employed.
o Clean architecture: Implementation of a clean architecture (e.g., MVVM) with a clear
separation of concerns between the UI layer and the data/business logic layer is
required.

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:

 Main Campus: Monday, 12th April 2025


 Kampala Campus: Wednesday, 14th April 2025
o Day group: 9:00am – 1:00pm
o Weekend group: 2:00pm – 4:00pm

The zip file must include:

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:

 Design the app architecture before coding.


 Begin theming early, as it affects all components.
 Thoroughly test navigation flows.
 Employ subtle yet effective animations.
 Test the application on multiple Android devices or emulators with varying screen sizes.
 Optional: Consider utilizing version control (Git) for collaboration and codebase
management.
 Maintain a focus on user needs within the Ugandan context.
 Scope Realistically: Given the time constraints, concentrate on a manageable, well-defined
part of the problem. For example, it is preferable to execute one task well than to attempt
an excessive number of tasks with inadequate results.
 App Architecture: A well-defined application architecture diagram is required, showing the
relationships between different components (e.g., View, ViewModel, and Model).

Suggested Timeline:

Given the two-week project duration, the following timeline is suggested:

 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:

 UI Design and Theming: 20%


 Functionality: 30%
 Code Quality: 25%
 Documentation: 15%
 Presentation: 15%
Suggested Presentation Outline (10 minutes max.)

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.

You might also like