Three Principles of Computational Thinking
The three principles of computational thinking :- o What are the three principles of An electronic device is simply ‘a device which takes input, processes data,
decomposition, abstraction and algorithmic thinking. computational thinking? and delivers an output.’ When tackling a problem, you need to think
carefully about all the inputs, processes and outputs for that problem.
Abstraction :- the process of removing the unnecessary
o Fully define the term 'abstraction'.
details and focusing on what's important rather than focusing Inputs :- anything which needs to be supplied to the program so it can
on useless information. o Gives examples on what data can and meet its goals, often input by the user, consider an appropriate variable
name and data type for the input.
Decomposition :- breaking down problems into parts which cannot be abstracted from a satnav
Abstraction
are easier to understand and solve - breaking down a interface. Processes :- consider what calculations need to be performed while the
problem into the well-defined steps of a solution. program is running, does data need to change formats or data types?
o Give an example on how abstraction
Algorithmic thinking :- the process of developing code - Outputs :- consider what your program needs to output, what form it
taking in inputs and delivering defined outputs within a well- can be used in daily life. needs to take, an appropriate variable name and data type for any output.
structured program. o Why will abstraction benefit the user?
Example :- Levels of data are abstracted for users in terms of
o How are icons and flow charts
saving files.
o Useless, unrequired data such as where the data is
abstracted forms? Algorithmic Thinking Questions
stored within the hard disk or how the data is o Give an example of abstraction used
actually represented does not concern the user. within programming by the o What is the definition of algorithmic thinking?
Example :- There is data more or less important for interface programmer. o Using algorithmic thinking, provide a logical approach to finding
design, such as on a satnav.
a word in a word search, using terminology associated with
o More important information is location, road writing a program.
layout, icons for volume, charge etc.
o What 5 things associated with algorithmic thinking can help you
o Less useful information is details such as buildings
to tackle a range of problems?
and trees.
Decomposition
Icons can be used in a simple manner to clearly suggest what
a function may do, and therefore are a perfect form of Decomposition :- breaking a complex problem down into smaller more manageable parts. o What is
abstraction. For example, a simple cloud icon can indicate decomposition?
Dealing with many difficult stages of problem at once is much more difficult than breaking a
cloudy weather.
problem down into a number of smaller problems and solving each, one at a time. o Give two examples of
A map interface only needs to show a realistic map with decomposition,
Examples of decomposition in daily life :- getting up in the morning, brushing your teeth, getting to
distances between places in proportion. Data does not have breaking it down into
school and doing homework - these all form a 'complex daily life routine' which we break into
to be stored like this internally, therefore, we can change its smaller steps as
smaller parts, or actions.
own program to fulfil these tasks in a simpler way. much as possible.
Example [crossing the road] :- stop before crossing, look left and right, check if the road is clear, if
Flow charts are another type of abstraction and are o Give three
not press crossing button, wait for lights to turn red, cross the road when safe.
abstractions of the actual code within a program. advantages of using
Advantages of decomposition :- decomposition
Abstractions within programming includes variables which
are used to store integers or strings, but, tons of numbers of o Makes problems easier to solve. within programming.
binary are used to store data in systems too complex to o Different people can work on different parts of the problem at the same time, reducing
understand. Therefore, this information is abstracted into development time.
simple uses like variables. o Program components developed in one program can easily be used in other programs.
The three principles of computational thinking :- o What are the three principles of An electronic device is simply ‘a device which takes input, processes data,
decomposition, abstraction and algorithmic thinking. computational thinking? and delivers an output.’ When tackling a problem, you need to think
carefully about all the inputs, processes and outputs for that problem.
Abstraction :- the process of removing the unnecessary
o Fully define the term 'abstraction'.
details and focusing on what's important rather than focusing Inputs :- anything which needs to be supplied to the program so it can
on useless information. o Gives examples on what data can and meet its goals, often input by the user, consider an appropriate variable
name and data type for the input.
Decomposition :- breaking down problems into parts which cannot be abstracted from a satnav
Abstraction
are easier to understand and solve - breaking down a interface. Processes :- consider what calculations need to be performed while the
problem into the well-defined steps of a solution. program is running, does data need to change formats or data types?
o Give an example on how abstraction
Algorithmic thinking :- the process of developing code - Outputs :- consider what your program needs to output, what form it
taking in inputs and delivering defined outputs within a well- can be used in daily life. needs to take, an appropriate variable name and data type for any output.
structured program. o Why will abstraction benefit the user?
Example :- Levels of data are abstracted for users in terms of
o How are icons and flow charts
saving files.
o Useless, unrequired data such as where the data is
abstracted forms? Algorithmic Thinking Questions
stored within the hard disk or how the data is o Give an example of abstraction used
actually represented does not concern the user. within programming by the o What is the definition of algorithmic thinking?
Example :- There is data more or less important for interface programmer. o Using algorithmic thinking, provide a logical approach to finding
design, such as on a satnav.
a word in a word search, using terminology associated with
o More important information is location, road writing a program.
layout, icons for volume, charge etc.
o What 5 things associated with algorithmic thinking can help you
o Less useful information is details such as buildings
to tackle a range of problems?
and trees.
Decomposition
Icons can be used in a simple manner to clearly suggest what
a function may do, and therefore are a perfect form of Decomposition :- breaking a complex problem down into smaller more manageable parts. o What is
abstraction. For example, a simple cloud icon can indicate decomposition?
Dealing with many difficult stages of problem at once is much more difficult than breaking a
cloudy weather.
problem down into a number of smaller problems and solving each, one at a time. o Give two examples of
A map interface only needs to show a realistic map with decomposition,
Examples of decomposition in daily life :- getting up in the morning, brushing your teeth, getting to
distances between places in proportion. Data does not have breaking it down into
school and doing homework - these all form a 'complex daily life routine' which we break into
to be stored like this internally, therefore, we can change its smaller steps as
smaller parts, or actions.
own program to fulfil these tasks in a simpler way. much as possible.
Example [crossing the road] :- stop before crossing, look left and right, check if the road is clear, if
Flow charts are another type of abstraction and are o Give three
not press crossing button, wait for lights to turn red, cross the road when safe.
abstractions of the actual code within a program. advantages of using
Advantages of decomposition :- decomposition
Abstractions within programming includes variables which
are used to store integers or strings, but, tons of numbers of o Makes problems easier to solve. within programming.
binary are used to store data in systems too complex to o Different people can work on different parts of the problem at the same time, reducing
understand. Therefore, this information is abstracted into development time.
simple uses like variables. o Program components developed in one program can easily be used in other programs.