Unit 1 Programming

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Unit 1: Programming

Authorised Assignment Brief 1


Student Name/ ID
Number

Unit Number and Unit 1: Programming


Title

Academic Year 2022-2023

Unit Tutor Sir Muhammad Raafay Faisal

Assignment Title Introduction to Algorithms and Programming with an IDE


Issue Date 28-02-2023

Submission Date 31-05-2023

Submission Format

The assignment submission is in the form of the following.


A formal 10-minute presentation (10-15 slides as a guide, with supporting speaker
notes) to communicate an investigation to a technical audience explaining, comparing and
evaluating the key features and characteristics of the different programming paradigms
used in a specified application.
Program Source Code — annotated/commented source should be produced in the format
created by the programming language selected (for example: .py, .cs, .vb, .txt, .java files).
Implemented program (final working version) in format suitable to be run and assessed for
functionality — this could be as project/solution files or final compiled executable.
A written report to identify and define the algorithms used in the development of the
solution as well as an analysis and discussion of the steps taken in writing the program and
the challenges faced. The report will also clearly explain any coding standards used, as well
as how algorithms have been enhanced during the course of development.
The recommended word limit is 2,000—2,500 words, although you will not be penalised for
exceeding the total word limit.
You are required to make use of headings, paragraphs and subsections as appropriate, and
all work must be supported with research and referenced using the Harvard referencing
system.

Effective assignment design for the Higher Nationals in Computing/Computing for


England: Authorised Assignment Briefs — Issue 1 — August 2022 O Pearson Education 1
A formal 10-minute presentation (10-15 slides as a guide, with supporting speaker
notes) to communicate an investigation to a technical audience, demonstrating the key
features and characteristics of the debugging process and how these features are
implemented in an Integrated Development Environment (IDE) and applied to application
development.
A written report to evaluate the algorithms used in the development of the solution, as
well as an evaluation of the use of the IDE and the role of coding standards in software
development teams.
The recommended word limit is 1,500—2,000 words, although you will not be penalised for
exceeding the total word limit.
You are required to make use of headings, paragraphs and subsections as appropriate, and
all work must be supported with research and referenced using the Harvard referencing
system.

Unit Learning Outcomes

LO1 Define basic algorithms to carry out an operation and outline the process of
programming an application
LO2 Explain the characteristics of procedural, object-orientated and event-driven-
programming
LO3 Implement basic algorithms in code using an IDE
LO4 Determine the debugging process and explain the importance of a coding standard.

Transferable skills and competencies developed

Computing-related cognitive skills


• Computational thinking(including its relevance to everyday life)
• Demonstrate knowledge and understanding of essential facts, concepts, principles and
theories relating to computing and computer applications
• Recognise and analyse criteria and specifications appropriate to specific problems, and
plan strategies for their solutions
• Critical evaluation and testing: analyse the extent to which a computer-based system
meets the criteria defined for its current use and future development
• Methods and tools: deploy appropriate theory, practices and tools for the
design, implementation and evaluation of computer-based systems.
Computing-related practical skills
• The ability to specify, design and construct reliable, secure and usable computer-based
systems
• The ability to evaluate systems in terms of quality attributes and possible trade-offs
presented within the given problem

Effective assignment design for the Higher Nationals in Computing/Computing for England:
2 Authorised Assignment Briefs — Issue 1 — August 2022 O Pearson Education Limited 2022
• The ability to deploy effectively the tools used for the construction and documentation
of computer applications, with particular emphasis on understanding the whole process
involved in the effective deployment of computers to solve practical problems
• The ability to critically evaluate and analyse complex problems, including those with
incomplete information, and devise appropriate solutions within the constraints of a
budget.
Generic skills for employability
• Intellectual skills: critical thinking; making a case; numeracy and literacy
• Self-management: self-awareness and reflection; goal setting and action planning
• Independence and adaptability; acting on initiative; innovation and creativity
• Contextual awareness, e.g. the ability to understand and meet the needs of individuals,
business and the community, and to understand how workplaces and organisations are
governed.)

Vocational scenario

You have just started a new role as a junior Software Developer at AQ Digital Solutions
(AQDS), an independent software development company that designs and builds bespoke
software solutions for various companies of different sizes that cover a range of different
industries. The software that they design uses a wide range of technologies, from simple
stand-alone programs to large web-based applications.
AQDS has been approached by a small, local company — North Sussex judo — that specialises
in providing judo training sessions to people from the local community. North Sussex judo
caters to people of all ages and experience, from expert to beginner.
North Sussexjudo has requested a simple program that will calculate the cost of training
fees for their athletes each month.
The CEO of the company has reviewed the client requirements and has determined that this
is a suitable project for you to take on. The company wants to see how you use and apply
the ADQS development environments and code standards.
The requirements are that North Sussex judo wants a program that will allow a user to
enter the following information:
• athlete name
• training plan
• current weight in kilograms (kg)
• competition weight category
• number of competitions entered this month
• option to add the number of hours private coaching.
For each athlete, the program should then output the following information:
• the athlete’s name

Effective assignment design for the Higher Nationals in Computing/Computing for


England: Authorised Assignment Briefs — Issue 1 — August 2022 O Pearson Education 3
• an itemised list of all costs for the month
• the total cost of training and competitions for the month
• how their current weight compares to their competition weight category.
North Sussexjudo currently have six athletes enrolled on their training program, but they
would like the ability to register more.
You should use the additional information on the next page to help you when developing
your program.
The client has not specified any Graphical User Interface, but the CEO has left the design of
the program completely up to you.
Once the program has been built, the CEO has asked you to report back to them on how
you designed and developed the algorithms required, as well as how you converted these
algorithms into a final program and to show any issues you encountered.
As part of your report, the CEO wants you create a presentation for the development team
showing the different programming paradigms available, as well as the debugging tools you
used as part of the program development, so that the development team can review your
progress.
Additional information
Training Plan - Prices (£GBP)
Be ginner (2 sessions per week) - weekly £25.00

Intermediate (3 sessions per week) — f30.00


weekly fee
Elite (5 sessions per week) - weekly fee £35.00
Private tuition - per hour £9.50
Competition entry fee — per competition £22.00
Weight categories
Categories Upper weight limit (kg)
Heavyweight Unlimited (Over 100)
Light-Heavyweight 1 00
Middleweight 90
Light-Middleweight 81
Lightweight 73
Flyweight 66
• Athletes can receive a maximum of five hours’ private coaching a week
• Only Intermediate and Elite athletes can enter competitions
• Competitions are held on the second Saturday of each month
• All prices and costs should be displayed as currency to two decimal places
• The program deals with user error by displaying suitable messages to the user and then
prompting them for another go
• North Sussex judo assumes that a month consists of four weeks.

Effective assignment design for the Higher Nationals in Computing/Computing for England:
4 Authorised Assignment Briefs — Issue 1 — August 2022 O Pearson Education Limited 2022
Assignment activity and guidance
Activity 1
Produce a formal presentation (with supporting notes) for AQDS that explores the features
and characteristics of the three different programming paradigms — Event Driven, Object
Oriented and Procedural — in a selected application. The selected application source code
will need to implement all three paradigms.
Your presentation should include:
• a brief explanation about what the selected application is and what it does
• a general discussion of the three code paradigms, with specific reference to their
characteristics and how each one is related
• a comparison of how the three programming paradigms have been used in the given
application source code
• a critical evaluation of how the source code implements all three paradigms in terms of
code structure and characteristics.
Activity 2
You are required to develop a program for North Sussex judo that makes use of appropriate
algorithms to fulfil the given client requirements. You should make use of whichever tools
and techniques are most appropriate for your chosen coding paradigm and for the nature
of the software solution.
You are to write a report that details the process that would be required to design the
algorithm for the solution and how you turned the algorithm into a working application.
Your report should include the following.
• -A definition, written in the design tool of your choosing, of the algorithm required for
the implementation of the North Sussex judo program
• An outline of the steps required to build the application
• A description of the steps required for converting the algorithm into a working program,
including identification of a suitable programming language
• An analysis of the relationship between the algorithm and program code to be produced
(e.g. parts of the algorithm that would remain the same, changes that would have to be
made)
• An analysis of the possible challenges you would face when converting the designed
algorithm into program code (e.g. data types/structures available in the chosen
language, control structures required)
• An explanation of the coding standards you used in your source code.
As part of your written report, you should clearly show how you have enhanced your
original algorithm, using the features of the IDE to manage the development process. This
could include:
• identifying and solving any logical errors in the original algorithm
• debugging any errors in the program

Effective assignment design for the Higher Nationals in Computing/Computing for


England: Authorised Assignment Briefs — Issue 1 — August 2022 O Pearson Education 5
• using version control within your IDE to track and monitor changes in the algorithm
• using performance monitoring tools to optimise the algorithm
• refining and optimising the algorithm using different code constructs.
You will include your final, annotated source code and working application as part of your
report.
Activity 3
Produce a formal presentation (with supporting notes) for AQDS that explains the
debugging features available to the developer in your chosen IDE and how they have been
used in the development of the solution for North Sussexjudo.
Your presentation should include:
• a brief description of the IDE chosen for this project
• an explanation of the debugging process
• an explanation of the debugging features available in your chosen IDE
• an examination of how the debugging process can be used to develop more secure and
robust applications.
Activity 4
You are to write an evaluative report for the CEO of AQDS that provides a reflective overview
of how the process evolved, from algorithm design to implementation, and how the use of
the IDE and code standards are important for working in a company like AQDS.
Your report should include:
• an evaluation of how the algorithm you designed for North Sussex judo was finally
implemented
• an evaluation of the relationship between the written algorithm and the actual source
code
• an evaluation of the use of the IDE you chose to develop the North Sussex judo
application. As part of your evaluation, you will need to consider what the development
would have been like if you did not have access to the IDE
• an evaluation of the role and purpose of the coding standards you used, making specific
reference to why it is necessary for software development teams as well as individual
programmers.

Recommended resources
Please note that the resources listed are examples for y'ou to use as a starting point in your
research - the list is not dej'initive.

Weblinks - general:
http://www.rosettacode.org (2016) programming chrestomathysite [online] Available at:
http://www.rosettacode.org/wiki/Rosetta_Code [Accessed 1 August 2022]

Effective assignment design for the Higher Nationals in Computing/Computing for England:
6 Authorised Assignment Briefs — Issue 1 — August 2022 O Pearson Education Limited 2022
https://github.com/ (2022) The complete developer platform to build, scale, and deliver secure
software [online] Available at: https://github.com/ [Accessed 1 August 2022]
https://theruntime.com/ (n.d.) Difference Between Algorithm and Code [online] Available at:
https://theruntime.com/algorithm-vs-code/ [Accessed 1 August 2022]
https://www.codementor.io (n.d.) Comparing Programming Paradigms: Procedural
Programming vs Object-oriented Programming [online] Available at:
https://www.codementor.io/learn-programming/comparing-programming-paradigms-
procedural-programming-vs-object-oriented-programming [Accessed 1 August 2022]
https://www.codingninjas.com/ (2020) Types of Algorithms and Their Uses [online] Available at:
https://www.codingninjas.com/blog/2020/06/04/types-of-algorithms-and-its-uses/ [Accessed
1 August 2022]
https://www.freecodecamp.org/ (2022) What is Debugging? How to Debug Your Code for
Beginners [online] Available at: https://www.freecodecamp.org/news/what-is-debugging-
how-to-debug-code/ [Accessed 1 August 2022]
https://www.geeksforgeeks.org/ (2022) Introduction of Programming Paradigms [online]
Available at: https://www.geeksforgeeks.org/introduction-of-programming-paradigms/
[Accessed 1 August 2022]
https://www.mdpi.com/ (2022))ournaIs on algorithms [online] Available at:
https://www.mdpi.com/journal/algorithms [Accessed 1 August 2022]
https://www.sourcecodester.com/ (2022) Free Source Code [online] Available at:
https://www.sourcecodester.com/ [Accessed 1 August 2022]
https://www.technologyuk.net/ (n.d.) Event-driven Programming[online] Available at:
https://www.technologyuk.net/computing/software-development/software-design/event-
driven-programming.shtml [Accessed 1 August 2022]
Weblinks - code learning tools:
https://repIit.com/ (2022) Code, create, and learn together [online] Available at:
https://repIit.com/ [Accessed 1 August 2022]
https://www.codecademy.com/ (2022) join the millions learning to code with Codecademyfor
free [online] Available at: https://www.codecademy.com/ [Accessed 1 August 2022]
HYPERLINK "https://www.codechef.com/"https://www.codechef.com (2022) Self-Learning
coding roo/ [online] Available at: HYPERLINK
"https://www.codechef.com/"https://www.codechef.com [Accessed 1 August 2022]
https://www.codewars.com/ (2022) Achieve Mastery Through Challenge [online] Available at:
https://www.codewars.com/ [Accessed 1 August 2022]
https://www.codingame.com/start (2022) STEP UP YOUR CODING GAME[online] Available at:
https://www.codingame.com/start [Accessed 1 August 2022]
https://www.w3schools.com/ (2022) Learn to Code [online] Available at:
https://www.w3schools.com/ [Accessed 1 August 2022]
journal articles:
Adragna, P. (n.d.) Software debugging techniques. Available at:

Effective assignment design for the Higher Nationals in Computing/Computing for


England: Authorised Assignment Briefs — Issue 1 — August 2022 O Pearson Education 7
https://cds.cern.ch/record/1 1 00526/files/p71.pdf
Mccauley R. Fitzgerald S. Lewandowski G. Simon B. Thomas L. Zander C. and Murphy L.
(2008) Debugging: A review of the literature from an educational perspective. Computer
Science Education Vol. 18, No. 2, june 2008, 67—92 doi:1 0.1080/089934008021 14581
Popic, S. (2018) The Benefits of the Coding Standards Enforcement and it’s Influence on the
Developers. Coding Behaviour: A Case Study on Two Small Projects’26th Telecommunications
forum TELFOR 2018. doi:10.1 1 09/TELFOR.2018.8612149 Available at:
https://www.researchgate.net/publication/328912784_
Reeves j. (1992) What is Software Design? C++ journal. Available at: http://www-
public.telecom-sudparis.eu/—gibson/Teaching/Teaching-ReadingMateriaI/Reeves92.pdf
[Accessed 1 August 2022]
Reading:
Aho, A. V. et al. (1987) Data Structures and Algorithms. 1 st edn. Addison-Wesley.
Edwards S. et al. (2012) Problem Solving and Algorithms. Available at:
’http://sofia.cs.vt.edu/cs1 1 14-ebookIeU’chapter4.html [Accessed 1 August 2022]
Hunt, A. et al. (2000) The Pragmatic Programmer: From)ourneyman to Master. 1 st edn.
Addison-Wesley.
McConnell, S. (2004) Code Complete: A Practical Handbook of Software Construction. 2nd Edn.
Microsoft Press.
Mitchell, J. (2002) Concepts in Programming Languages, Cambridge University Press. Available
at: http://theory.stanford.edu/-jcm/books/cpI-sample.pdf[Accessed 1 August 2022]
HN Global
HN Global HN Global (2021) Reading Lists. Available at:
https://hngIobaI.highernationaIs.com/learning-zone/reading-lists
HN Global (2021) Student Resource Library. Available at:
https://hngIobaI.highernationaIs.com/subjects/resource-libraries
HN Global (2021) Textbooks. Available at:
https://hngIobaI.highernationaIs.com/textbooks

Effective assignment design for the Higher Nationals in Computing/Computing for England:
8 Authorised Assignment Briefs — Issue 1 — August 2022 O Pearson Education Limited 2022
Learning Outcomes and Assessment Criteria
Pass Merit Distinction
LOI Define basic algorithms to carry out an operation
and outline the process of programming an application
P1 Define an algorithm and M1 Analyse the process D1 Evaluate the implementation of
outline the process in of writing code, including an algorithm in a suitable language
building an application. the potential challenges and the relationship between the
P2 Determine the steps fa Cf2d
written algorithm and the code
‘ variant.
taken from writing code to
execution.
LO2 Explain the characteristics of procedural, object-
orientated and event-driven programming
P3 Discuss what procedural, M2 Compare the D2 Critically evaluate the source
object-orientated and procedural, object- code of an application that
event-driven paradigms are; orientated and event- implements the procedural, object-
their characteristics and the driven paradigms used in orientated and event-driven
relationship between them. given source code of an paradigms, in terms of the code
application. structure and characteristics.
LO3 Implement basic algorithms in code using an IDE
P4 Write a program that M3 Enhance the D3 Evaluate the use of an IDE for
implements an algorithm algorithm written, using development of applications
using an IDE. the features of the IDE to contrasted with not using an IDE.
manage the
development process.
LO4 Determine the debugging process and explain the
importance of a coding standard.
P5 Explain the debugging M4 Examine how the D4 Evaluate the role and
process and the debugging debugging process can purpose of a coding standard
facilities available in the IDE. be used to help develop and why it is necessary in a team
P6 Explain the coding more secure, robust as well as for the individual.
standard you have used in applications.
your code.

Effective assignment design for the Higher Nationals in Computing/Computing for


England: Authorised Assignment Briefs — Issue 1 — August 2022 O Pearson Education 9

You might also like