- / 4
Contents 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
- Decomposition 14
- Pattern recognition 15
- Pattern generalisation 16
Program example 2 (Visual Basic) - Magic blocks 13 Computational thinking design concepts that have been used (program example 2): 14
Program example 3 (Python) - Pay calculator 17
Computational thinking design concepts that have been used (code example 3): 18
- Pattern abstraction 20 2 / 4
- 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
- / 4
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.
- / 4