Algorithm Definition Report: Computer Science Concepts

Verified

Added on  2021/11/06

|11
|1949
|86
Report
AI Summary
This report provides a comprehensive definition of algorithms, emphasizing their role as procedures or rules for solving complex problems, particularly in computer programming. It highlights the significance of algorithms in instructing computers to perform tasks step-by-step, facilitating the creation and execution of programs to achieve specific goals. The report outlines the process of building applications, starting with problem analysis, requirement identification, and specification. It then delves into solution design, program writing (including coding, compiling, and debugging), and finally, solution testing. The report also includes a detailed discussion of the coding process, covering the stages of coding, compiling, debugging, and testing, along with best practices for each stage. The significance of each step is also explained, alongside a comprehensive reference list of sources that support the report's content.
Document Page
Running head: ALGORITHM
ALGORITHM DEFINITION
Name of the student:
Name of the university:
Author note:
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
2ALGORITHM
P1 Algorithm Definition
Algorithm is defined as the procedure or rule that is followed while solving complex calculation
or other problems (Ferreau et al. 2014). It is mainly used in computer programming that must be
written in a computer. Algorithm can make computer do anything if the user provides step by
step information to the computer (Liu and Wei 2014). The program can be then written following
the steps in the algorithm. Written program is then executed to meet the end goal.
Algorithm can be described as instructing the computer what to do. The instructions should be
able to tell the computer how to perform that step (Agrawal, Wang and Ye 2014). Algorithm
mainly explains the computer how to solve a problem (Zheng and Lafferty 2015). As a first step
to write algorithm of a program, the program is first analysed and then the program takes input to
produce output (Chen et al. 2014).
Processes required to build an application:
Action should be taken for example analysing the task and recording all the important
materials that are required for completion of the task (Tian et al. 2013).
The starting and end point of algorithm should be determined before starting the
algorithm.
Every step of the process should be carefully thought of and decision point should be
included and recorded (Bosshart et al. 2014). The plan needs to be done all over again if
error occurs.
Document Page
3ALGORITHM
Document Page
4ALGORITHM
Description of building process of an application:
The steps that are taken to write code
Programming should involve creating things that will help in solving problems easily. The
problems that need to be solved range from scientific to national importance. The processes
involves:
Identification of the problem
Solution design
Program writing
Checking the solution
Identification of the problem:
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
5ALGORITHM
The two stages by which a solution can be identified are:
Identifying the requirements
Identifying the specifications
Requirement:
The problem is examined carefully in the first step by identifying the requirement of the
problem (Elsman and Dybdal 2014). There might be numerous solution for a single problem
however all the solution has something in common. A particular solution needs to be identified
among all the solution.
Example: A calculator program can be written in a number of ways that will help user to enter
equations and calculate them. The program will even help in pressing buttons, and writing
equations on the screen. However, if the software does not work correctly then it would not be
able to solve any problem. Therefore, before writing an algorithm the requirements should be:
The user should be able to enter equation and the program should be able to evaluate the answer
correctly so that the right answer is displayed to the user (Halbwachs 2013). The sums that
calculator will be able to evaluate is decided by the developer of algorithm.
Specification
As a second step to write algorithm, the requirements should be considered and then solution
should be decided that would fulfill them (McDirmid 2013). However, a single problem can be
solved in a number of ways and therefore, the algorithm developer should look for the most
suitable solution. In other words, the final program is being mentioned in an accurate manner.
Solution Design
Document Page
6ALGORITHM
After identification of all requirements that is required to solve the problem and specification of
what form the solution will take, the next step is to convert those specification into working
program. A program is defined as a list of steps that describes the computer what to do. These
steps are described in higher level in an algorithm design (Britton et al. 2013). The algorithm is
written in the form of a program keeping in mind that the computer is a person.
The programmer should be able to understand the design and then write a program from it. The
algorithm should be easy to understand so that the programmer can easily frame the program. It
should be simple. The design mechanism is compared with architect drawing that will have all
the necessary structures required displaying every bit of brick and mortar.
Framing a design to solve a particular problem can be sometimes difficult for several reasons.
The capabilities of computer and chosen program and other extra information should be
gathered about the problem that in order to solve it before writing the program.
Note: After completing the design, the computer should have a clear idea of how to meet the
requirements and fulfill the specifications.
Program writing
The design is explained to the computer by using programming. The program teaches them to
solve the problem. Writing a program is divided into three different stages. They include:
Coding
Compiling
Debugging
Coding
Document Page
7ALGORITHM
The design is actually converted into a program by the process of coding. A particular
programming language is used to write the code and after finishing the code it is submitted to
the computer in order to find out any error.
Compiling
It is the process of converting the actual program written in a particular programming language
into a language that will be understood by the computer (Salvaneschi and Mezini 2016).
Computer can only understand instructions made up with 0’s and 1’s. Therefore, compiling is
the process of by which programming language is converted into machine level language
understood by the computer.
Debugging
Debugging is defined as the process of checking the original program to find out any error in it.
The mistakes are identified while making required corrections of the codes and then compiling
it (Bosch, D’Mello and Mills 2013). The best practice is to write a small section of the code
first, debug it to find errors and then proceeding further. This reduces the amount of code that is
debugged each time. As parts of the code are completed the programmer also feel good.
Solution
Testing the program created is the final step of programming. It checks if the deliverables of the
program are met. The program will give the desired output if the code written is correct and
therefore will be able to solve the problem effectively. As the compiler has checked the
previous code this step is necessary. Before actual testing of the program, programmer
sometimes test the program himself to check if the output is correct and the program is working
well. The program should be then subjected to test so that any mistake is identified. If it is
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
8ALGORITHM
found that the program is not meeting the specifications and requirements then the code should
be changed immediately.
Care should be taken that the fix does not change any other code once the testing and
debugging is complete. Then it will be proved that program is written according to the
specification and requirement.
Document Page
9ALGORITHM
Reference List:
Agrawal, S., Wang, Z. and Ye, Y., 2014. A dynamic near-optimal algorithm for online linear
programming. Operations Research, 62(4), pp.876-890.
Bosch, N., D’Mello, S. and Mills, C., 2013, July. What emotions do novices experience during
their first computer programming learning session?. In International Conference on Artificial
Intelligence in Education (pp. 11-20). Springer, Berlin, Heidelberg.
Bosshart, P., Daly, D., Gibb, G., Izzard, M., McKeown, N., Rexford, J., Schlesinger, C.,
Talayco, D., Vahdat, A., Varghese, G. and Walker, D., 2014. P4: Programming protocol-
independent packet processors. ACM SIGCOMM Computer Communication Review, 44(3),
pp.87-95.
Britton, T., Jeng, L., Carver, G., Cheak, P. and Katzenellenbogen, T., 2013. Reversible
debugging software. Judge Bus. School, Univ. Cambridge, Cambridge, UK, Tech. Rep.
Burg, B., Bailey, R., Ko, A.J. and Ernst, M.D., 2013, October. Interactive record/replay for web
application debugging. In Proceedings of the 26th annual ACM symposium on User interface
software and technology (pp. 473-484). ACM.
Chen, Z., Mi, C.C., Xiong, R., Xu, J. and You, C., 2014. Energy management of a power-split
plug-in hybrid electric vehicle based on genetic algorithm and quadratic programming. Journal
of Power Sources, 248, pp.416-426.
Elsman, M. and Dybdal, M., 2014, June. Compiling a subset of APL into a typed intermediate
language. In Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages,
and Compilers for Array Programming (p. 101). ACM.
Document Page
10ALGORITHM
Ferreau, H.J., Kirches, C., Potschka, A., Bock, H.G. and Diehl, M., 2014. qpOASES: A
parametric active-set algorithm for quadratic programming. Mathematical Programming
Computation, 6(4), pp.327-363.
Halbwachs, N., 2013. Synchronous programming of reactive systems (Vol. 215). Springer
Science & Business Media.
Liu, D. and Wei, Q., 2014. Policy iteration adaptive dynamic programming algorithm for
discrete-time nonlinear systems. IEEE Trans. Neural Netw. Learning Syst., 25(3), pp.621-634.
Lye, S.Y. and Koh, J.H.L., 2014. Review on teaching and learning of computational thinking
through programming: What is next for K-12?. Computers in Human Behavior, 41, pp.51-61.
McDirmid, S., 2013, October. Usable live programming. In Proceedings of the 2013 ACM
international symposium on New ideas, new paradigms, and reflections on programming &
software (pp. 53-62). ACM.
Salvaneschi, G. and Mezini, M., 2016, May. Debugging reactive programming with reactive
inspector. In Proceedings of the 38th International Conference on Software Engineering
Companion (pp. 728-730). ACM.
Tian, X., Xu, R., Yan, Y., Yun, Z., Chandrasekaran, S. and Chapman, B., 2013, September.
Compiling a high-level directive-based programming model for GPGPUs. In International
Workshop on Languages and Compilers for Parallel Computing (pp. 105-120). Springer,
Cham.
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
11ALGORITHM
Xinogalos, S., 2013, March. Using flowchart-based programming environments for simplifying
programming and software engineering processes. In Global Engineering Education
Conference (EDUCON), 2013 IEEE (pp. 1313-1322). IEEE.
Zheng, Q. and Lafferty, J., 2015. A convergent gradient descent algorithm for rank
minimization and semidefinite programming from random linear measurements. In Advances
in Neural Information Processing Systems (pp. 109-117).
chevron_up_icon
1 out of 11
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]