Introduction 4
The design concepts of computational thinking skills(Task 1) 4
Decomposition 4
Identifying and describing problems and processes 4
Breaking down problems and processes into distinct steps 4
Describing problems and processes as a set of structured steps 5
Communicating the key features of problems and processes to others as relevant 5
Pattern recognition 5
The characteristics of pattern recognition 5
Identifying common elements or features in problems or systems 5
Identifying and interpreting common differences between processes or problems 6
Identifying individual elements within problems 6
Describing patterns that have been identified 6
Making predictions based on identified patterns 6
Pattern generalisation and abstraction 7
Generalisation 7
Abstraction 7
Representing parts of a problem or system in general terms 8
Variables 8
Inputs 8
Outputs 8
Constants 8
Key processes 8
Repeated processes 8
Describing how programmes have been improved using computational thinking skills(Task
2) 9
Program example 1 (C#) - Guess a number 9
(Program example 1, code 1) The code above is a program written in C# that allows a user to guess a
number that has be generated by the program. 9
Computational thinking design concepts that have been used (Code example 1): 10
- Decomposition 10
- Pattern abstraction 12
- Pattern recognition 12
- Representing parts of a problem or system in general terms 12
Program example 2 (Visual Basic) - Magic blocks 13
Computational thinking design concepts that have been used (program example 2): 14
- Decomposition 14
- Pattern recognition 15
- Pattern generalisation 16
Program example 3 (Python) - Pay calculator 17
Computational thinking design concepts that have been used (code example 3): 18
- Pattern abstraction 20
, - Pattern recognition 21
Characteristics of programming languages 28
C# 28
What is C#? 28
The uses of C# 28
Visual Basic 28
What is Visual Basic? 28
The uses of Visual Basic 29
Python 29
What is python? 29
The uses of Python 29
How good are these languages? 30
How principles of computer programming are applied in different languages to produce
software programmes.(Task 5) 31
How do computational thinking skills impact software design and the quality of software
applications produced? 34
(Task 5 analyse and evaluate) 34
References 36
, Introduction
This report will cover design concepts relating to computational thinking skills and how
they apply when developing software. There are many things to look at when it comes to
computational thinking skills such as the concept designs themselves and how they apply
and are used within programs. This report will also be looking at specific coding
languages and how computational thinking skills are used in various languages as a
whole.
The design concepts of computational
thinking skills (Task 1)
Decomposition
Decomposition is essentially the process of transforming complex or intricate tasks into a
step by step system. This method can be used in many different everyday tasks but is
especially useful when it comes to computers and algorithms as computers process
information in a ‘decomposed-like way’; as they read and write instructions step by
step. Therefore, it can be a crucial tool to utilise when solving a problem regarding
computing.
Decomposition can be broken down into four separate characteristics; identifying and
describing problems and processes, breaking down problems and processes into distinct
characteristics, describing problems and processes as a set of structured steps, and
communicating the key features of problems and processes to others as relevant.
Identifying and describing problems and processes
The first characteristic; identifying and describing problems and processes is basically
listing what the problems are or might be, meaning you would be prepared for these
issues to occur. Identifying important processes should also be done. It is also important
that the way these are listed are clear and understandable to those who will, in time, be
using the program, so time may be needed to get familiar with the correct vocabulary
associated with what the program is used for or who is using it.
Breaking down problems and processes into distinct steps
The second characteristic; breaking down problems and processes into distinct steps,
once the problems and processes have sufficiently been identified, it's time to break
them down into distinguishable aspects. This is really the main part, out of the four in
decomposition. It entails finding the overall solution for the problem and then
simplifying it, and then simplifying that already-simplified solution; this should be
repeated until it is impossible to break down the solutions any further.