Fundamentals of Computational Thinking Flashcards

1
Q

Define Automation

A

Creating a computer model of a real-life situation and putting it into action

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

Define Logical reasoning

A

the process of using a given set of facts to determine whether new facts are true or false.

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

Define representational abstraction

A

The process of removing unnecessary details so that only information that is required to solve the problem remains.

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

Define the term Algorithm

A

A sequence of instrucutions to achieve a specific outcome in a finite time.

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

Define decomopsition

A

Breaking down a large task into a series of subtasks

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

Define composition

A

Building up a whole system from smaller units. (Opposite of decomposition)

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

What is a Finite State Machine? (FSM)

A

Any device that stores its current status and whose status can change as the result of an input. (Mainly used as a conceptual model for designing and describing systems.)

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

What is a state transition diagram

A

A visual representation of a FSM using circles and arrows.
Single circle = state
Arrow = input
Double circle = Accepting state or final state

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

What is a state transition table.

A

A tabular representation of a FSM showing:

Inputs, Current State and Next State (3 columns)

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

Define the term Mealy Machine

A

This is a finite state machine with outputs

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

What is a Turing Machine

A

A theoretical model of computation

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

Define the term Alphabet in terms of a Turing Machine

A

The acceptable symbols, charactor and/or numbers for a given Turing Machine

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

What is a read/write head?

A

The theoretical device that writes or reads from the current cell of a tape in a Turing machine.

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

What is a halting state?

A

A state that, when reached, stops the Turing machine

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

What is a regular expression?

A

Notation that contains strings of characters that can be matched to the contents of a set.

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

Define the term regular language

A

Any language that can be described using regular expressions

17
Q

What does a + mean in a regular expression?

A

One more more of the previous statement

18
Q

What does a ? mean in a regular expression?

A

Either zero or one of the previous statement

19
Q

What does a | mean in a regular expression?

A

The previous statement or the next statement

20
Q

What does a * mean in a regular expression?

A

Zero or more of the previous statement

21
Q

Therefore what is the meaning of this statement?

(a|b)c

A

a or b and c

22
Q

What does {x, y} mean in a regular expression where x and y are different integers?

A

The previous statement at least x times, but no more than y times (therefore it is inclusive of those numbers)

23
Q

What is a function defined as in Big O notation?

A

It relates each element of a set with the element of another set. E.g. f(x) = 2x

24
Q

What is the domain?

A

All the values that may be input to a mathmatical function.

25
Q

What is the codomain? (range in Maths)

A

All the values that may be output from a mathmatical function.

26
Q

Big O notation describes two complexities of an algorithm. What are they?

A

1) Time complexity - how much time an algorithm requires to complete
2) Space complexity - how much space an algorithm requires to complete

27
Q

What does the notation O(1) represent?

A

Constant time - where the time taken to run an algorithm does not vary with the input size.

28
Q

What does the notation O(N) represent?

A

Linear Time - where the time taken to run an algorithm increases in direct proportion to the input size

29
Q

What does the notation O(N^2) represent?

A

Polynomial time - where the time taken to run an algorithm increases in proportion to the square of the input size

30
Q

What does the notation O(2^N) represent?

A

Exponential time - where the time taken to run an algorithm increases as an exponential function of the number of inputs.

E.g. for each additional input the time taken might double.

THIS IS BAD!

31
Q

What does the notation O(logN) represent?

A

Logarithmic time - where the time taken to run an algorithm increased or decreases in line with a logarithm.

32
Q

What is the order of efficiency of all 5 of the Big O notations?

A

1) O(1) or Constant Time
2) O(logN) or Logarithmic Time
3) O(N) or Linear Time
4) O(N^2) or Polynomial Time
5) O(2^N) or Exponential Time

33
Q

What is a tractable problem?

A

A problem that can be solved in an acceptable amount of time.

34
Q

What is an intractable problem?

A

A problem that cannot be solved within an acceptable time frame.

35
Q

Define the term Heuristic.

A

A method for producing a ‘rule of thumb’ to produce an acceptable solution to intractable problems.

36
Q

What is a Halting Problem?

A

An example of an unsolvable problem where it is impossible to write a program that can work out whether another problem will halt given a particular input.