4.4.1 Theory of Computation Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What are the strategies for Problem Solving?

A

1) Exhaustive Search: Going through every possible combination until the problem is solved
2) Divide and Conquer: Splitting up the problem into the middle and other sections and solving off size

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

Define Algorithm?

A

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

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

What is Abstraction by Generalisation?

A

Simplifying by grouping common characteristics of a problem together to arrive at a hierarchical relationship

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

What is Representational abstraction?

A

Simplifying a problem by only taking into consideration necessary details required to obtain a solution leaving a representation without any unnecessary details

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

What is Information Hiding?

A

1) 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
6
Q

What is Procedural abstraction?

A

1) Simplifying a problem by breaking it down into a series of procedures or subroutines that are generalised with variable parameters

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

What is Functional abstraction?

A

1) A mapping from one set of values to another, the result of this mapping is unique to a given set of inputs and a value must always be returned

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

What is Data Abstraction?

A

1) Data abstraction is the isolation of how a compounds data object is used from the details of how it is constructed
2) E.g. Stack implemented as an array and a pointer for the top of the stack

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

What is Problem reduction?

A

1) Removing the details until the problem is represented in a way that is possible to solve

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

What is Procedural Decomposition?

A

1) Breaking down a problem into a number of sub-problems each of which performs an identifiable task
2) These identifiable tasks can be further subdivided

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

How can Procedural Decomposition be achieved?

A

1) Top-down Problem: Look at a problem as a whole and break down its components systematically until you reach the basic building blocks of the solution
2) Divide and Conquer: Recursion is used to repeatedly divide or ‘unfold’ a task into subtasks until an easy task is produced

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

What is Composition?

A

1) Combining procedures to form compound procedures or combining objects to form compound data such as records, trees, lists etc
2) Compound data primitives can be combined to form compound data structures

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

What is Automation?

A

1) The process of taking a model (abstraction of real-world objects) and implementing a solution to solve problems

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

How can Automation be carried out?

A

1) Creating Algorithms
2) Implementing Algorithms
3) Implementing the models in data structures
4) Executing code

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