Section 10: Computational thinking Flashcards

1
Q

What is the definition of representational abstraction?

A

A representation arrived at by removing unnecessary details.

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

Why is abstraction a key feature of high-level programming languages?

A

Abstraction has been used in the development of programming languages from machine code to high-level code.
This allows programmers to focus primarily on the problem that they’re trying to solve, rather than getting caught up in extremely tedious and confusing syntax.

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

Explain the idea of data abstraction.

A

The details of how data is actually represented are hidden, since we’re not interested in how it is stored as developers.
Due to this, we can create abstract data types such as queues and stacks that have logical functions and properties that may not necessarily be true to their physical properties.

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

What are the advantages of specifying a problem’s preconditions?

A

Advantages of specifying preconditions:

  • Gives the developer an idea of what validation is needed
  • Makes an algorithm more easily reusable for the future
  • If we recognise that there are no preconditions, then we know that extra validation is unneeded, saving unnecessary code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is caching?

A

Caching is the temporary storage of data that is likely to need to be accessed in the near future, such as program instructions or frequently accessed files.

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

How does caching relate to computational thinking?

A

Caching is an example of thinking ahead, done automatically by an operating system rather than by a developer.

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

What is meant by procedural abstraction?

A

Procedural abstraction means using a procedure to carry out a sequence of steps in order to complete a given task.

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

What is meant by the procedure interface?

A

The procedure interface is the idea that a programmer using a procedure does not need to know its inner workings, only how it is called and what arguments are to be passed through it.

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

What is top-down design?

A

Top-down design is a method of breaking down a problem by taking the big task, breaking it down into slightly smaller sub-tasks, and then continually breaking down the sub-tasks until there is a set of sufficiently simple subroutines which can be written.

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

What is a hierarchy chart?

A

A hierarchy is a way of representing a program’s structure, showing the relationship between the modules.

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

Describe the concept of parallel processing.

A

Parallel processing means using multiple cores in order to simultaneously execute instructions with the goal of increasing throughput over a given time.

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

Describe the concept of concurrent processing.

A

Concurrent processing means attending to a number of processes, each receiving some attention, the extent of which being dependent on the scheduling algorithm in place.

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

What is the key difference between parallel and concurrent processing?

A

The key difference is that parallel processing is executing tasks simultaneously, while concurrent processing is executing them in a circular fashion in order to give the impression they’re being processed in parallel.

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

What is enumeration?

A

Enumeration is a method of problem-solving by which one would perform an exhaustive search, trying all possible solutions until the correct one is found.

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

What makes a problem computable (theoretically)?

A

A problem is defined as being computable if there is an algorithm that can solve every instance of it in a finite number of steps.

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

What is simulation?

A

Simulation is the process of designing a model of a real system in order to understand the behaviour of said system, and to evaluate various strategies for its real life operation.