Assessment Brief 2
Programme title: FdSc Computing
Module title: Object Oriented Programming
Module code: CMP212
Assessment: Practical
Submission deadline: 06/06/2025 – 05:00PM
Assessment type: Practical
Weight: 70%
Module aims:
This module further develops the programming abilities of students by introducing them
to object oriented programming (OOP) concepts such as classes, objects,
encapsulation, inheritance and polymorphism.
1) Analyse and examine object-oriented programming principles and their benefits
2) Design an object-oriented application
3) Distinguish and apply appropriate object-oriented programming methodologies to
create an application
No Learning Outcomes
LO2 Design an object-oriented application
LO3 Distinguish and apply appropriate object-oriented programming methodologies
to create an application
Description/Guidance
Assessment: Practical
Weight: 70% Marks
Submission method: Turnitin – Zip file including code, and You Tube video link
Basic guidelines:
You have been employed as a junior developer and have been
given your first assignment. You will be helping to develop a
Java application for the Newcastle Philatelist Club (NPC) who
require a system for their members to organise stamps that they
1
either own or are interested in.
You have been tasked with the design and development of a
prototype application that meets the requirements outlined below
and displays data using in-memory objects (non-permanent data
storage) or that utilises comma-separated values (CSV) files to
store data (permanent storage).
You are required to build a prototype application that meets the
requirements below and demonstrates your ability to use OOP
techniques.
Programme Application Requirements
1. Application compiles and displays a GUI, with views for:
a. Main Menu (application homepage)
b. Manage Stamps (loads the different stamp
categories. Available categories are: Definitive,
Commemorative, Used and Mint.)
c. Stamp ownership (allow users to organize their
stamps into available categories)
d. Stamps wishlist (allow users to manage a list of
stamps they wish to own)
2. Application displays data relevant to the views
3. Application allows multiple users to log in and store
personalised ownership lists and wishlists (but all users
have access to the same list of Stamps and Stamp
Categories)
4. Application users cannot add, edit, or delete any of the
categories in 1b
5. Application allows users to:
a. Add a new data item on views 1c and 1d
b. Edit a data item on views 1c and 1d
c. Delete a data item on views 1c and 1d
Additional Notes
You should plan your classes before you begin working on your
application. You will be shown how to use the Unified Modelling
Language (UML) to create a class diagram that highlights
relationships between classes. You should also employ OOP
concepts where possible.
On completion of your application, you are asked to create a
2
video screen-recording of yourself (no more than 20 minutes)
using the application and talking through its functionality. Your
video should demonstrate how you have fulfilled each of the
requirements, starting from 1 to 5. You should upload this to
YouTube as an unlisted video and provide a link for
submission.
Functionality and Requirement Fulfilment (25%)
Assessment criteria:
User Experience and Interface Design (25%)
Code Quality and Efficiency (25%)
Data Management and External Handling (25%)
Learning and Our philosophy of learning and teaching, our
Teaching Strategies: understanding of teaching for level 5 and NCG policies and
strategies have all influenced our specific approach to
learning and teaching for the level 5. Our teaching
methods have been developed with explicit attention to
debates pertaining to student learning styles. As such, our
teaching methods provide a framework via which students
develop the capacity to manage their own learning and
evolve, over the course of their studies, into independent
learners, acquiring the knowledge, understanding and
skills that are essential to learning in Higher Education and
to lifelong learning, post-graduation. Lectures, tutorials,
and student-centred learning exercises will be employed.
Practical sessions will support the learning of abstract
concepts. Workshops and demonstrations will be
organised in different topics to help the students master
the necessary skills to develop their knowledge in these
areas. Wherever possible, reference will be made to
additional material and academic journals in the relevant
field of computing. The VLE will be used to augment face
to face teaching and learning with additional opportunities
for learning and access to resources. There will be an
introduction to the use of the library and a supportive
tutorial framework to give individual support where
required.
3
Learning Materials/Resources:
Books
Lassoff, M (2017) Java programming for beginners, Packt Publishing
Martin, R (2018) Clean Architecture, Pearson Education
Schildt, H (2017) Java: The Complete Reference (10th Ed.), McGraw-Hill
Urma, R., Fusco, M. and Mycroft, A (2018) Modern Java in Action (2nd Ed.), Manning
Publications
Websites
Java Tutorial (w3schools.com)
Java Tutorial | Learn Java Programming - java point
Java Tutorial - GeeksforGeeks
Java Tutorial (tutorialspoint.com)
Learn Java Programming (programiz.com)
4
Contextualised Grading Criteria – Practical (70% Weighting)
Exceptional
90% - 100%
Requirements 1 - 5 fully functional and exceptional extensions are there.
Application uses dynamic data, and has implemented permanent storage via CSV
GUI is intuitive and exceptionally designed
Code is clean and exceptionally organized
Exceptional evidence of OOP application throughout the work (inheritance, encapsulation, abstraction and
polymorphism)
Outstanding
80% - 89%
Requirements 1 - 5 fully functional
Application uses dynamic data, and has implemented permanent storage via CSV
GUI is intuitive and outstanding
Code is clean and commented
Outstanding evidence of OOP application throughout the work (inheritance, encapsulation, abstraction and
polymorphism)
5
Excellent
70% - 79%
Requirements 1 - 5 fully functional
Application uses dynamic data, and has implemented permanent storage via CSV
GUI is intuitive and well designed
Code is clean and well organized
Clear evidence of OOP application throughout the work (inheritance, encapsulation, abstraction and polymorphism)
Good
60% - 69%
Requirements 1, 2, 4 and 5 fully functional
Application uses hard-coded, static data
GUI is suitable for the requirements though with some issues
Code is generally clean and well organized
Generally, very good evidence of OOP application throughout the work (inheritance, encapsulation, abstraction and
polymorphism) though with some minor areas requiring additional work
Average
50% - 59%
6
Requirements 1, 2 and 5 fully functional, with partial completion of requirement 3 and/or 4
Application uses hard-coded, static data
GUI is mostly well designed with some minor issues
Code is generally well organized
Sound evidence of OOP application throughout the work (inheritance, encapsulation, abstraction and
polymorphism) though with some areas requiring additional work
Satisfactory
40% - 49%
Requirements 1 and any other 2 attempted with some partial completion
Application uses hard-coded, static data
GUI is adequately designed
Code is complete but may not be well organized
Some evidence of OOP application throughout the work (inheritance, encapsulation, abstraction and
polymorphism) though with many areas requiring additional work
Unsatisfactory
30% - 39%
7
Knowledge and understanding at a limited level. There may be errors in either factual knowledge or understanding.
Expression of ideas is not always clear, with ideas/arguments/discussions weakly structured. Practical application may be
only partially complete or have glaring omissions or errors. To achieve a grade of 30% or more, a genuine attempt at the
assessment criteria must be demonstrated.
Unsatisfactory
0% - 29%
Knowledge and understanding at an extremely limited level. There may be significant errors and/or omissions both in
factual knowledge and understanding. Practical application may be extremely limited or not present at all.