Elements of computational thinking Flashcards

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

what is the nature of abstraction ?

A

the nature of abstraction is hiding unnecessary details and showing details that are important in context

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

what are the advantages of abstraction?

A
  • makes UI’s easier to use
    -only useful data is used
    -underlying data storage and algorithms are hidden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

why is abstraction needed?

A
  • abstraction is needed as it allows us to create a general idea of what the problem is and how to solve it . this process instructs us to remove all specific details and any patterns that will not solve our problem .
  • to save memory
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

why is thinking ahead important?

A

thinking ahead is important as it allows code efficiency
and minimise errors

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

what is a precondition ? and why is it important ?

A

a precondition is a condition that must be fullfilled before other things can happen or be done .
for example , a budget

this is important as this allows the user to create a list of things they must look for in order to solve a problem

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

what is caching? and what are its benefits and drawbacks?

A

caching is the process of storing copies of files in a temporary memory location.
benefits:
-improves speed and efficiency
drawback :
-the wrong data is often fetched
-complicated to implement
-maintaing the correct sequence of instruction or data can be problematic .

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

what is a reusable program component ? and what are the benefits of using a reusable program ?

A

A reusable program component is a section of code that can be reused during the development of new programs
benefits:
- shortens development time
-saved system resources
- more time efficient
- lowers development cost

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

what is external reuse ?

A

external reuse is selling a component to a third party
e.g API

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

what is thinking procedurally ? and what is its adv?

A

thinking procedurally is identifying the individual parts of a bigger problem .- a a large complex task is broken down.

an advantage is that its easier to test and maintain

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

what is a boolean expression?

A

this is a true or false statement

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

what is a logical condition ?

A

this is when you boolean expressions to chose the most logical output

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

what is concurrently ?

A

this is when an application is making progress on more than one task at the same time. (concurrently)

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

what is parallelism ?

A

parallelism means that an application splits its tasks into smaller tasks which can be processed in Parrallel e.g over multiple cpu cores at the SAME TIME.

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

what is backtracking ?

A

backtracking is the process of building towards a solution , abandoning partial success when the solution cant be completed .

e.g going back to find other routes to solve the problem .

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

what is data mining? and when is it used

A

is the concept of analysing vast amount of data gathered from a variety of sources to discover new information .

this tends to by used by firms to maximise profits

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

what is performance modelling ?

A

performance modelling is the process of approximating how well models perform using mathematics

17
Q

what is the rule of thumb?

A

the rule of thumb is a broadly accurate guess based on theory

18
Q

what is visualisation ?

A

visualisation allows us to create a mental image of what a program will do or how it will work

19
Q

what is divide and conquer and its use?

A

divide and conquer is a technique that reduces the size of a problem with each iteration .

e,g binary search method .

20
Q

what is the difference between abstraction and reality ?

A

the difference between abstraction and reality is that reality has unecessary details , that might not link to context ; whereas abstraction is a simplification of reality

21
Q

what is a heuristic ?

A

a heuristic approach tries find an answer which is close to the optimum solution without need computing

22
Q

what is concurrent processing ?

A
  • concurrent processing is simeltaneous execution of many instruction using multiple processors
23
Q

what is the difference between pipeling and concurrent processing ?

A

the difference between them is that pipeling processes multiple instructions at different stages , whereas concurrent processing does them at once , on muultiple cpu’s

24
Q

describe Two key features of Data mining ?

A
  • data mining takes up lots of data ( high volume)
  • the data collected varies ( variety)
25
Q

what is problem recognition ?

A

the ability to recognise and acknowledge a problem

26
Q

define:
enumeration
simulation
theoretical approach
creative solution

A

enumeration - this is the process of listing all possible cases
simulation - this is the process of designing a models in order to understand the behaviour of the system
theoretical approach -this is the most theoretical approach

27
Q

what are the benefits and trade offs of concurrent processing ?

A

Benefits :
-reactive programming
-avaliablity of servies
-controlability

Trade offs:
- safety
-liveness
-resource consumption

28
Q

what are the benefits of using Abstraction before coding ?

A

-Reduced development time
-Program more likely to solve the problem
-Reduces complexity of programming code