0% found this document useful (0 votes)
30 views9 pages

Programming Assignment Brief for Higher Nationals

The document provides an assignment brief for a student to complete a programming project. It includes: - Details of the assignment such as the submission format, word count, and deadlines - Learning outcomes related to algorithms, programming paradigms, debugging, and coding standards - A scenario where the student must build a program for a judo training company to calculate athlete fees - Requirements for the program to take in athlete details and output itemized costs and totals - Additional information on training plans, weight categories, and program functionality The student is asked to write a report on the algorithms used, issues encountered, and give a presentation comparing programming paradigms and debugging tools used. The goal is to

Uploaded by

taimoorgamer125
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views9 pages

Programming Assignment Brief for Higher Nationals

The document provides an assignment brief for a student to complete a programming project. It includes: - Details of the assignment such as the submission format, word count, and deadlines - Learning outcomes related to algorithms, programming paradigms, debugging, and coding standards - A scenario where the student must build a program for a judo training company to calculate athlete fees - Requirements for the program to take in athlete details and output itemized costs and totals - Additional information on training plans, weight categories, and program functionality The student is asked to write a report on the algorithms used, issues encountered, and give a presentation comparing programming paradigms and debugging tools used. The goal is to

Uploaded by

taimoorgamer125
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

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:
[Link] (2016) programming chrestomathysite [online] Available at:
[Link] [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
[Link] (2022) The complete developer platform to build, scale, and deliver secure
software [online] Available at: [Link] [Accessed 1 August 2022]
[Link] (n.d.) Difference Between Algorithm and Code [online] Available at:
[Link] [Accessed 1 August 2022]
[Link] (n.d.) Comparing Programming Paradigms: Procedural
Programming vs Object-oriented Programming [online] Available at:
[Link]
procedural-programming-vs-object-oriented-programming [Accessed 1 August 2022]
[Link] (2020) Types of Algorithms and Their Uses [online] Available at:
[Link] [Accessed
1 August 2022]
[Link] (2022) What is Debugging? How to Debug Your Code for
Beginners [online] Available at: [Link]
how-to-debug-code/ [Accessed 1 August 2022]
[Link] (2022) Introduction of Programming Paradigms [online]
Available at: [Link]
[Accessed 1 August 2022]
[Link] (2022))ournaIs on algorithms [online] Available at:
[Link] [Accessed 1 August 2022]
[Link] (2022) Free Source Code [online] Available at:
[Link] [Accessed 1 August 2022]
[Link] (n.d.) Event-driven Programming[online] Available at:
[Link]
[Link] [Accessed 1 August 2022]
Weblinks - code learning tools:
[Link] (2022) Code, create, and learn together [online] Available at:
[Link] [Accessed 1 August 2022]
[Link] (2022) join the millions learning to code with Codecademyfor
free [online] Available at: [Link] [Accessed 1 August 2022]
HYPERLINK "[Link] (2022) Self-Learning
coding roo/ [online] Available at: HYPERLINK
"[Link] [Accessed 1 August 2022]
[Link] (2022) Achieve Mastery Through Challenge [online] Available at:
[Link] [Accessed 1 August 2022]
[Link] (2022) STEP UP YOUR CODING GAME[online] Available at:
[Link] [Accessed 1 August 2022]
[Link] (2022) Learn to Code [online] Available at:
[Link] [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
[Link] 1 00526/files/[Link]
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:
[Link]
Reeves j. (1992) What is Software Design? C++ journal. Available at: [Link]
[Link]/—gibson/Teaching/Teaching-ReadingMateriaI/[Link]
[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:
’[Link] 1 14-ebookIeU’[Link] [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: [Link] 1 August 2022]
HN Global
HN Global HN Global (2021) Reading Lists. Available at:
[Link]
HN Global (2021) Student Resource Library. Available at:
[Link]
HN Global (2021) Textbooks. Available at:
[Link]

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

Common questions

Powered by AI

The debugging process plays a crucial role in identifying and rectifying errors in the code, which contributes to the security and robustness of applications. In the North Sussex judo project, debugging helps in detecting logical errors, fixing bugs that could cause incorrect fee calculations or data mismatches, and ensuring the code adheres to security best practices. IDEs provide debugging tools that allow developers to step through execution lines, evaluate variable states, and simulate different user inputs. This systematic approach ensures that the final application is not only functionally correct but also resistant to common vulnerabilities and errors .

Converting an algorithm into program code often presents challenges such as selecting the appropriate data structures, ensuring efficient control flows, and handling language-specific syntax and limitations. In the North Sussex judo application, addressing these challenges involves choosing the right programming language that aligns with the algorithm requirements, testing data types for compatibility with operations, and utilizing IDE features such as debugging tools to refine the code. Version control can help track changes, allowing the team to test different approaches without losing progress. By focusing on these areas, the transition from algorithm to functioning code can be made smoother and more efficient .

Critically evaluating the integration of different programming paradigms involves examining how each paradigm's principles contribute to the overall software architecture. It's essential to assess whether procedural code handles repetitive tasks efficiently, if object-oriented structures promote data encapsulation and reuse, and if event-driven components manage interactivity effectively. The North Sussex judo application can be used as an example where these paradigms are applied to manage different aspects like data processing, user interaction, and program flow. Evaluating their integration involves analyzing the flexibility and maintainability of the codebase, identifying areas where paradigms complement or complicate each other, and proposing enhancements for seamless interoperability .

A coding standard ensures consistency and clarity in code writing, which is crucial for teamwork, as it allows multiple developers to work seamlessly on the same codebase. In the North Sussex judo project, applying a collective coding standard would enhance code readability, ease debugging and maintenance, and reduce the time needed for new developers to understand the project. This approach will be beneficial in maintaining quality and coherence, especially when the team expands or when the application requires updates or debugging .

The choice of an Integrated Development Environment (IDE) significantly impacts the efficiency of the software development process. A suitable IDE provides essential tools like code editors, debuggers, compilers, and version control systems, which streamline development. For the North Sussex judo project, an IDE can enhance productivity by offering syntax highlighting, error suggestions, and automated testing facilities. Efficient project management features within the IDE aid in organizing code, facilitating teamwork, and tracking development progress. These capabilities reduce development time, support error-free coding, and ultimately enhance the application's reliability and maintenance .

Understanding the relationship between algorithms and application code is crucial for optimizing software development processes as it ensures efficient translation of logic into executable code. By identifying parts of an algorithm that directly map to code structures, developers can streamline coding efforts, enhance performance, and reduce complexity. In the North Sussex judo project, aligning algorithm design with code execution supports structured implementation, minimizes redundancy, and facilitates effective troubleshooting. This understanding aids developers in choosing optimal data structures and control flows, ultimately leading to robust and high-performing applications .

Procedural programming focuses on a sequence of tasks to accomplish a goal through procedures or routines. It is highly structured and ideal for tasks that follow a repetitive pattern. Object-oriented programming (OOP) is centered around objects and classes, focusing on data abstraction and encapsulation, which makes it suitable for managing complex data structures and fostering code reusability and scalability. Event-driven programming is driven by events like user actions or messages from other programs, making it ideal for applications that require a high level of interactivity. In the North Sussex judo application, procedural paradigms could be used for sequential cost calculations, OOP for managing athlete data and training plans, and event-driven paradigms for real-time updates on competition schedules and weight categories. By integrating these paradigms, a robust, efficient, and user-friendly application can be developed .

Critical evaluation and testing are crucial for ensuring that a computer-based system meets its current use and is adaptable for future developments. This process involves analyzing system functionality, identifying deficiencies, and ensuring the system meets user requirements and expectations. Through rigorous testing, developers can validate that the application performs efficiently under various conditions and that any potential areas for scalability are addressed. For future development, these evaluations help to identify possible enhancements, ensuring that the system remains relevant and functional as demands evolve. This approach not only minimizes risks but enhances the system's longevity and user satisfaction .

Self-management skills significantly improve the development process by encouraging structured progress through goal setting and reflection. Setting clear objectives allows team members to align their efforts with the project requirements, such as achieving functional modules by specific deadlines in the North Sussex judo project. Reflection enables analysis of past performance, identification of improvement areas, and application of lessons learned to future tasks. This mindset fosters adaptability, enhances time management, and drives continuous improvement, leading to more efficient development and higher quality outcomes .

Performance monitoring tools in an IDE provide insights into code efficiency and application performance, highlighting areas that require optimization. Utilizing these tools helps identify bottlenecks, memory leaks, and inefficient algorithms, allowing developers to refine code for better speed and reduced resource consumption. During the development of the North Sussex judo application, performance monitoring can ensure the software runs efficiently even as more athletes are added to the database or additional features are incorporated. This leads to a more reliable and responsive application, enhancing user satisfaction and reducing post-deployment issues .

You might also like