Abstraction and Automation Flashcards

(26 cards)

1
Q

What is an algorithm?

A

A sequence of steps, that can be followed to complete a task, that always terminates

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

What are some features of a good algorithm?

A
  • Allow for invalid inputs
  • Be efficient, involving as few steps as possible
  • Be understandable by others
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the algorithmic constructs?

A
  • Sequence
  • Assignment
  • Selection
  • Iteration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a “dry-run”

A

Testing an algorithm using a trace table

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

What must we consider when evaluating different algorithms?

A

Efficiency, how many cases does it work, and error handling

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

What can make an algorithm preferable?

A
  • More efficient
  • More robust and works in more cases
  • Better at handling unexpected input
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are some techniques for interpreting algorithms?

A
  • Reading comments that explain how the code works
  • Identifiers can indicate a variable’s purpose or subroutine’s function
  • “Dry-run” the algorithm to see how variables change
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is computational thinking?

A

Approach to solving complex problems through the application of abstraction, decomposition, pattern recognition and algorithmic thinking.

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

What is information hiding?

A

The process of hiding all details of an object that do not contribute to its essential characteristics

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

What is abstraction?

A

Removal of detail to focus on what is necessary to solve the problem

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

What is pattern recognition?

A

Solving problems by recognising similarities with previously solved problems and applying a similar solution

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

What is algorithmic thinking?

A

Creating a solution to a problem using algorithmic constructs (iteration, sequence, assignment, selection)

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

What is representational abstraction?

A

A representation arrived at by removing unnecessary details. eg maps

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

What is abstraction by generalisation?

A

Grouping by common characteristics to arrive at a hierarchical relationship of the inheritance type

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

What is procedural abstraction?

A

Abstracting away the actual values used in a computation to leave a computational method (procedure)

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

What’s is functional abstraction?

A

Abstracting the actual method of computation involved so that the resulting function focuses on the inputs and outputs of the function only.

17
Q

What is data abstraction?

A

Isolating how a compound data structure is used from how it is constructed

18
Q

What is problem abstraction (reduction)?

A

The removal of detail from a problem until it is represented in a way that is possible to solve because the problem reduces to one that has already been solved

19
Q

What are the two main approaches to abstraction?

A
  • Representational abstraction
  • Abstraction by generalisation
20
Q

What are the different forms of abstraction?

A
  • Procedural abstraction
  • Functional abstraction
  • Data abstraction
  • Problem abstraction/reduction
21
Q

What is procedural decomposition?

A
  • Breaking down complex problems into smaller sub-problems
  • Each sub-problem accomplishes a specific task that is easier to solve
  • These can be further subdivided until a problem is solvable
22
Q

What is composition/ compositional abstraction?

A

Form of abstraction which combines procedures to form compound procedures to solve a larger/more complex problem

23
Q

What is decomposition?

A

Breaking a problem down into smaller problems, each of which is easier to solve. These are further subdivided until a problem is solvable

24
Q

What is compound data?

A

Way of Building data abstraction by combining data objects

25
What is automation?
The process of using abstractions of real world phenomena (models) to solve problems
26
How is automation achieved?
- Designing and writing algorithms - Implementing algorithms in program code, utilising the data structures that represent the data that has been modelled - Executing the code to generate a solution to an agreed degree of accuracy