Computational Thinking Flashcards

1
Q

What is representational abstraction?

A

The process of removing unnecessary details until its possible to represent the problem in a way that it can be solved

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

What is abstraction by generalisation?

A

The process of placing aspects of the problem into broader categories to arrive at a hierarchical representation

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

What is procedural abstraction?

A

The concept that solutions can be broken down into a series of subroutines or procedures
All of which can be solved individually and can be further broken down

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

What is functional abstraction?

A

Abstracting a procedure into a group of common functions

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

What is problem abstraction?

A

The process of reducing a problem down into its simplex components until the underlying processing requirements that solve the problems are identified.

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

What is information hiding?

A

The process of providing a definition or interface of a system whilst hiding the inner workings (e.g. GUI hides the complexity of a program)

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

What is decomposition?

A

The process of breaking large complex tasks into smaller, more manageable tasks

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

What is composition?

A

Creating a working system from the smaller processes

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

What is automation?

A

Creating computer models of real life situations and putting them into action
(e.g. Computer Model that models the profits of a coffee shop)

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

What is a set?

A

A data type which contains unordered, unique values

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

What is the cardinality of a set?

A

The number of elements within a set (only in finite sets)

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

What is a subset?

A

A set which contains items from another set, but not every item from the other set

Symbol: ⊆

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

Membership of a set symbols:

A

In a set: ∈
Not in a set: ∉

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

What is a union? (combining sets)

A

Elements in A OR B
Set A ∪ Set B

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

What is an intersection? (Combining Sets)

A

Elements in A and B
Set A ∩ Set B

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

What is a difference? (Combining Sets)

A

A set which contains items exclusive to one set
A NOT B
B NOT A

A\B = {x : x ∈ A and x ∉ B}.

17
Q

What does the * represent? (Regular Expressions)

A
  • Means 0 or more repetitions
    ab* = {a, ab, abb, abbb, …}
18
Q

What does the + represent? (Regular Expressions)

A

+ Means 1 or more repetitions
a+b = {ab, aab, aaab, …}

19
Q

What does the ? represent? (Regular Expressions)

A

? means that the previous character is optional
a?b = {b, ab}

20
Q

What does | represent? (Regular Expressions)

A

means or
a|b = {a, b}

21
Q

What does () represent? (Regular Expressions)

A

() is used to group regular expressions
(ab) | (cd) e = {abe, cde}

22
Q

What is Big O Notation?

A

Big O Notation describes the complexity of an algorithm, by assuming the worst case scenario.

23
Q

What is the order of complexity? (Least Complex to Most Complex)

A

Constant O(1)
Logarithmic O(logN) Binary Search
Linear - O(N) Linear Search
Linear Logarithmic - O(NLogN) Merge Sort
Polynomial - O(^2) Bubble Sort
Exponential - O(2^N) Recursively Counting Fibonacci Numbers
Factorial - O(N!) Travelers Problem

24
Q

What is an intractable problem?

A

A problem that is theoretically possible, but not within polynomial time
(e.g. Factorial or Exponential)

25
Q

What is a heuristic algorithm?

A

An algorithm which doesn’t give a fully accurate answer, but one with an approximate solution within a polynomial time

26
Q

What is the halting problem?

A

An unsolvable problem - it is impossible to write an algorithm to determine if another algorithm will finish giving a particular input. Therefore it isn’t possible to create a turing machine to solve it

27
Q

What is a Universal Machine?

A

A turing machine which can simulate the behaviour of any other Turing Machine by reading the description of the turing machine and faithfully executing operations on data
Acts as an interpeter as they can read their instructions in sequence before faithfully executing instructions on their input data.

28
Q

Why are Turing Machines useful?

A

They provide a definition of what is computable, meaning they can prove that there are problems which cannot be solved by computers - such as the halting problem

29
Q

What is a turing machine?

A

A formal model of computation which consists of a finite state machine, a read/write head and also a tape which is infinitely long
It is viewed as a computer which runs a single program

30
Q

Why is a Universal Machine deemed more powerful than a regular computer?

A

Contains an infinite read/write head - therefore infinite memory

31
Q

State the relationship between an algorithm and a turing machine

A

A turing machine can only be designed to solve a problem if an algorithm already exists for the problem

32
Q

Why is a UTM considered an interpreter?

A

Reads instructions line by line and executes them