Paper 1 Unit 1 Flashcards

1
Q

What is computational thinking?

A

A problem solving technique used to investigate and analyse a problem and then develop a solution to it. It helps to make problems more understandable.

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

What are messy problems?

A

Clusters of interrelated, interdependent complex problems where it is difficult to provide a definitive statement of what the problem is.

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

What is the top-down approach to programming?

A

A method of analysis that attempts to break down large problem into its smaller component parts.

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

What are the steps of top-down analysis?

A

The main program is broken down into main component parts. Each component is then broken down into a series of sub-problems. The sub-problems are further broken down until an easily solvable solution is made.

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

What is the bottom-up approach to programming?

A

A method of finding a solution to a program by solving smaller problems first and integrating them into a larger solution.

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

What are the advantages of using a bottom-up solution?

A

The smaller parts of the problem are easier to understand. By solving each of the smaller steps it is possible to create a solution to the bigger problem.

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

What is modularisation?

A

Separating the functional parts of a program into independent modules that can be recombined to create a solution.

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

What are the advantages of modularisation?

A

The functions (modules) can be allocated to different programmers to speed up the process. Programmers can be allocated to solve those parts of the problem requiring specialist skills. Debugging the elements individually can be more effective.

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

What are the disadvantages of modularisation?

A

The whole solution must be known in advance. Event-driven programming can ruin the structure of the neat top-down approach.

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

What is debugging?

A

Locating and fixing errors in a program.

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

What is decomposition?

A

Breaking down a complex problem into smaller component parts which are easier to understand and solve.

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

What are the advantages of decomposition?

A

Each sub program can be understood and developed and tested separately.

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

What are the disadvantages of decomposition?

A

The original problem must be fully understood so a solution can be produced. The sub-problems may not provide a fully functional solution to the original problem.

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

What is pattern recognition?

A

Looking for patterns or trends to identify potential solutions.

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

Why is using pattern recognition beneficial?

A

There may be existing solutions for some sub-problems that can be reused. There may be solutions to existing problems that can be modified to help solve the current issue. There may be a group of similar problems that can be fixed with a common core solution which may need to be created or modified.

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

What are the advantages of pattern recognition?

A

Existing code can be used which has already been tested so the programmer knows it works. It can be modified to add new features which will need to be tested but this is quicker than developing a whole new solution. The same basic code can be developed and reused multiple times but it only needs to be tested once to check it works. The newly created code can be modified to create solutions to similar problems but the main aspects will only need to be tested once. This all saves time and improves reliability.

17
Q

What is abstraction?

A

The process of extracting the key features of a problem and ignoring the unnecessary detail.

18
Q

What are the advantages of using abstraction?

A

The programmer can focus on the important aspects of the problem and ignore the non-essential detail. Teams of programmers can work on different aspects of the problem. Programmers can use pre-written or built-in functions without worrying about how they work.

19
Q

What is layering?

A

Organising a solution into segments that only interact with the previous and following segments.

20
Q

What are the advantages of layering?

A

Only the detail the programmer needs to solve the problem in their segment is shown for each layer so the path to the solution for the programmer is made less complicated.

21
Q

What are variables?

A

A value that will change as a result of another action

22
Q

What are constants?

A

Values that stay the same throughout a program.

23
Q

What are algorithms?

A

A set of instructions describing the solution to a problem.

24
Q

What must an algorithm include?

A

Precise instructions to define a problem accurately, all the necessary steps to solve a problem, clear instructions set out in the order they must be followed in and decisions that need to be made, when they need to be made and what happens as a result of them.

25
Q

What are the advantages of algorithms?

A

They don’t need specialist knowledge to be understood, they provide a detailed break down of a solution, they provide an outline for the coded solution and they are language independent.

26
Q

What are the disadvantages of algorithms?

A

Some constructs can be difficult to represent, they can be time consuming to create and they can be expressed in several ways which can be confusing for some people.

27
Q

What is a syntax?

A

The formal structure for a statement.

28
Q

What is a loop?

A

A sequence of commands that are repeatedly executed until a condition is met.

29
Q

What are flowcharts?

A

A way of presenting algorithms using diagrams.

30
Q

What are the advantages of flowcharts?

A

Standard symbols mean they can be understood by everyone and the clear structure makes it easy to see the flow through the program.

31
Q

What are the disadvantages of flowcharts?

A

They can become very large quite quickly as they use diagrams making complex problems difficult to read and follow. Modifications require a significant amount of work and possibly a redrawing of the whole diagram.

32
Q

What is pseudocode?

A

A more structured form of English to describe algorithms.

33
Q

What are the advantages of pseudocode?

A

The structure makes it easy to convert into program code, it can be modified quite easily and it is reasonably easy to follow.

34
Q

What are the disadvantages of pseudocode?

A

It can be a time consuming process and data can be hard to track throughout it.

35
Q

What is sequence?

A

Code that executes instructions one after the other.

36
Q

What is selection?

A

Code is executed based on a previous decision. (if statement)

37
Q

What is iteration?

A

The code is executed based on whether a condition is met or it is run for a certain number of times.

38
Q

Why should you do a dry run of programs?

A

To determine what the algorithm does, the output it produces and if there are any errors within it.

39
Q

What is a trace table used for?

A

A more rigorous way of dry running a program to track the state of variables to check if the program works as expected.