Component 2.1 - Problem Solving Flashcards
What is computational thinking?
Computational thinking is the process involved in taking a complex program, understand the problem and then developing possible solutions. Then representing these solutions in A way that both computers and humans can understand. (E.g. as a set of steps that can be carried out by both a computer and human)
What is decomposition?
Decomposition is breaking down a complex program into a series of smaller, more manageable sub problems (e.g. allow for adding money to card > add money on internet, add money in bank > add money at cache machine. and these can be broken up further)
What are the advantages of decomposition? (Computational thinking)
- Different people
can work on different sub problems - The sub problems are easy to understand and find solutions for unlike the whole problem so a solution can be made faster
What is abstraction?
Abstraction is a technique used to reduce something to the simplest set of
characteristics that are most relevant to solving the problem.
What are variables used for in computer programming?
In computer programming variables are required to store data that can change
What are constants used for in computer programming?
Constants are used in computer programming to store data that does not change.
What is a local variable?
A local variable is a variable that is defined within a sub procedure and therefore is only
accessible from within that same sub procedure.
What is a global variable?
A global
variable is a variable that has a larger scope as it is defined globally and is therefore
accessible from anywhere within a program.
What are the advantages of local variables over global variables?
It is easier to track changes to a local variable and the reasons for those changes than for a global variable, as it is only used within a sub-procedure.
What are the advantages of global variables over local variables?
Sometimes a global variable can be the most efficient way of ensuring that an important piece of data is accessible to all sub procedures
What are static variables?
Static variables are variables stored in a location in memory and which have a lifespan that lasts the entire time that program is running.
What are dynamic variables?
Dynamic variables are variables that each time they are defined, are assigned a new location in memory and have a lifespan that ends when the sub procedure in which it was defined ends.
What will good computational thinking skills allow a programmer to do?
Good computational thinking skills will help a programmer to break the problem down into manageable chunks to simplify the solution, and therefore write a successful program
Programmers can only write programs for computers to solve if ___
They understand how to solve and the program themselves
What are the four key techniques to computational thinking?
Decomposition, pattern recognition, abstraction, algorithms (apparently for wjec we only need to know decomposition and abstraction)