Chapter 1: Problem solving Flashcards

1
Q

What is computational thinking?

A

Thought processes involved in creating solutions to problems, which can be easily and effectively carried out by computers

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

What is decomposition?

A

Breaking a problem down into smaller, more manageable parts (sub-problems) which are easier to solve

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

What is abstraction?

A

The process of removing or hiding unnecessary detail so that only the important points remain

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

What are the advantages of using subprograms, APIs and libraries in programs?

A

A programmer can use someone else’s subprogram even if they don’t know how it works
Reduce the complexity of programs and make them easier to understand
Different subprograms can be written by different programmers
(libraries) less testing required
(libraries) Code is quicker to write
Code only has to be written once

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

When is linear search more appropriate?

A

Searching an unsorted list just once

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

When is binary search more appropriate?

A

Searching a sorted list once or sorting and then searching a large initially-unsorted list multiple times``

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