Programming Assignment
Programming Assignment
Assessor Feedback:
LO1. Define basic algorithms to carry out an operation and outline the process of programming an applicat
LO2. Explain the characteristics of procedural, object-orientated and event-driven programming, conduct
an Integrated Development Environment (IDE).
LO4. Determine the debugging process and explain the importance of a coding standard.
* Please note that grade decisions are provisional. They are only confirmed once internal and
external moderation has taken place and grades decisions have been agreed at the assessment
board.
• Please note that grade decisions are provisional. They are only confirmed once internal and
external moderation has taken place and grades decisions have been agreed at the assessment
board.
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the body
except for the before mentioned compulsory information will result in rejection of your
work.
2. Avoid using page borders in your assignment body.
3. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
4. Ensure that you give yourself enough time to complete the assignment by the due date.
5. Excuses of any nature will not be accepted for failure to hand in the work on time.
6. You must take responsibility for managing your own time effectively.
7. If you are unable to hand in your assignment on time and have valid reasons such as illness,
you may apply (in writing) for an extension.
8. Failure to achieve at least PASS criteria will result in a REFERRAL grade.
9. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will
then be asked to complete an alternative assignment.
10. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both intext citation
and a reference list.
11. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course
12. Use word processing application spell check and grammar check function to help editing
your assignment.
13. Use footer function in the word processor to insert Your Name, Subject, Assignment No,
and Page Number on each page. This is useful if individual sheets become detached for any
reason.
Student Declaration
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the
consequences of plagiarism. I understand that making a false declaration is a form of malpractice.
Submission Date
Submission Format
The assignment submission is in the form of the following.
• The submission should be in the form of an individual written report written in a
concise, formal technical style using single spacing and font size 12. • Student has to
submit the complete GUI System with the database.
LO4. Determine the debugging process and explain the importance of a coding standard
• 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.
A. The Fibonacci numbers are the numbers in the following integer sequence.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ……..
Fn = F n-1 + F n-2
n! = n * (n - 1) * …….. 1
Define what an algorithm is and outline the characteristics of a good algorithm. Write the
algorithms to display the Fibonacci series and the factorial value for a given number using
Pseudo code. Determine the steps involved in the process of writing and executing a
program and carry out an analysis of writing the code phase by discussing the potential
challenges faced.
Take a sample number and dry run the above two algorithms. Show the outputs at the end
of each iteration and the final output. Examine what Big-O notation is and explain its role in
evaluating efficiencies of algorithms. Write the Python program code for the above two
algorithms and critically evaluate their efficiencies using Big-O notation.
Grifindo
LankaToys is a small
-scale Toy building companyiswhich
inSri Lanka
and
currently they have
20 employees working
thisatcompany
. Grifindo Lanka Toys is the Sri
Lankan branch of Grifindo Toys Company which is in UK and previously they have hired your
freelance company to develop their payroll system and now they are hiring you again to
develop their leave management system for the Sri Lankan
Grifindo
Lanka
branch,
Toys
Company
.
Specifications forleave
the management
system as follows,
This leave management system has two user roles, and they are
Admin,
Employee
and theyand
are having two separate desktop applications to interact with the centralized
. Developerdatabase
can consider the centralized database
as a local database for the development purposes.
1. Employee Application.
• Employee should be able to login to the system with the employee number and
the given password.
Note:- Normally an employee has 14 annual leaves, 7 casual leaves for a year and
2 shorts leaves per a month. Employee can apply casual leaves as they want
before their defined roaster starts. Annual leaves can be applied before 7 days
prior to the leave date. Short leave duration is 1 hour and 30 minutes and can be
applied for up coming time slots.
• Employee can view the status of applied leaves (Whether applied leaves are
approved or not).
• Employee can view their remaining leaves and history of applied leaves.
2. Admin Application
• Admin should be able to define the number of annual leaves, casual leaves for a
year and 2 short leaves per every month for every employee. (Newly joined
employees will less number of leaves compared to permanent employees)
• Admin should be able to define the roaster starting time and end time for each
employee.
Activity 3
3.1. Write the complete pseudocode for the employee apply leave function of the
above system. Use the visual studio IDE (using C#.net) to implement the above two
applications. Ideally there should be two separate classes for the above two applications and
the developer can decide the methods which need to include in those classes. Design the
suitable database structure for keeping the data of the above system.
Activity 4
4.1 Design and build two small GUI systems for the above scenario and those two applications
should be complete functional systems with all the functions which has described in the
above scenario with the database structure which has designed in activity 3.
4.2 Examine debugging process and the features available in Visual studio IDE for debugging
your code more easily. Evaluate how you used the debugging process to develop more
secure, robust application with examples.
4.3 Explain and outline the coding standards you have used in your application development.
Critically evaluate why a coding standard is necessary for the team as well as for the
individual.
HN Global:
HN Global HN Global (2021) Reading Lists. Available at:
https://hnglobal.highernationals.com/learning-zone/reading-lists
Date Submitted:
Balakrishnan Himeshkar
COL00226785 / E021831
ALGORITHMS
WHAT IS ALGORITHM?
An algorithm is a set of precise steps assigned to perform a particular task. This is also can be
described as a recipe to bake a cake. Complicated series of operations used to analyze large
data structures and taking measures to solve them as per the research done on
(DataCamp,Sep 2023)
Algorithms are more essential to computer science that they play huge role in designing
efficient problem-solving outputs. In addition, they are also important for anyone interested
in contributing for data structures according to (geeksforgeeks,May 2024)
The term "algorithm" refers to a collection of guidewords to be followed in computations or
other problem-solving procedures. This adds up the algorithm definition. It is also a process
for handling a mathematical equation in several iterations, sometimes using recursive
operations. It is often easy or complex, depending upon the nature of the problem according
to (the economic times,2024)
As for next briefing, we shall discuss about the types of the algorithms.
Types of Algorithms.
1. Brute force Algorithms:
a. A brute force algorithm involves blind increasing of all possible
solutions to arrive at one or more solutions. A simple example of a
brute force algorithm would be trying to open a safe. Without any
knowledge of the combination that can open the safe, the only way
forward would be trying all possible combinations of numbers to
open it. The same would be the case for someone trying to get
2. Recursive Algorithm:
a. Crucial for this sort of algorithm is the recursion base factor; it is a process of
simplification. Hereby, a problem is divided into smaller versions of the same
problem because some called trouble will call the problem recursively until it
resolves. Solving popular problems include Factorial of a number, Fibonacci
series, and many more using recursive algorithms.
3. Divide and Conquer Algorithm :
a. This is a method which splits the problem by two operations represented by
the dissection of the problem into smaller connected problems and taking us
first into the solution in solving a part of the problems all by yourself, and
then by making a summation in the second operation to come out with the
whole solution.
4. Dynamic Programming Algorithm :
a. It also is known as a memorization strategy. It tries to memorize the result
from the past computation instead of re-computing it. It used relationships
in dynamic programming, which broke down the problem into smaller sub-
problems, some of which overlap and store the solution for future use.
5. Greedy Algorithm:
a) Here, the algorithm iteratively determines a solution. It may be able to
guarantee that the solution stays out of those possibilities that previously
looked feasible.
6. Backtracking algorithm:
7. Randomized Algorithm:
a) A procedure was making choices in the process of a computation uses at
least one random number.
8. Sorting Algorithm:
a) This means the methodical arrangement of data in either ascending or
descending order depending on the sorting technique applied. If positions
data to its place very fast.
9. Search Algorithm:
a) The actual process for searching one key among data items which are sorted
or unsorted is defined by the algorithm of the search.
10. Hashing Algorithms:
a) Although hashing methodologies provide an index with key identification,
they operate similarly to search algorithms. A Hashing Algorithm can be used
for the checking of the passwords.
PSEUDO CODES
Most programmers are familiar with this pseudo-code even if they do not have
much acquaintance with programming languages.
This allows the programmer to completely focus on the algorithmic development
of the code.
It cannot be compiled into an executable code.
Step 1: START
Step 2: Declare variable n1, n2, sum, n, i
Step 2: Initialize variables: n1 = 0, n2 = 1, i = 2
Step 3: Read n
Step 4: Repeat this step until i <= n:
sum = n1 + n2
print sum
n1 = n2
n2 = sum
i=i+1
function factorial(n):
if n < 0:
return "Invalid input"
else if n == 0 or n == 1:
return 1
else:
result = 1
for i from 2 to n:
result = result * i
return result
DRY RUN ATTEMPTING THE FIBONACCI SEQUENCE AND THE FACTORIAL VALUE.
1. Problem analysis: The following are the details required at the first step, that is,
programming. At this stage, the problem should be described well. The
requirements on input/output, the requirements about processing, requirements
about the memory of the program, the way error handling is to be done, and the
integration with other programs are all the variables to be thought at this stage
BEGIN
Input A, B
SUM = A+B
AVG = SUM / 2
DISPLAY AVG
END
3. Flowcharts: Flowcharts are a pictorial tool that depicts the order of sequences/steps
or stages to be involved when a program is in execution. Now, all the steps
4. Coding: A program designed needs development or coding. During this stage, the
programmer writes instructions called code in some computer language to solve
problems. Each step in the coding process is based on the information that we
obtained in the earlier steps of the process. Requirements together with resources
indicate what language is chosen. Grammatical errors, spelling mistakes,
punctuation missing commas, and blank labels are also removed during this stage.
5. Debugging: As much as frequently we may test that faults may arise during the
coding; we remove all the errors in this stage from the software. Here, manually the
software is run multiple times with the help of a method named DRY RUN until all
errors have been corrected and the system becomes error-free.
Typical errors that may happen to the programs include the following:
Non-initialized variables.
Reversing the operands' order.
Errors with the characters and numbers.
6. Testing: In this development stage of the program, we have to test the program
with fictitious data comprising typical unexpected and invalid data to find out
whether the behavior and output produced is correct the moment data is supplied
7. Final Output: The TRUE DATA reaches the software at the end after passing through
all the stages previously defined. Here, the programmer expects the working of the
program to be complete after the test done at the end.
BIG-O NOTATION
Big O notation denotes how complex or fast, an algorithm is.It will be useful to know how
fast or slow the algorithms can work in a project. Big O notation doesn't represent
accurately the actual speed of a method in seconds. This is, therefore, since there are lots
of variables that tend to frequently affect an algorithm's time it takes to run. Big O notation
can also be used to compare different algorithms on how many operations it goes through.
The other important aspect that ought to be considered when programming pertains to the
efficiency of the algorithm. Algorithms should be as efficient as possible in terms of
performance and resource utilization.
Growth ratio
Complexity measure
How many seconds does this take?
BASIC OPERATIONS
The time to perform the basic operations are always the same, in other words at most of
time C for some constant C, or in another sense, the time it takes to perform the operation
is said to be either constant or does not grow with the number of the operands. If we are
not sure how an operation is performed, we should use our best judgment. As an example,
can we perform an operation in constant time?
For example, there is no way to sum up a list of 32-bit integers faster than it takes to add
two 32-bit integers. The more elements are in the list, the longer the addition will take.
PROGRAMMING PARADIGMS
The paradigms of programming come broadly into two categories: These groups are
divided based on the unique features found in their respective languages and how they
structure code.
Imperative programming
Structured Programming
Procedural Programming
Object Oriented Programming
Database Query Language
Declarative Programming
Functional Programming
Logic Programming
Procedures are what constitute procedural programming. They could be otherwise referred
to as subroutines, methods, or even functions even though it goes by the name "functions"
depending on the context. They are actually pretty different from each other. Procedures
don't provide a return value instead; its primary goal is to execute a task and give the
desired result. Functions, on the other hand, produce an output result and has very
minimal side effects.
Procedural programming is the default starting point for new programmers. This is done so
that the procedural code may instruct a device in general to solve a problem in a limited
number of logical steps. This paradigm uses a linear top-down methodology and treats
methods and data as two separate components. The method section describes the steps
that need to be followed. These techniques will be covered under the primary curriculum.
• C
• C++
• Java
• Python
• Pascal
• ColdFusion
Procedural programming is characterized by the division of the code into two major parts:
the process and the main code. A process in the main code is called by the software, which
then executes it there. Another subfield is procedural programming. It integrates selection,
iteration, and sequencing of structural programming.
In this example, the procedural paradigm is demonstrated by a calculating function.
The above was created in the Python language, making use of the Python IDE.
Above, the picture shows the "grandtotal" function previously provided. It uses a very
simple method to find the total of all of the numbers in a list. The numbers of the list part
of the "For" iteration method that was used to find this are shown by the variable x here. In
this, the total of the list will be kept by adding the list's integers to its x value. A list that
was later made available in two lists, A and B, each comprising integers. The print
command on the next line states the line that should be printed in the output and to which
the lists A and B were supplied as arguments to the function.
At one point or another in their careers, nearly all developers make use of object-oriented
programming, or simply OOP-a basic paradigm of programming. The aim of this kind of
programming is to avoid the disadvantages of procedural programming. As it was
Class: A class, in general, is a user-defined data type. In more detail, it can be said
that the blueprint of the arrangement of methods and attributes is done in classes.
These are used to build the specific objects based upon this blueprint.
Object: The 'real world' thing is the software application, which is depicted as an
object. Ex: anything like a person, a dog, a vehicle, etc. Everything that exists has an
identity and state. The definition of an object is done by attributes and methods.
Methods: Methods represent the behaviors. Actions are performed with the
methods and a method may modify object data, too or return information about
the object. The code of the method is defined inside of the class definition.
Attributes: The information stored is called an attribute. The Class template defines
the attributes. Individuals’ objects have information in the Attributes field when the
objects are instantiated. The behavior of an object is defined by the information
contained in the attribute field of an object.
Inheritance: This is the method by which one class is derived from another class.
The class from which it is acquired is called the parent class, and the inherited class
is known as a child class.
Abstraction: It is the act of showing only the required information in simple form
and hiding the detail.
• C++
• Java
• Python
• Ruby
Creation in OOP is more complicated than in procedural programming. This snippet of code
shows how one can represent methods, classes, objects, and instance properties.
Wrote code for the OOP concept using Python IDLE.
The following examples illustrate two classes defined; the Person class is the parent class,
while Employee is the child class. The Person class is said to be an ancestor for the class
Employee. From what is shown in the display function above in the code, we can access
Today's programmers majorly use the event-driven paradigm. The main users of this
language are software engineers. As the name suggests, event drive programming is a
paradigm where events govern the flow of a program. These events may range from
anything to clicking a mouse or even a button. Event listeners monitor these events and
then trigger event-handling methods.
EVENT DRIVEN PROGRAMMING PARADIGMS CHARACTERISTICS
Trigger Functions: These will contain the code to be executed upon a certain
condition.
• Visual basic.
A simple calculator has been developed using the Visual Studio 2019 in the C# language for
demonstrating a sample code for event-driven paradigm. The following are the pictures
which denote evidence of the developed calculator and the programming that enabled it to
function.
Form: This is the topmost hosting container for your application. Calculator is
basically a Windows Form hosting other controls.
TextBox: This is where the numbers to be used and the result will appear. In this
example, it is the input area above that contains the display of the numbers to
be used and the operation to be performed.
Buttons: Every number, operators displayed as +, -, *, / and functions like CE, C
represent a button. These buttons perform an action on click.
Consider the resemblance that these two paradigms’ similarities. We can observe that:
Event handlers employ processes, an IF, and when processes are to be displayed
when different conditions occur.
In general, event handlers can be added to procedural paradigms to make these
more compatible.
As procedural and event-driven programs both employ the top-down approach to
problem-solving, they can be seen as a kind of simple task-solving systems.
With an IDE, a developer can very easily implement the design of various components of a
program in a functional context. An IDE is basically an application that contains all the
features that may be required to program within just one application. This includes
everything else that is provided in a package bundle. An IDE provides the following tools,
and these are found crucial by developers.
IDEs are designed to enhance developer productivity. It also saves time and energy and
accelerates the development procedure. It gets updated with the latest practices and
revised guidelines and conveys those updates to developers giving them state of the art
technology in the process. A developer could gain a lot from an IDE. Some of the
advantages of using IDE are listed as follows:
3. Cloud based IDE – A growing segment of IDEs which provides programmers the
advantage to access their codes from anywhere, which is an added advantage.
Nitrous is an IDE for cloud-based development, supporting Node, Python,
Ruby, Is, etc.
Cloud9 supports nearly 40 languages.
Heroku is a PaaS system that runs in the cloud.
4. Apple and Microsoft proprietary IDEs.
Microsoft Studio is the software used to develop applications on the platform.
It provides support for languages like Visual C++, C#, F#, VB.NET etc.
MonoDevelop: It supports languages like Visual Basic, etc.
Espresso: XML, HTML, PHP, CSS, JS etc.
Compiler: These are programs utilized for the conversion of code in source
form into code that the machine can execute.
Debugger: These are programs that assist programmers in debugging their
applications.
Automation tools: These help developers automate routine processes.
Problems: The IDE will detect the problems and show the exact location of the
problem.
Runtime, syntactic, semantic errors are the common three types that could be
seen in the IDEs.
Syntax highlighting: This differentiates the codes based on their unique
meaning. Consider parameters, classes, etc.
GUI INTERFACES
1. Login FORM
As has been said above, one of the most critical features of an IDE is debugging.
Before delivering any software application or system to the clients, the developer must
make it error-free. This is simply because a firm puts utmost emphasis on customer
satisfaction. Software development basically constitutes a multi-stage process that includes
designing, coding, testing, and other steps. Every line of code of the software needs to be
tested and debugged to provide an error-free software.
Debugging is the process of attempting to fix a bug. It involves finding out where,
examining, and removing mistakes. The process starts when the software fails to act as
expected. It is tested until it detects the problem or error.
This would be very huge or very small according to the severity of the error of the
application. Third-party applications too can be used for debugging large projects. The
Visual Studio IDE used by the student in doing this project had an inbuilt debugger which is
triggered on with the one of the systems.
BENEFITS OF DEBUGGING
Immediately reports the erroneous condition that has been encountered. The
debugging process in the Visual Studio IDE highlights all the bugs along with their
location and a hint when the application is executed.
Offers details about the issue that make addressing it simpler.
In software development debugging provides little time and trouble for the
developer.
1. Identify the mistake: If the developer can identify the mistake, then it'll be easier to
understand and correct.
2. Locate the fault: Find out where in the system the error is situated.
3. Analyze the error: The error analysis provides two major objectives. They include
ensuring that the risk of any collateral damage has been mitigated and assure that all
errors have been found around an error.
4. Analysis verification: The tests automate the test frameworks.
5. Lateral damage cover: this is the location where all unit tests should be collected to
verify that all of them pass.
6. Correct and test: clear off all errors and run all the test scripts so that they all pass. All in
all, debugging is the most important thing when it comes to developing applications
since it enables developers to find out problems and clear faults.
The Visual Studio IDE is a very good tool in developing systems and applications. This is due
to the excellent features that it has been offering. Among those, the top one is the
debugging feature. Debugging is one of the key terminologies for the application
development process. It comes as a built-in structure for the developers with Visual Studio.
The various functionalities of the Visual Studio Debugger can be utilized by a developer to
debug applications based on their needs. Below is a list of some of the debugging tools
available in the Visual Studio IDE.
Setting breakpoints
Breakpoints are utilized where the line of code or the section of code that the
The process of finding and fixing bugs is the main goal of debugging. When
unauthorized users look for ways to break into the system, that is most immediately
the line of defense regarding debugging security. Once an application has been
developed, continuous review and maintenance are carried out.
This is one of the steps involved in the SDLC paradigm. The various issues of the
system can be corrected gradually with frequent upgrades. Debugging the faults will
save the system from hackers and all other unauthorized access. It is better to debug
the system before the deployment to identify mistakes and defects so that the
system is secure as well as successful.
This means the system is also to be debugged on a computer that is not only reliable
but also secure. It is a sensitive process and in a secure environment, by a person
trusted or by the developer himself.
This ensures there are no possibilities of any hazard within the entire debugging
process.
Other developers use other people's system methods for their project. While this is
much easier for the developer, this is a very insecure thing to do. The IDE will
automatically throw up a security warning when a process belonging to an untrusted
user is attached to the system. The system will remain at risk even if the developer
decided to suppress this.
CODING STANDARDS
Coding standards are rules or guidelines that give a set of specifications on how a
programming language is supposed to be written.
Coding is basically a way of life for developers. Behind every system and program, there
is a lot of code, and behind each code, there is a developer with his style of working. The
application is developed in the coding phase. The major aim of the coding phase is to
write down the system design planned during the design phase using a high-level
language and then unit test the code.
Not everyone can code the way they want to. A good piece of programming code has to
follow certain standards and guidelines. Every developer in the world follows these
guidelines. Coding standards help the developers and the other stakeholders who are
involved in system development in several ways. The following outlines the justification
of the existence of coding standards:
Coding standards give codes developed by different developers a unique
appearance.
Simplifies the code, making it more readable and easier to maintain.
It allows code reuse, faster detection of bugs, thereby making a
programmer more productive by offering best practices for coding.
Globally, several coding standards are followed. Some of them depend on
organizations, while others depend on languages. However, there are a few basic
2. THE INDENTATION
Indentation - Through indentions, code can be made more readable and
understandable. It is the developer's job to write the code in a manner simple
enough for other developers to understand the code. Following are a few ways
to appropriately modify the program's space.
When two function arguments are separated by a comma, a space must be
added.
A block nested inside a block must have proper spacing and indentation.
Indentation of the beginning and ending is needed for every block.
Coding standards give a project a certain caliber and personality. It was introduced in the IT
sector for some reason. Imagine if everyone was allowed to code their way; the team and
everyone would be in an anarchical situation. The overall development in the IT sector has
taken place due to such restrictions, as these have kept the developers within a given
bracket. Many of these people may also question the use of this coding.
The Programming module covers how a process of writing a set of instructions gives the computer
the way to execute a task. Programming commonly employs computer programming languages,
including but not limited to JavaScript, Python, and C++.
By addressing a variety of tasks and activities, the programming module assignment was
successfully finished with a great amount of work, satisfying all learning outcomes. In this paper,
the student will be showing how important algorithms are, while stating how to build a successful
algorithm. Explanation will be conducted for Pseudocodes, algorithms, and the python language.
How to use Big-O notation and how that relates to the algorithm will also be shown.
Then, the student discussed the paradigms of programming and their characteristics. The inter-
relationships of object-oriented, procedural, and event-driven were critically analyzed. The
structures and distinctive characteristics of the three programming paradigms presented here are
accompanied by fragments of their code.
The student has developed a simple Grifindo leave management system for applying leaves and
approving leaves by employees and administrator respectively. Activities such as add, delete, and
update are added to databases and GUIs successfully.
The assignment shows proof that the Pseudocodes are working and produces results.
It then elaborates on the process of debugging within the Visual Studio IDE, including how it allows
the building of an application that is much more reliable and secure. Lastly, it talked about the
relevance of coding standards, whereby it was concluded by pointing out how using code standards
benefits an individual or team effort.
This assignment is mainly targeting the coverage of the given areas above. Apart from that, during
our study of the module, we also made ourselves thorough in how to build applications. We also
learnt about the software requirements, I/O requirements, and other computer system
components utilized for various employees at different levels in organizations for building a system,
etc.
DataCamp (Sept,2023)https://www.datacamp.com/blog/what-is-an-algorithm
GeeksforGeeks. Muskan.
o Available at: https://www.geeksforgeeks.org/most-important-type-of-
algorithms/
Characteristics of an Algorithm. There are some characteristics which… | by Shlok
Bhatt | Medium, 2023. Available at:
https://medium.com/@bhattshlok12/characteristics-of-an-algorithm-
49cf4d7bcd9
What is an Algorithm in Programming? - Definition, Examples & Analysis (no
date) Study.com | Take Online Courses. Earn College Credit. Research Schools,
Degrees & Careers. Available at:
o https://study.com/academy/lesson/what-is-an-algorithm-in-
programming- definition-examples-analysis.html
Saeed, A. (2023) Asim Saeed, Techyv.com. Available at:
o https://www.techyv.com/article/stages-steps-involved-programming/
“What is 'Pseudocode'.” Available at:
o https://economictimes.indiatimes.com/definition/pseudocode
Dry run - testing - higher computing science revision - BBC bitesize (no date) BBC
News. BBC. Available at:
https://www.bbc.co.uk/bitesize/guides/zg4j7ty/revision/3#:~:text=A%20dry%20ru
n%20is%20the,print%20out%20of%20the%20code
Big O Notation Explained with Examples :
o https://www.freecodecamp.org/news/big-o-notation-explained-with-
examples/
What is python? executive summary (no date) Python.org. ThePSF. Available at:
https://www.python.org/doc/essays/blurb/
Andrew Jamieson - Introduction to big O notation - towardsdatascience.com,
Introduction to Big O Notation. Towards Data Science.
o Available at: https://towardsdatascience.com/introduction-to-big-o-
notation-820d2e25d3fd
What is an IDE? Red Hat - We make open-source technologies for the enterprise.
Available at: https://www.redhat.com/en/topics/middleware/what-iside
Khillar, S. (2024) Difference between IDE and text editor, Difference Between
Similar Terms and Objects. Available at:
http://www.differencebetween.net/technology/difference-between-ide-and-
texteditor/#:~:text=full-featured%20IDE.-,A%20text%20editor%20is%20simply
%20a%20computer%20program%20and%20a,to%20build%20and%20test
%20software.