Unit 9.1 Computational Thinking Skills
Understand what is meant by the term abstraction and decomposition and then benefits of using these when solving problems.
Be able to apply the principles of abstraction and decomposition to different problems.
Understand what is meant by the term structure chart and be able to construct these diagrams for different problems.
All programs are made using programming code - instructions for it to work.
Written in one particular programming language e.g Python/Java/Visual Basic etc.
Like any other language it has vocabulary and grammar rules to adhere to - SYNTAX
Computational Thinking allows programmers to analyse problems and ways to solve them.
Includes Abstraction, Decomposition and Algorithms.
Simplify a problem by removing unnecessary elements not needed to help solve the problem. - essentially a simpler program is made (remove unnecessary, can highlight necessary) flowchart is an abstraction example of program code
e.g. abstract model of bedroom - shows furniture layout, excludes details like wallpaper, carpet colour etc. other examples are maps, calendars/timetables/program icons.
Pros’
Programmers can focus on core aspects of problem instead of irrelevant extras.
Reduces programming code complexity.
Programs need less computational power such as memory or storage, it can be run on lower spec devices.
Reduces programming time & factors that can detract from the programs.
Problem Recognition - identify problem to be solved & what is exactly the problem - new or old.
Things to consider -
Is there a problem?
If so, what is the problem?
What data do I need to fully understand the problem?
What variables are in play which could alter this current state?
To what extent is the problem solvable?
Can the problem be solved with a computer program?
What other problems may a solution create?
Breaking a big problem down into smaller sub-problems.
Pros
Breaks down problems so its easier to see individual parts and processes in a problem.
Easier to see where code can be reused in a program, this helps to reduce development time and improves code efficiency.
Different tasks can be assigned to multiple programmers and/or specialists in those task areas.
Time can be planned more effectively.
Process helps break down big problems into smaller problems until its just one task that can be programmed independently from the others. (refine steps until its achievable) approach of problem decomposition
On the lowest level each task will be a program module e.g. procedure or function.
Understand what is meant by the term abstraction and decomposition and then benefits of using these when solving problems.
Be able to apply the principles of abstraction and decomposition to different problems.
Understand what is meant by the term structure chart and be able to construct these diagrams for different problems.
All programs are made using programming code - instructions for it to work.
Written in one particular programming language e.g Python/Java/Visual Basic etc.
Like any other language it has vocabulary and grammar rules to adhere to - SYNTAX
Computational Thinking allows programmers to analyse problems and ways to solve them.
Includes Abstraction, Decomposition and Algorithms.
Simplify a problem by removing unnecessary elements not needed to help solve the problem. - essentially a simpler program is made (remove unnecessary, can highlight necessary) flowchart is an abstraction example of program code
e.g. abstract model of bedroom - shows furniture layout, excludes details like wallpaper, carpet colour etc. other examples are maps, calendars/timetables/program icons.
Pros’
Programmers can focus on core aspects of problem instead of irrelevant extras.
Reduces programming code complexity.
Programs need less computational power such as memory or storage, it can be run on lower spec devices.
Reduces programming time & factors that can detract from the programs.
Problem Recognition - identify problem to be solved & what is exactly the problem - new or old.
Things to consider -
Is there a problem?
If so, what is the problem?
What data do I need to fully understand the problem?
What variables are in play which could alter this current state?
To what extent is the problem solvable?
Can the problem be solved with a computer program?
What other problems may a solution create?
Breaking a big problem down into smaller sub-problems.
Pros
Breaks down problems so its easier to see individual parts and processes in a problem.
Easier to see where code can be reused in a program, this helps to reduce development time and improves code efficiency.
Different tasks can be assigned to multiple programmers and/or specialists in those task areas.
Time can be planned more effectively.
Process helps break down big problems into smaller problems until its just one task that can be programmed independently from the others. (refine steps until its achievable) approach of problem decomposition
On the lowest level each task will be a program module e.g. procedure or function.