HND Assignment Brief
Session: February 2022
Programme title BTEC Higher National Diploma (HND) in Computing
Unit number and title 20 Advanced Programming (L5)
Assignment number & title 1 of 1 Advanced Programming (L5)
Unit Leader -
Assessor (s)
Issue Date 8/3/2022
Final assignment
6-11 June 2022
submission deadline
13-18 June 2022
Late submission deadline Learners are required to follow the strict deadline set by the College for
submissions of assignments in accordance with the BTEC level 4 - 7
submission guidelines and College policy on submissions.
Resubmission deadline TBA
Formative feedback will be available in class during the semester. Final
Feedback feedback will be available within 2 - 3 weeks of the assignment
submission date.
• The work you submit must be in your own words. If you use a quote or an
General illustration from somewhere you must give the source.
Guidelines
• Include a list of references at the end of your document. You must give all your
sources of information.
• Make sure your work is clearly presented and that you use readily understandable
English.
• Wherever possible use a word processor and its “spell-checker”.
Internal verifier
Signature (IV of the
Date 08/03/2022
brief) *
,Unit 20: Advanced Programming (L5)
Session: February 2022 Coursework
Recommended maximum words 3,000
You are strongly advised to read “Preparation guidelines of the Coursework
Document” before answering your assignment.
ASSIGNMENT
Aim & Objective
This coursework is designed to allow the learner to demonstrate their broad understanding,
knowledge and the skills gained through the module’s learning journey. The coursework must
be submitted as one document in a report format with the full implementation of the code
project embedded as an object at the end of the report.
Assignment Scenario:
A college in London is looking for a Software Developer to develop simple students’
admission system. The software needs to record students’ detail and then enrol students into
their chosen courses offered by the college. Some of the courses offered by the college are
Technology, Business, Health, Accounting and Education. The college wants to develop an
application that performs the following functions.
• To enter, update, search and where possible delete student’s detail.
• The system should provide options like add new courses, remove courses, change
courses, navigate through courses’ detail and to make a search for a course detail.
• The student’s detail should have Id, first name, last name, dob, phone, her/her picture
(optional), course enrolled in, start date, course fee, and type of student (part-time and
full-time).
• For this application, you may or may not use any database as backend (optional).
• UML diagram should cover use-case diagram, class diagram and Activity diagram.
Programming Environment: You can use Visual Studio 2019 as a programming IDE. You
must present your programming skills using OOP (Object Oriented Programming) in C#.
Expected programming output: For fulfilment of LO3 you need implementation of all the
functionalities, providing that they are complete and follow OOP principles.
The application you develop will be either a desktop with a GUI, Console or web application.
Whichever of the options will be decided by what is used in the teaching of this course.
LO1
C# is an OOP language that allows OOD paradigms such as Abstraction Encapsulation,
polymorphism, and Inheritance. You need to examine the characteristics of the Object-
orientated paradigm in relation to the given scenario. You need to discuss a range of design
patterns from each of the creational, structural, and behavioural patterns and analyse the
,relationship between the object-orientated paradigm and the design patterns to be used in
this application.
N.B. You may use code snippets to aid your discussion. Any code snippets that
appear in your submission must be within the context of the given scenario. Textbook
examples are not acceptable.
LO2
In designing an object-oriented solution, it is important to make use of modelling tools such
as UML diagrams. Your task here is to produce a UML Class diagram to capture the
relationships (generalisation, specialisation, composition) between the entities identified for
the implementation of an OO solution to the scenario. Your UML class diagrams should be
specific to the design pattern you will use in this implementation, and it must be complete
with the necessary fields and methods that will be implemented in LO3.
N.B. All UML diagrams and/or code snippets included in your submission must be
within the context of the given the scenario. Textbook examples are not acceptable.
LO3
Based on your UML class diagrams in LO2 you are required to develop the application in C#
by following object-oriented programming paradigm. The application should implement all the
features listed in the given scenario above. You will select an appropriate design pattern (with
justification) to implement and evaluate the pattern used. Use Visual Studio 2019 community
edition or any other IDE of your choosing as your development tool.
N.B. In This section, you should explain the key elements of your implementations,
the rationale for your approach etc., for example how your implementation relates to
your design in LO2, its relationship with the design patterns discussed and your
evaluation and test results. This can be supported with code snippets. Your complete
code will be submitted as an embedded object in the appendix section also.
LO4
Discuss a range of design patterns (Creational, structural, and behavioural pattern types)
with reference to relevant examples as applied to the given scenario. Reconcile the most
appropriate design pattern to the given scenario and critically evaluate the design patterns
against a range of scenarios with justification of your choices.
N.B. Any models, code etc. included in this section must be within the context of the
given the scenario. Textbook examples alone are not acceptable.
Appendices
Note: You should attach all the supporting documents as a separate file in the appendix
section of your assignment. Without appropriate documents attached, your work will not be
marked.
, Relevant Information
To gain a Pass in a BTEC HND Unit, you must meet ALL the Pass criteria; to gain a Merit,
you must meet ALL the Merit and Pass criteria; and to gain a Distinction, you must meet ALL
the Distinction, Merit and Pass criteria.
1. Learning Outcomes and Assessment Criteria
Learning Outcomes and Assessment Criteria
Pass Merit Distinction
LO1 Examine the key components related to the object-
orientated programming paradigm, analysing design pattern
types
D1 Analyse the relationship
M1 Determine a design pattern from between the object-orientated
P1 Examine the characteristics of each of the creational, Structural and paradigm and design patterns.
the Object-orientated paradigm as behavioural pattern types.
well as the various class
relationships.
LO2 Design a series of UML class diagrams
D2 Define/refine class
P2 Design and build class diagrams M2 Define class diagrams for specific diagrams derived from a given
using a UML tool. design patterns using a UML tool. code scenario using a UML
tool.
LO3 Implement code applying design patterns
D3 Evaluate the use of OOP
P3 Build an application derived from UML M3 Develop code that paradigm for the given purpose
class diagrams. implements OOP features for specified in M3.
the given case study.
LO4 Investigate scenarios with respect to design patterns
P4 Discuss a range of design patterns with M4 Reconcile the most D4 Critically evaluate a range
relevant examples of creational, structural appropriate design pattern fromof design patterns against the
and behavioural pattern types. a range with a series of given range of given scenarios with
scenarios. justification of your choices.
Department of Computing
Unit 20: Advanced Programming (L5)