Computational thinking Flashcards

1
Q

What is abstraction

A

breaking down problems to their essential features

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

What is representational abstraction

A

removing unnecessary details so that only the information needed to solve the problem is left

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

what is abstraction by generalisation/categorisation?

A

reducing problems by putting similar aspects of a problem into hierarchal categories.

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

What is functional abstraction

A

breaking problems down into functions

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

What is top down design?

A

breaking a problem down from the most important to least important systems in a tree like diagram

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

what is data abstraction?

A

hiding how data is represented to allow it to be represented as a different object ( like building a stack from an array)

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

What is problem abstraction

A

identify an underlying problem in the aim that its already been solved.

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

what is information hiding?

A

the process of providing a definition or interface of an object while hiding how it truly works

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

What is decomposition?

A

breaking tasks into smaller tasks

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

what is composition

A

building a system from smaller units.

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

What is a Turing Machine?

A

a finite state machine that can read or write data to an unlimited tape

there is a start state and any state with no outgoing transition is called a halting state

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

What is a universal machine?

A

a machine that can simulate a Turing machine by reading a description of the machine as well as an input of its own tape

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

What is a regular language?

A

any language that can be described using reg-ex

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

what is reg-ex?

A

a notation form that contains strings of characters that can be matched to the content of a set.

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

What is a context free language?

A

an unambiguous way of describing the syntax of a language, where the syntax is complex.

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

What is Backus-Naur form

A

a form of notation used to describe the syntax used by a programming language.

17
Q

What is a syntax diagram

A

a method of visualising rules written in BNF or other context free languages.

18
Q

what is space complexity?

A

how much space an algorithm requires

19
Q

What is time complexity

A

How much time an algorithm requires

20
Q

what is O(1)

A

constant time

21
Q

what is O(N)

A

when the time taken to run is directly proportional to the input size (linear search)

22
Q

what is O(n**2)

A

polynomial time, where the time is proportional to the square of the input size.

23
Q

what is O(2**N)

A

exponential time where the runtime doubles for each input

24
Q

what is O(logN)

A

logarithmic time

25
Q

how do u derive big O notation

A
  • No data loops or recursion will be O(1)
  • loops through an array once will be O(N)
  • nested loops will be O(N^2) plus 1 to the power for each nested loop
  • recursion is O(x^N)