Please enable JavaScript.
Coggle requires JavaScript to display documents.
Route 4 Digital Analysis - Coggle Diagram
Route 4 Digital Analysis
4.1 Characteristics and applications of algorithms in digital analysis
Algorithms
Purpose
Process computational actions
Support problem solving
Automate calculations
Must
Clearly defined inputs and outputs
Simple, generic and practical
Be clear, with defined steps
Language independent
Advantages
Easy to understand by anyone
They are a step-by-step representation of a solution given to a problem
Initial problem is broken down into steps, easier to convert into code
Disadvantages
Creating complete algorithms can be time-consuming
Some constructs can be difficult to represent
Characteristics
Finiteness
Should solve problem in given number of steps
Algorithm should end after a finite number of steps
Logical sequencing of steps
Steps in algorithm should follow a logical sequence to solve problem
Steps should flow on step by step with no jumping back, should be solved logically
Inputs and outputs
Should be clearly defined
Each algorithm should have 0 or more inputs and at least 1 output
Inputs should be well defined and clear, with outputs meeting defined purpose of algorithm
Iteration
Algorithm should use discrete steps
Each step is carried out based on previous step, these should be repeated until required output is produced
Unambiguous
Steps shown must be clear and precise with steps clearly defined
Input and outputs connected with each step should be clear and only have one meaning
Each user of algorithm should view and understand algorithm in the same way
Structured English
Structured English allows users with no programming knowledge to understand algorithm
Structured English lies between English language and a programming language
Feasibility
Algorithm should be able to be implemented with specified and defined resources
Algorithm should provide a feasible solution to the problem
Independent
Should have a step-by-step directions, should be independent of any programming code
Algorithm should be able to be implemented in any programming code
Selection
Any input should lead to specified steps
Input could be used in a range of steps if decisions have to be made
Each input should relate to a choice of steps
Applications of algorithms for digital analysis
Common applications of algorithms in digital analysis are to:
Design a step-by-step solution to solve a problem
Support machine learning for data analysis
Automate calculations to improve efficiency of a process
4.2 Process of computational thinking and tools applied in problem solving and algorithm design
Process of computational thinking
Abstraction
Algorithms
Pattern recognition
Decomposition
Top-down approach
Begin with the main problem, break it down into smaller, manageable parts.
Integrate solutions to address the overall problem.
Start with the main problem.
Break it down into smaller, manageable parts.
Solve each smaller part.
Bottom-up approach
Solve small parts first, then integrate them to form a complete solution.
Begin by solving small, individual problems.
Build up to form the complete solution.
Combine these smaller solutions.
Ensure each small solution fits into the overall problem.
Tools for problem solving and algorithm design
Decomposition diagram
Advantages
Different people can work on a different sub-task, modules which can be integrated to make final solution
Maintenance of final software solution can be completed at modular level
Disadvantages
Sub-problems, modules may not combine to solve initial problem
If initial problem is not fully understood, can be difficult to decompose
Pseudocode
Advantages
Changes can be implemented quickly unlike flowcharts
Can act as a link between algorithm and final program
Can be easy to follow and understand even if errors are present in pseudocode
Can explain purpose of each line of code, creation of final code should be uneventful and meets needs of client
Pseudocode can be converted into programming code with minor changes to the syntax of programming language
Disadvantages
Can be time-consuming to write clear and well-structured pseudocode as to write final programming code
Can be difficult to see logical flow of program
Flowchart
Advantages
Flowcharts are created using standardised set of symbols, can be interpreted ad understood by many people
Changes to design may result in flowchart being amended or redrawn
Flow of program can be seen clearly
Disadvantages
With a large, complicated program the flowchart can become large and difficult to follow