Assessment Brief - Coursework
Academic Year 2024-2025
Semester 1
Module Number CM2601
Module Title Object Oriented Development
Assessment Method Individual Coursework
Deadline (time and date) 29th Nov 2024
2 Assessment Dropboxes in the Module
Study Area in CampusMoodle.
Submission
1. Dropbox 1 – Application
2. Dropbox 2 - Report
Word Limit 1500
Use of Generative Artificial Intelligence (AI) text IS NOT authorised
Module Co-ordinator Malsha Fernando
What knowledge and/or skills will I develop by undertaking the assessment?
Develop programming code using the Object-Oriented paradigm (OO) and to apply OO
concepts to model and implement a software solution for a given real-world problem.
You will be able to;
1. Use Classes and objects: attributes and operations, constructors, access specifiers and non-
access specifiers, return types.
2. Apply operator overloading and conversions using object-oriented programming principles:
abstraction, encapsulation, inheritance and polymorphism and abstraction.
3. Use I/O streams to perform file handling with advanced programming features: exception-
handling mechanisms, Database connectivity and concurrent programming mechanisms.
4. Design object-oriented solutions for real-world problems using Unified Modelling Languag
Date created: August 2023
Version: 4
Academic Year 2024-2025
On successful completion of the assessment students will be able to achieve the following
Learning Outcomes:
1. Analyse a programming task using OO concepts.
2. Design software using UML diagrams associated with OO concepts.
3. Engineer software guided by UML diagrams and including advanced OO constructs.
4. Implement and evaluate an OO software artefact for a given real-world programming
problem.
Please also refer to the Module Descriptor, available from the module Moodle study area.
What is expected of me in this assessment?
Task(s) – content
Personalized News Recommendation System
Overview:
You are tasked with building a system which collects news articles from multiple sources (could be
stored in files initially or scraped using a simple API). It uses Natural Language Processing (NLP) and
Machine Learning (ML) techniques to analyse user preferences based on the articles they have
previously read or rated. Based on this, it recommends new articles to the user, adjusting
recommendations over time as the user's interests evolve.
Key Features of the Desired Solution:
1. User Management: Users can create an account and log in. Their preferences and reading
history will be stored. The system tracks each user's interactions, such as articles read, liked,
or skipped.
2. Article Processing and Categorization: Articles are fetched from files/DB or APIs and
categorized using NLP. Categories might include Technology, Health, Sports, AI, and more.
Implement simple algorithms to classify articles using keyword extraction or a basic ML model.
3. Recommendation Engine: Based on user reading history, recommend articles using ML
algorithms (e.g., collaborative filtering or content-based filtering). Implement concurrency to
handle multiple users and article processing at the same time.
4. AI/ML Model Integration: Use a pre-trained ML model (like a basic NLP model for sentiment
analysis or categorization) or integrate a simple learning algorithm to adapt to user
Date created: August 2023
Version: 4
What is expected of me in this assessment?
preferences. Store and update user preferences and model predictions using file handling or
database integration.
5. Exception and File Handling: Implement exception handling for invalid inputs, file I/O
operations, API failures, etc. Use file handling to store article data, user preferences, logs, and
backup information.
6. Concurrency: Multiple users might request recommendations at the same time, so implement
concurrency to ensure smooth handling of requests. Utilize Java concurrency utilities to
process large datasets, categorize articles, or generate recommendations in parallel.
Design: UML Design:
1. Use Case Diagram: Actors: User, System Administrator, etc. and Use cases: Login, View Articles,
Rate Articles, Get Recommendations, Manage Profile, Administer Articles (for adding new
sources), etc.
2. Activity Diagram: Describe how the system will process user actions, from login to getting
recommendations. Show branching logic for article categorization and recommendations.
3. Class Diagram: Classes like User, Article, RecommendationEngine, Category, UserPreferences,
ArticleFetcher, DatabaseHandler, etc. Focus and incorporate good OOP practices and
principles (inheritance, encapsulation, polymorphism) in your design.
4. Sequence Diagram: Show interactions between objects like User, RecommendationEngine,
ArticleFetcher, MLModel, and DatabaseHandler.
Implementation Approach:
1. Core Logic: Start by designing the class structure and setting up basic functionality such as user
management and article fetching.
2. File Handling/DB handling: Set up files/DB to store articles, user data, preferences, and logs.
3. Exception Handling: Implement checks and error-handling mechanisms for file access, invalid
inputs, concurrency issues, etc.
4. Concurrency: Use threads or Java’s concurrency utilities (e.g., ExecutorService) to handle user
requests and article categorization efficiently.
5. AI/ML Integration: Integrate a basic machine learning model for the recommendation engine
using existing libraries.
Date created: August 2023
Version: 4
What is expected of me in this assessment?
Project Timeline (6-7weeks):
1. Week 1-2: UML Design and Core Structure (Use case, class, activity, sequence diagrams). Basic
user management and article fetching.
2. Week 3: Implement File Handling and Exception Handling. Set up concurrency for multi-user
support.
3. Week 4-5: Integrate AI/ML model for recommendations. Test classification and
recommendation accuracy.
4. Week 6: Finalize all functionalities, add logging, error handling, and improve UI (console-based
or basic GUI).
5. Week 7: Comprehensive testing (unit testing, concurrency testing, file integrity checks, user
acceptance testing).
Task(s) – format
1. You must provide a single Java Application in compressed format (.zip) for the above
scenario with a single Report (.pdf) comprising of requirement analysis, design, and testing.
2. The application must include all project folders/packages/ files required to successfully
execute the application on any desktop device using Java.
3. Make sure to include screen captures of the version controlling logs from start to end of the
project as an appendix.
4. The report must include following chapters.
a) Introduction – Problem identification and solution with timeline, and brief on the
scope of the project.
b) Requirement analysis – Stakeholder identification with requirements and Use case
diagram with the descriptions.
c) Activity diagrams
d) A single class diagram
e) Sequence diagrams
f) Testing and evaluation
g) References
h) Appendix
Date created: August 2023
Version: 4
What is expected of me in this assessment?
Task(s) – Submission and Viva-voce examination
1. Make sure to submit by the due date.
2. Two separate Dropboxes will be available on CampusMoodle, i.e. for Application and for
Report.
3. Make sure to clearly indicate your RGU ID and name in each submission sub file/folder.
4. The final submission (application and report) must be titled using ONLY the RGU ID.
5. Not adhering to correct naming requirements stated above will result in a penalty.
6. The demonstration/presentation of the coursework followed by a physical viva-voce
examination will be conducted one week following the submission.
7. The schedule for viva will be posted on CampusMoodle after the submission deadline.
8. Participation for the viva voce is mandatory. Failing to appear will result in a NS grade for
coursework component.
How will I be graded?
A number of subgrades will be provided for each criterion on the feedback grid which is specific to the
assessment.
The overall grade for the assessment will be calculated using the algorithm below*.
At least 50% of the subgrades to be at Grade A, at least 80% of the subgrades to be at Grade B
A
or better, and normally 100% of the subgrades to be at Grade C or better.
At least 50% of the subgrades to be at Grade B or better, at least 80% of the subgrades to be at
B
Grade C or better, and normally 100% of the subgrades to be at Grade D or better.
At least 50% of the subgrades to be at Grade C or better, and at least 80% of the subgrades to
C
be at Grade D or better.
Date created: August 2023
Version: 4
How will I be graded?
At least 50% of the subgrades to be at Grade D or better, and at least 80% of the subgrades to
D
be at Grade E or better.
E At least 50% of the subgrades to be at Grade E or better.
F Failing to achieve at least 50% of the subgrades to be at Grade E or better.
NS Non-submission.
*If the word count is above the specified word limit by more than 10% or the submission contains an excessive use
of text within tables, the grade for the submission will be reduced to the next lowest grade.
Date created: August 2023
Version: 4
Feedback grid
GRADE A B C D E F
DEFINITION / EXCELLENT COMMENDABLE/VERY GOOD GOOD SATISFACTORY BORDERLINE FAIL UNSATISFACTORY
CRITERIA Outstanding Meritorious Highly Competent Competent Fail
(WEIGHTING) Performance Performance Performance Performance
Excellent identification of all Very good identification of all most all Good identification of most Some identification of stakeholders of Erroneous identification of The presented designs do not map the
stakeholders of the systems with stakeholders of the systems with stakeholders of the systems with the systems with requirements and stakeholders of the systems with UML standards. Incorrect identification
requirements and mapping them into requirements and mapping them into requirements and mapping them into mapping them into external users in the requirements and mapping them into and mapping of requirements to
external users in the use case diagram. external users in the use case diagram. external users in the use case diagram. use case diagram. Identification of use external users in the use case diagram. design. Major improvements suggested
Correct identification of use cases and Correct identification of use cases and Correct identification of use cases and cases and some relationships between Identification of a few use cases and no in all aspects of the design. Or no design
relationships between use cases. relationships between use cases. Correct flow relationships between use cases. use cases. Flow of events presented in relationships between use cases. Flow provided.
Excellent and correct flow of events of events presented in use case descriptions. Correct flow of events presented in use use case descriptions. Identification of of events presented in use case
presented in use case descriptions. Excellent identification of the correct logical case descriptions. Good identification of the logical flow of tasks in the activity descriptions are erroneous. Some
Requirement Excellent identification of the correct flow of tasks in the activity diagram. the logical flow of tasks in the activity diagram. Identification of some identification of the logical flow of tasks
Analysis and logical flow of tasks in the activity Identification of all most all required classes diagram. Identification of most required required classes with relationships. in the activity diagram. Identification of
diagram. Identification of all required with correct relationships. Correct mapping classes with relationships. Correct Some identification of communication some required classes with
Design classes with correct relationships. and identification of communication between mapping and identification of between classes/objects. relationships, but the errors. Some
(3 subgrades) Correct mapping and identification of classes/objects. Correct use of notations. communication between Improvements can be made in identification of communication
communication between classes/objects. Improvements can be identifying more suitable flow of events between classes/objects. Missing
classes/objects. Correct use of made in identifying more suitable flow and more relevant classes with diagrams. Improvements must be
notations. of events and more relevant classes relationships. Errors in the use of UML made in all most all aspects of the
with relationships. Correct use of notations. designs, i.e., identification of
notations in most diagrams, requirements, mapping requirements
improvements can be made. to design and use correct UML
notations.
Excellent mapping of the designs to Very good mapping of the designs to code Fair level of mapping the designs to Some level of mapping the designs to No level of mapping the designs to No implementation provided or major
code incorporating all necessary OOP incorporating all necessary OOP concepts. code incorporating some of necessary code incorporating some of necessary code. Some of necessary OOP concepts errors in the application which does not
concepts. Good integration of all Good coding practices such as commenting, OOP concepts. Some good coding OOP concepts. Only a limited or no used with errors. Only a limited or no execute as expected.
functional units into a single version controlling and adherence to naming practices such as commenting, version good coding practices such as good coding practices such as
application. Good coding practices such standards followed throughout the controlling and adherence to naming commenting, version controlling and commenting, version controlling and
as commenting, version controlling and application. Good integration of all functional standards followed but not all met adherence to naming standards adherence to naming standards
adherence to naming standards units into a single application. Good level of throughout the application. Some followed. No or partial integration of followed. No or partial integration of
followed throughout the application. exceptional/error handling with input integration of functional units into a functional units into a single functional units into a single
Excellent level of exceptional/error validations for some functions. Correct single application. Some level of application. No exception handling and application. No exception handling and
handling with input validations for all formatted output with instructions provided exceptional/error handling without no input validations. Correct output no input validations. Erroneous output
Implementation required functions. Correct formatted to the end-user. input validations. Correct output provided. Improvements can be made but the application executes. Major
output with clear instructions provided provided. Improvements can be made so that the application incorporates all improvements must be made so that
(3 subgrades) to the end-user. so that the application incorporates all necessary OOP concepts. the application incorporates all
necessary OOP concepts. Minor Improvements must be made when necessary OOP concepts.
improvements can be made when mapping the designs to code, making Improvements must be made when
mapping the designs to code, making sure to maintain the correct logical flow. mapping the designs to code, making
sure to maintain the correct logical flow. sure to maintain the correct logical flow.
Date created: August 2023
Version: 4
GRADE A B C D E F
DEFINITION / EXCELLENT COMMENDABLE/VERY GOOD GOOD SATISFACTORY BORDERLINE FAIL UNSATISFACTORY
CRITERIA Outstanding Meritorious Highly Competent Competent Fail
(WEIGHTING) Performance Performance Performance Performance
Excellent test plan covering all aspects Good test plan covering all aspects of the Test plan covering most aspects of the Some test plan covering some aspects Some test plan covering only a few No test plans. Missing sections and
of the project and functions. Good project and functions. Good documentation project and functions. Fair level of of the project and functions. aspects of the project and functions. formatting or no document provided.
documentation provided which follows provided which follows formal report writing documentation provided which some Documentation provided which does Document does not follow formal
Testing and formal report writing style and style and formatting. what follows formal report writing style not follow formal report writing style report writing standards. Missing
Documentation formatting. and formatting. and formatting. sections and formatting.
(2 subgrades)
The presentation and demonstration of The presentation and demonstration of skill is The presentation and demonstration of The presentation and demonstration of The presentation and demonstration of The presentation and demonstration of
skill is outstanding in terms of the very good in terms of the scholarly style, skill is good in terms of the scholarly skill is satisfactory in terms of the skill is weak and needs improvement in skill is not satisfactory in terms of the
scholarly style, clarity, relevance and clarity, relevance and coverage of the style, clarity, relevance and coverage of scholarly style, clarity, relevance and terms of the scholarly style, clarity, scholarly style, clarity, relevance and
Demonstration coverage of the material, knowledge material, knowledge and skill, formatting, the material, knowledge and skill, coverage of the material, knowledge relevance and coverage of the material, coverage of the material, knowledge
and Viva and skill, formatting, referencing, referencing, grammar, sentence structure, formatting, referencing, grammar, and skill, formatting, referencing, knowledge and skill, formatting, and skill, formatting, referencing,
grammar, sentence structure, punctuation, and word choice. sentence structure, punctuation, and grammar, sentence structure, referencing, grammar, sentence grammar, sentence structure,
(2 subgrades) punctuation, and word choice. word choice. punctuation, and word choice. structure, punctuation, and word punctuation, and word choice.
choice.
Coursework received late, without valid reason, will be regarded as a non-submission (NS) and one of your assessment opportunities will be lost.
What else is important to my assessment?
What is the Assessment Word Limit Statement?
It is important that you adhere to the Word Limit specified above. The Assessment Word Limit
Statement can be found in Appendix 2 of the RGU Assessment Policy. It provides detail on the
purpose, setting and implementation of wordage limits; lists what is included and excluded from the
word count; and the penalty for exceeding the word count.
What’s included in the word count?
The table below lists the constituent parts which are included and excluded from the word limit of a
Coursework; more detail can be found in the full Assessment Word Limit Statement. Images will not
be allowed as a mechanism to circumvent the word count.
Excluded Included
Main Text e.g. Introduction, Literature Review,
Cover or Title Page Methodology, Results, Discussion, Analysis,
Conclusions, and Recommendations
Executive Summary (Reports) or Abstract Headings and subheadings
Contents Page In-text citations
List of Abbreviations and/or List of
Footnotes (relating to in-text footnote numbers)
Acronyms
List of Tables and/or List of Figures Quotes and quotations written within “…”
Tables – mainly numeric content Tables – mainly text content
Figures
Reference List and/or Bibliography
Appendices
Glossary
What are the penalties?
The grade for the submission will be reduced to the next lowest grade if:
• The word count of submitted work is above the specified word limit by more than 10%.
• The submission contains an excessive use of text within Tables or Footnotes.
Date created: August 2023
Version: 4
What else is important to my assessment?
What is plagiarism?
Plagiarism is “the practice of presenting the thoughts, writings or other output of another or others as
original, without acknowledgement of their source(s) at the point of their use in the student’s work. All
materials including text, data, diagrams or other illustrations used to support a piece of work, whether
from a printed publication or from electronic media, should be appropriately identified and
referenced and should not normally be copied directly unless as an acknowledged quotation. Text,
opinions or ideas translated into the words of the individual student should in all cases acknowledge
the original source” (RGU 2022).
What is collusion?
“Collusion is defined as two or more people working together with the intention of deceiving another.
Within the academic environment this can occur when students work with others on an assignment,
or part of an assignment, that is intended to be completed separately“ (RGU 2022).
For further information please see Academic Integrity.
What if I’m unable to submit?
• The University operates a Fit to Sit Policy which means that if you undertake an assessment then
you are declaring yourself well enough to do so.
• If you require an extension, you should complete and submit a Coursework Extension Form. This
form is available on the RGU Student and Applicant Forms page.
• Further support is available from your Course Leader.
What additional support is available?
• RGU Study Skills provide advice and guidance on academic writing, study skills, maths and
statistics and basic IT.
• RGU Library guidance on referencing and citing.
• The Inclusion Centre: Disability & Dyslexia.
• Your Module Coordinator, Course Leader and designated Personal Tutor can also provide
support.
What are the University rules on assessment?
The University Regulation ‘A4: Assessment and Recommendations of Assessment Boards‘ sets out
important information about assessment and how it is conducted across the University.
Date created: August 2023
Version: 4