In this mobile app development assessment, students are tasked with creating a comprehensive Android application using
Kotlin. The goal is to design an intuitive and functional app that allows users to record their academic grades for each
module, providing a record of assessment marks. App will be able to tell student their current degree classification and
what they need for the next classification. The emphasis is on implementing a class-based structure, ensuring efficient
data management, and incorporating persistent storage.
The assessment involves defining classes for years, modules and assessments, with specific attributes tailored to academic
data representation.
To enhance the user experience, a user interface must be developed, facilitating the addition, editing, and deletion of
modules and assessments. Additionally, you are expected to implement data validation checks, ensuring the accuracy of
the recorded information.
– One report as a converted to PDF
– 5 pages for main body, 5 pages for appendicies.
– One Android Project compressed with a .zip or .gzip extension
– One applications, .apk file
Rubic Summary
• Clean Code: 25%
• OOP: 25%
• KDoc: 15%
• App Design: 25%
• Report: 10?fine a Module class with attributes:
• name
• code
• level
• credit
• overall mark as a percentage, and classification.
The module should be linked to one or more assessments. The sum of assessment weightings should exceed 100%,
ensuring that combined marks do not exceed 100%.
• Allow users to add, edit, and delete modules using instances of the Module class. Include methods for adding
assessments to each module.
Assessment Class
Define an Assessment class with the following attributes:
• Name
• Weighting (as a percentage)
• Marks achieved (out of 100)
• Ensure that assessment types are predefined, and weightings are specified in percentages.
• Create instances of the Assessment class to manage assessment details for each module.
Persistent Storage
Implement a mechanism to save and load data using JSON, CSV, or XML. Choose one based on your preference and
ease of implementation:
• For JSON: Use Kotlin’s built-in Gson library.
• For CSV: You can use libraries like OpenCSV.
• For XML: Options include Kotlin’s XML support or third-party libraries like SimpleXML.
Degree Classification Implementation
UoG Academic Council and Governing Body have stated that:
• Level 5 is worth 10% (all credits)
• Level 6 is worth 90% (best 90 credits at level 6) with
•
Overall Mark = (0.1 × Average Marks at Level 5) + (0.9 × Best 90 Credits at Level 6)
Prediction of Classifictation
Add a feature to determin the required marks needed to achieve a classification, the following formula will help:
•
Grade Needed for Classification =
First Class Upper Bound ? Current mark
First Class Upper Bound ? First Class Lower Bound
Overall Progress using Classes
Utilise class instances and stored data to calculate and display overall progress and predicted classification.
Validation with Classes
Implement validation checks within the class methods to ensure accurate data handling.
Privacy and Security
Ensure secure handling of user data, especially if storing data locally.
Use KDOC
Update documentation to guide users on the new class-based structure and data storage methods.
Design
App should be designed to be intutitive, user friendly, accessible, suitable colour palette, font families, font size and
weightings. Images where deployed should be royalty free and of good quality. Your report will provide references for
these
APPLY FOR THIS JOB:
Company: Cleverway LLC
Name: Ion Cuflic
Email: