OFFERS! offer image Get Expert-crafted assignments
Save 51%

CMP7001 S1 PRES1 Advanced Programming Assessment Brief 2025/26 | CMU

Published: 31 Oct, 2025
Category Assignment Subject Programming
University Cardiff Metropolition University (CMU) Module Title CMP7001 Advanced Programming
Word Count 1000 (10 minute presentation)
Assessment Type PRES1
Assessment Title Presentation of a System Design
Academic Year 2025/26

CMP7001 S1 PRES1 Advanced Programming Assessment Brief 2025/26

Contents

  • Assessment Details
  • Submission Details
  • Assessment Criteria
  • Further Information
  • Who can answer questions about my assessment?
  • Referencing and independent learning
  • Technical submission problems
  • Late submission and mitigating circumstances
  • Academic Misconduct
  • How is my work graded?

Assessment Details

Assessment title

Abr.

Weighting

Presentation of a System Design

PRES1

25%

Pass marks are 40% for undergraduate work and 50% for postgraduate work unless stated otherwise.

Task/Assessment brief:

To demonstrate the system design skills you have developed in CMP7001 you are required to work in teams of two or three to design, build, and test a software system to meet the scenario below.

You may choose who to work with.

Scenario

Myriad Medical Services (MMS) Ltd. is a private medical centre offering its patients a wide range of services. The centre relies on multiple Airtable databases to book in patients, assign patients to clinicians, record treatments and charges, and record when patients pay the charges in full. MMS would like to replace its current system as it is obsolete and no longer supports its key business processes. 

The company has approached you to develop a new system with the following requirements:

Functional Requirements

  1. The system should have three types of users, the centre administrators, the clinicians, and the patients, each of which see different system functionalities.
  2. When a patient comes for a service, they may either be registered or an unregistered ‘walk-in’ patient. The centre administrator should capture all the patient details if unregistered.  
  3. Registered patients can log into the system and book a treatment. 
  4. The centre administrator or the clinician can log patients and treatment details into the system.
  5. The centre administrator can allocate patients to clinicians, in line with their expertise, and the nature of the treatments required. In this case, the system should generate a Treatment ID and initialise its status to ‘New Treatment’. 
  6. The clinician should be able to view all the patients allocated to them – but not to unassigned patients or those assigned to other clinicians – record all the treatments that need to be performed, and update the Treatment ID’s status to ‘Treatment Assessed’. 
  7. In turn, the centre administrator should view all assessed jobs and cost all the treatments logged by the clinician to generate the total bill for the patient.
  8. An unregistered patient can upgrade to a registered patient. 
  9. Registered patients should be able to receive notifications of offers, vouchers, or promotions from the centre administrator.  Patients should have the option to opt-out of receiving these.
  10. The new system should maintain information about different treatments that are offered.
  11. The centre administrator and the clinicians can add or remove treatments or flag non-paying patients as needed.
  12. There should be persistent storage in the system. (Hint: you may choose to store your data in a CSV file, for example)

Non-Functional Requirements

  1. You are required to design your system following object-oriented design principles using multiple classes. (Hint: look at the separation of concerns and single responsibility principles to help factor your classes)
  2. The solution must employ at least one form of polymorphism, be it parametric polymorphism (generics) or subtype polymorphism (inheritance/interfaces).
  3. The solution will require a console-based, command-line interface (CLI) menu system to allow the user to access the required functionality as outlined above. If you wish to implement a graphical user interface (GUI), e.g. using Swing or JavaFX, you are free to do so; however, a CLI must be available.
  4. Your solution must employ exception handling to catch all system errors (input, run-time and output errors). This should include both the handling of API exceptions and throwing your own generated exceptions.
  5. You are required to implement unit tests to validate your prototype.

Do You Need CMP7001 S1 PRES1 Assignment of This Question

Order Non Plagiarized Assignment

Project Management

It is up to you how you choose to divide the tasks between the team members, but each team member must contribute an equivalent amount, and present their own presentation on the system.

Deliverable

For this part of the project, you are required to record a 10-minute video presentation discussing your initial system design, the object-oriented principles used, explaining the rationale behind your decisions. A working implementation prototype is not required at this stage. The format of the presentation is up to you, and you can be as creative as you like. You may choose to use presentation slides (e.g. PowerPoint).

Presentations are an important means of professional and academic communication, and it is important that as engineers, scientists, and analysts, you enhance your skills to communicate your ideas and arguments effectively. You should view this presentation as an opportunity to showcase your system design skills learnt both within and outside this module.

Although the format of the presentation is up to you, the following elements should be included:

-Introduction to the project and your contributions to it so far.
-Overview of the use case model.
-Overview of the class model.
-Discussion of how polymorphism was used.
-Discussion of any design patterns included in your design.
-Discussion of how exception handling will be used.
-Discussion of design issues and challenges faced in the design. Note:  Do not be afraid to discuss elements that are incomplete – discussion of how you analysed the problems and attempted to fix them is invaluable to the learning process.
-A reflection of the object-oriented techniques you have learned on the module and which elements you found challenging.
-Conclusion.

If you use slides, you do not have to include everything on them – use the slides to provide the overall structure of the presentation, but you can jump out of the slides to show diagrams, code, or testing, for example.

Your video presentation should ideally be presented as an unlisted YouTube video, but if you prefer you can also store the video file on your student OneDrive with appropriate access setup for your tutor.  

Place a link to the video in a txt file for submission to Moodle.

Please test your video before submission – checking the audio and screen capture worked correctly. 
 
Word count (or equivalent): 1000 (10 minute presentation)

This a reflection of the effort required for the assessment. Word counts will normally include any text, tables, calculations, figures, subtitles and citations. Reference lists and contents of appendices are excluded from the word count. Contents of appendices are not usually considered when determining your final assessment grade.

Academic or technical terms explained:

Object Orientation – A means of structuring software systems around separate, functionally specialised, reusable objects that interact to form a working application.

Design Pattern – A template that outlines the classes and their relationships to accomplish different tasks and solve different problems in software engineering.

Polymorphism – The ability to represent multiple implementations using a single interface or representation.

Exception Handling – A method of cleanly capturing errors and propagating them to calling functions to handle as needed.

Unit Testing – A unit test is a single, discrete test of one aspect of a system.  The test runs and either passes or fails, the results of which are reported back to the developer.

VCS – Version Control System. Software used in conjunction with good developer practices to track and manage changes to source code.  Git is an example of a distributed version control system, and GitHub is a service built around Git.  Bitbucket is an alternative also built around Git.

Submission Details

Submission Deadline:

This will be provided on the Moodle submission point.

Estimated Feedback

Return Date

This will normally be 20 working days after initial submission.

SubmissionTime:

By 4.00pm on the deadline day.

 

Moodle/Turnitin:

Any assessments submitted after the deadline will not be marked and will be recorded as a non-attempt unless you have had an extension request agreed or have approved mitigating circumstances. See the School Moodle pages for more information on extensions and mitigating circumstances.

File Format:

A link to your video (e.g. on YouTube) should be submitted to Moodle in a txt file.

Your assessment should be titled with your: student ID number, module code and assessment ID, e.g. st12345678-CMP7001-PRES1.txt

Late Submission Window Eligibility

Where submissions are eligible for the late-submission window this will be communicated in the relevant assessment submission point within Moodle.

Feedback

Feedback for the assessment will be provided electronically via Moodle. Feedback will be provided with comments on your strengths and the areas which you can improve. View the guidance on how to access your feedback.

All marks are provisional and are subject to quality assurance processes and confirmation at the programme Examination Board.

CMP7001 S1 PRES1 Assessment Criteria

Learning outcomes assessed

On successful completion of this module, students will be able to: 

  1. Critically evaluate the utility of object-oriented principles such as abstraction, reusability, inheritance, and encapsulation.
  2. Adapt to the advanced concepts in programming with polymorphic constructs through generics and collections.
  3. Apply best practices to write secure software through exception handling.
  4. Solve real life problems by using object-oriented constructs and design patterns. Develop proficiency in a high-level programming language at an advanced stage.
  5. Develop proficiency in a high-level programming language at an advanced stage.

Other skills/attributes developed

This includes elements of the Cardiff Met EDGE (Ethical, Digital, Global and Entrepreneurial skills) and other attributes developed in students through the completion of the module and assessment. These will also be highlighted in the module guidance, which should be read by all students completing the module. Assessments are not just a way of auditing student knowledge. They are a process which provides additional learning and development through the preparation for and completion of the assessment. 

This module assessment provides opportunities for students to demonstrate development of  the following EDGE Competencies: 

  • Ethical concerns of team management and human centred approaches to conflict resolution. 
  • Digital management methods are examined and used throughout the module and tasks. 
  • Perspectives of global software development (GSD) are examined and discussed. Task involves reasoning of multi-cultural teams in multiple countries. 
  • How Project Management can used to assist tight budgets and the entrepreneurial development.

Contribution

Description

Learning Outcomes

Marks

15%

Presentation clarity, structure and demonstrated knowledge of the class design.

LO1

15

15%

Presentation clarity, structure and demonstrated knowledge of included polymorphism features.

LO1, LO2

15

30%

Presentation clarity, structure and demonstrated knowledge of the design principles used.

LO1, LO4

30

15%

Presentation clarity, structure and demonstrated knowledge of exception handling.

LO3, LO4

15

15%

Discussion of analysis and problems faced

LO1, LO3

15

10%

Reflection of object-oriented techniques learned on the module.

LO1

10

Total

100

Grade

Criteria

70 – 100%

(Distinction)

An excellent presentation is given with clear audio, well-structured slides and suitable length / timing.  The discussion of the class diagram is both clear and detailed, and an excellent understanding of object-oriented principles is evident.  The discussion of polymorphism is also detailed, demonstrating a deep understanding of the different polymorphic methods used.  An excellent understanding of the design patterns employed along with their implementation and function is also evident.  A very detailed, discussion of the exception handling code is also given, with both the capture of API exceptions and the throwing of custom exceptions discussed. The reflection of techniques used is honest and goes into detail about what was learned, and the difficulties overcome.

60 - 69%

(Merit)

A very good presentation is given with clear audio, well-structured slides and good length / timing, though some aspects could be expanded upon.  The discussion of the class diagram is both clear and a very good understanding of object-oriented principles is evident.  The discussion of polymorphism is also detailed, demonstrating a very good understanding of the different polymorphic methods used.  A very good understanding of the design patterns employed along with their implementation and function is also evident, though some technical elements could be expanded upon and some minor errors are evident.  A very good discussion of the exception handling code is also given, with both the capture of API exceptions and the throwing of custom exceptions discussed, but this could be expanded upon and some minor errors are evident. The reflection of techniques used is honest and goes into detail about what was learned, and the difficulties overcome.

50 - 59%

(Pass)

A good presentation is given with clear audio, but the structure and timing could be improved upon.  The discussion of the class diagram is clear a good understanding of object-oriented principles is evident, though some errors are present.  A good discussion of the polymorphic methods used is also given but could be expanded upon.  A good understanding of the design patterns employed along with their implementation and function is also evident, though some technical elements could be expanded upon, and some minor errors are also present.  A good discussion of the exception handling code is given, but more is needed on throwing custom exceptions and some minor errors are evident throughout. The reflection of techniques used describes the different approaches learned, reading more like a syllabus, but more personal aspects such as how challenges were approached could be included.

40 - 49%

(Narrow Fail)

A basic presentation is given – the audio is unclear in places and the structure and timing could also be improved upon.  A basic discussion of the class diagram is given but more is needed on the object-oriented principles used and some errors are present throughout.  The discussion of the polymorphic methods used could also be expanded upon.  Only a basic understanding of the design patterns employed along with their implementation and function is evident, much more is needed on how the patterns have been implemented and some errors are evident throughout.  A basic discussion of exception handling is given, but it is not clear the student fully understands the mechanisms from the given presentation.   The reflection of techniques used describes the different approaches learned, reading more like a syllabus, little to no personal aspects such as how challenges were approached are evident.

35 - 39%

(Fail)

A very basic presentation is given – the audio is unclear throughout; the structure is confusing, and the presentation length does not fit the requirements.  Little to no understanding of object-oriented principles is evident from the class diagram discussion.  The discussions of the design patterns, polymorphism and exception handling are basic, and need to be significantly expanded.  Numerous technical errors are evident throughout the presentation of these elements. The reflection of techniques is very basic and needs to be significantly expanded.

<35%

(Low Fail)

No meaningful presentation is given.  The audio is of poor quality and there is little to no structure.  Very poor understanding of object-oriented principles is presented, and little to no functioning design patterns, polymorphism or exception handling is evident.  Many details are left out and many technical errors are present throughout.

Buy Custom Answer Of CMP7001 S1 PRES1 Assignment & Raise Your Grades

Get A Free Quote

Need last-minute online assignment help with your CMP7001 Advanced Programming PRES1 Assessment? We’re here for you! Our experienced writers deliver high-quality, AI-free, and plagiarism-free assignments at affordable rates. We know how important your grades are, which is why we guarantee on-time delivery and full academic support. You are assured that our Computer Science Assignment Help will make you productive and help you achieve high grades in your academic year. We’ve got you covered. Check out our free assignment samples and see the quality for yourself. We’re available 24/7 to help you succeed in your academic journey. Contact us now to get expert help and score better—without any stress!

Workingment Unique Features

Hire Assignment Helper Today!


Latest Free Samples for University Students

ACC217 Accounting Information Systems Assignment Sample | SUSS

Category: Assignment

Subject: Accounting

University: Singapore University of Social Sciences | SUSS

Module Title: Accounting Information Systems (ACC217)

View Free Samples

ACC210 Accounting for Decision Making and Control Assignment Answers SUSS

Category: Assignment

Subject: Accounting

University: Singapore University of Social Sciences (SUSS)

Module Title: ACC210 Accounting for Decision Making and Control

View Free Samples

BUS105 Statistics Assignment Sample Solution Docx | SUSS

Category: Assignment

Subject: Business

University: Singapore University of Social Sciences

Module Title: Statistics (BUS105)

View Free Samples

MKT542 Digital Marketing Analytics Assignment Sample Answer

Category: Assignment

Subject: Marketing

University: Singapore University of Socical Sciences

Module Title: MKT542 Digital Marketing Analytics

View Free Samples

ELT201 Understanding Poetry SUSS Assignment Sample

Category: Assignment

Subject: English

University: Singapore University of Social Sciences

Module Title: ELT201 Understanding Poetry

View Free Samples
Online Assignment Help in UK