2.1 Elements of computational thinking Flashcards

1
Q

Define computational thinking

A

The ability to think logically about a problem and apply techniques for solving it

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

Define Abstraction

A

The process of removing unneeded complexities, which creates a more generalised solution that is more useful. Reduces computational resources required. Focus on the main purpose of program

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

What is the need for abstraction?

A

Saves memory and resources: Large amount of irrelevant data, that would prevent the most efficient and general solution being found

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

Give some examples of abstraction (3)

A

Replacing complex objects with simple ones (like shapes)
Removal of scenery
Places can be represented by shapes with names

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

Define thinking ahead

A

The process of identifying the inputs, outputs and preconditions of a program

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

What are the advantages of defining preconditions

A

advantages of defining preconditions
Makes program components reusable, cuts out unnecessary checks, makes program easier to debug and maintain

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

What is the need for reusable program components

A

Saves time and money, pre-written code will be well tested and bug free, inputs outputs and preconditions already specified

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

Define caching

A

Saving Data and instructions that are frequently accessed in case they are needed again. Allows for faster access in future

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

What are some advantages of web caching

A

Faster access to cached resources, saves use of bandwidth, reduces load on web server

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

What are some disadvantages of web caching

A

May cause user to view “stale” copies of the website, takes up space on the hard drive

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

What are some programming standards

A

Inputs outputs and preconditions should be documented, variable identifiers should conform to a standard convention, all variables should be local to the module, documentation should be in a standard format, code should be commented, no module > one page

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

What makes a problem solvable by computational methods **

A

Involves calculations, has inputs processes and outputs, involves logical reasoning

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

Define thinking procedurally

A

The process of identifying the subprocedures necessary to solve a problem

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

Define decomposition

A

The process of breaking done a larger problem into several smaller problems that are easier to solve

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

Define structured/ modular programming

A

Uses top-down analysis for problem solving, identifying major tasks and breaking them down into subtasks, Tasks and subtasks are written as separate, self contain modules using local variables, Uses selection iteration and sequence (structured code)

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

Define modularisation

A

Breaking down of a program into several blocks of self contained code called modules

17
Q

What are the benefits of modularisation

A

Programs are more reliable and have few errors, programs take less time to test and debug, programs are easier to maintain, modules can be reused, several programmers can work on the same program at once

18
Q

What is a system diagram

A

One in which a program is broken down into its subprocedures which are then broken down into their subprocedures etc

19
Q

Define thinking logically

A

The process of deciding and identifying where decisions should be or are made in a program

20
Q

Define decision points

A

Points in a program where a decision is made based on a condition that affects the flow of a program

21
Q

How do decisions affect the flow of a program

A

Different decisions are made based on conditions. Different decisions case different outcomes, affecting the flow of the program

22
Q

Define thinking concurrently

A

The process of identifying multiple tasks that can be done at the same time

23
Q

Define concurrent processing

A

One process does not have to finish before the other starts.
Processes are happening at the same time.
Each process given a slice of processor time.
Gives the appearance that several tasks are being performed simultaneously, even though only one processor is being used

24
Q

Define parallel processing

A

Multiple processors each executing different instructions simultaneously, with the goal of speeding up computations. Impossible on a single processor

25
Q

What are the benefits of concurrent processing

A

Faster program throughput on average, lower processor downtime

26
Q

What are the downsides of concurrent processing

A

Slow down when many tasks are being requested at the same time, takes longer to finish a single part in isolation

27
Q
A