Component 2.1 - Problem Solving Flashcards

1
Q

What is computational thinking?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is decomposition?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the advantages of decomposition? (Computational thinking)

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is abstraction?

A

Abstraction is a technique used to reduce something to the simplest set of
characteristics that are most relevant to solving the problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are variables used for in computer programming?

A

In computer programming variables are required to store data that can change

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are constants used for in computer programming?

A

Constants are used in computer programming to store data that does not change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a local variable?

A

A local variable is a variable that is defined within a sub procedure and therefore is only
accessible from within that same sub procedure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a global variable?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the advantages of local variables over global variables?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the advantages of global variables over local variables?

A

Sometimes a global variable can be the most efficient way of ensuring that an important piece of data is accessible to all sub procedures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are static variables?

A

Static variables are variables stored in a location in memory and which have a lifespan that lasts the entire time that program is running.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are dynamic variables?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What will good computational thinking skills allow a programmer to do?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Programmers can only write programs for computers to solve if ___

A

They understand how to solve and the program themselves

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the four key techniques to computational thinking?

A

Decomposition, pattern recognition, abstraction, algorithms (apparently for wjec we only need to know decomposition and abstraction)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What does computational thinking enable you to do?

A

Computational thinking enables you to work out exactly what to tell the computer to do

17
Q

How can a decomposed program be used to make a working whole program?

A

The solutions to the sub problems can be brought together to provide a solution to the whole problem

18
Q

What is the disadvantage of decomposition? (Computational thinking)

A

The solutions to the sub problems may not come together to provide a solution to the whole problem/program

19
Q

Why is abstraction useful?

A

Abstraction allows the programmer to focus on important aspects of the program rather than fine details, so they can get a working, understandable prototype done quickly.

20
Q

What is pattern recognition? (Computational thinking)

A

Pattern recognition is looking for similarities among and within problems

21
Q

What is algorithms in computational thinking?

A

Algorithms is developing a step-by-step solution to the problem, or the rules to follow to solve the problem. (For solving sub problems)

22
Q

What are variable identifiers?

A

Names

23
Q

What is a self-documenting identifier?

A

A self documenting identifier is a variable or constant name that implies/reflects what the type of data being stored in it is (e.g. txt_FirstName is a text containing a first name)
All variables should have these

24
Q

What is a local variable’s scope?

A

A local variable’s scope is the sub procedure (area) from which it is accessible

25
Q

What is the difference between a static and dynamic variable?

A

Static variables are stored in one location in memory but have a lifespan lasting the entire program. Whereas dynamic variables are stored in a new location in memory each time they are defined and end when the sub procedure they are defined in ends