2.1 Computational thinking Flashcards

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

Abstraction

A

Simplifying a problem by only taking into consideration the necessary details required to obtain a solution leaving a representation without any unecessary details

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

Data abstraction

A

details about how data is being stored are hidden

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

Graph theory

A

A branch of paths that can be used to abstractly represent problems using a collection of nodes connected by edges

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

Caching

A

The temporary storage of data by the system in cache or memory for the benefit of faster retrieval if it is needed again in future

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

Inputs

A

Any information relevant to the problem that is required by the system for processing

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

Outputs

A

The result returned by a system for a given input after running the entire process or part of a process

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

Preconditions

A

A perquisite or state of a system and its surroundings required to run a use case and return a valid solution

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

Reusable program components

A

Components that have already been written, debugged and tested that can be transplanted into new systems to save development time in project completion

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

Procedural abstraction

A

Achieving a task by relying on a procedure of sequential steps

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

Components of a problem

A

The smaller, simpler series of tasks and sub-procedures a problem can be broken down into to be completed modularly

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

Flowcharts

A

A representation of the flow of a program that includes all the points where a decision needs to be taken in order to obtain a solution

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

Logical conditions

A

Conditions which may depend on one or more variables used to determine the next step whenever a system has to make a decision. They are typically implemented using control structures such as sequences selections and iterations

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

Concurrent processing

A

Processing where the system appears to perform multiple tasks simultaneously

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

What is abstraction by generalisation

A

grouping together similarities within a problem to
identify what kind of problem it is where a common solution can be used to solve these problems

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

How does procedural abstraction work

A

It models what a subroutine does without considering how this is done.
Once a procedure has been coded, it can be reused as a black-box

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

What do large problems make use of in relation to abstraction

A

multiple levels of abstraction, where each level
performs a different role

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

What are the highest levels of abstraction when multiple are used

A

closest to the user and are
usually responsible for providing an interface for the user to interact with hardware

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

What are the hlowest levels of abstraction when multiple are used

A

e lowest levels of abstraction are responsible for actually performing these
tasks through the execution of machine code.

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

TCP ip model abstraction

A

abstraction for how networks function,
separated into four layers of abstraction

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

Do each layer in the TCP IP model need to know how the others work

A

No

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

Outgoing and ingoing TCP IP model

A

Outgoing go down from application and incoming goes up from link

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

OOP abstraction

A

Object-oriented programming makes use of objects, which
are also an abstraction for real-world entities

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

What does abstraction consider in OOP

A

abstraction considers the
functionality, interface and properties of entities. Attributes
are an abstraction for the characteristics of an object while
methods are an abstraction for the actions a real-world object is able to perform

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

What is the purpose of thinking ahead?

A

To make programs easy and intuitive for users to use

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

Inputs?

A

Any data that is required to solve a problem, usually entered into the system by the user

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

Outputs?

A

The results that are passed back once the inputs have been processed and the problem solved

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

What considerations do programmers need to make about inputs and outputs when thinking ahead?

A

Method of input/output (device used)
Data structures used
Data types used
Order of data

28
Q

You must be able to extract inputs and outputs from a real world scenario…

Book reservation system, e.g. at a library?

A

Inputs - Book details: name, author, ISBN, Borrower details: name, library card number, Collection point

Outputs - Expected waiting time, Confirmation, Availability at other libraries

29
Q

What are preconditions?

A

Requirements which must be met before a program can be executed

30
Q

Where can preconditions be defined?

A

Within the code or within documentation

31
Q

Where are preconditions required?

A

Stack functions - check stack isn’t empty when popping an element from a stack, or is full when pushing an element onto the stack

Factorial function - the number passed to the function cannot be negative

32
Q

What are the advantages of including preconditions within the documentation accompanying a subroutine?

A

Reduces the length of the program
Reduces the complexity of the program
Saves time needed to debug and maintain a longer program
Makes subroutine more reusable

33
Q

What is caching?

A

The process of storing instructions or values in cache memory after they have been used, as they may be used again

34
Q

How is caching used in storing web pages?

A

Web pages that a user frequently accesses are cached, so the next time one of these pages is accessed, content can be loaded without any delay

35
Q

What are the advantages of caching web pages?

A

Content can be loaded without delay images and text do not have to be downloaded again multiple times
Frees bandwidth for other tasks on a network
Less time is spent wasting

36
Q

What is the name given to the technique in which algorithms are used to predict which instructions are likely to soon be used?

A

Prefetching

37
Q

What are the limitations of caching?

A

Accuracy of the algorithm used
Effectiveness of algorithm in managing the cache
Size of the cache

38
Q

What are the advantages of reusable components?

A

More reliable than new components, as they have already been tested
As developing from scratch is not required, this saves time, money and resources

39
Q

What are some examples of reusable components?

A

Abstract data structures e.g. queues and stacks
Classes
Subroutine

40
Q

What are the limitations of using reusable components?

A

Compatibility issues with the rest of the software Causing to be more costly and time-consuming then developing them in-house

41
Q

What is the first stage of thinking procedurally?

A

Taking the problem defined by the user and breaking it down into its constituent parts

42
Q

What is the purpose of problem decomposition?

A

To make complex problems easier to solve and more manageable by allowing tasks to be divided between a group of people according to individual skill sets

43
Q

What is another name given to top-down design?

A

Stepwise Refinement

44
Q

What is the purpose of top-down design?

A

Continually break problems down into subproblems until each subproblem can be represented as a single task and ideally a self-contained subroutine

45
Q

What are the benefits of using a top-down design?

A

Problems can be solved and modules developed by different people
Tasks can be tested separately, modules are self-contained

46
Q

What sort of problems is top-down design suited to?

A

Large, complex problems

47
Q

What is the second stage of thinking procedurally in software development?

A

Identifying components of a solution

48
Q

How can the lowest level subproblems in top-down design in code?

A

As self-contained modules or subroutines

49
Q

What do software developers need to consider when recombing components of a solution?

A

The order in which subroutines are executed, and how they interact with each other, based on their role in solving the problem

50
Q

What must a software developer do before designing a subroutine to solve a particular problem?

A

See whether it is possible for an already existing subroutine or module to be used

51
Q

What are the advantages of utilising reusable components?

A

More reliable than newly-coded components, as they have already been tested
This saves time, money and resources

52
Q

What is a decision?

A

A result reached after consideration.

53
Q

When are decisions made?

A

Whenever you have a choice to make

54
Q

What is a decision shape in a flowchart?

A

A diamond

55
Q

In a flowchart how many options can you pick from a decision?

A

2 different options - yes or no / true or false

56
Q

How do you make effective decisions?

A

By evaluating the importance of different factors and selecting options which satisfy the needs of the task the most appropriately

57
Q

Does the result of a decision affect the flow of the program?

A

The program will follow a different route depending on the decision made by the user

58
Q

What is concurrent thinking?

A

It is completing more than one task at any given time

59
Q

Are concurrent processing and concurrent thinking the same thing?

A

No, one uses computer processors, one uses the human brain

60
Q

What is parallel processing?

A

Completing multiple tasks simultaneously at any given time

61
Q

What is concurrent processing?

A

Giving a slice of processor time to tasks to give the illusion of parallel processing

62
Q

What are the benefits of concurrent processing?

A

More tasks can be completed in a given time
Other tasks can be completed while waiting for an input/user interaction

63
Q

What are the drawbacks of concurrent processing?

A

If lots of users are requesting for tasks to be completed, it takes longer for everyone to complete their task

64
Q

What is representational abstraction

A

analysing what is relevant to a given scenario and simplifying a problem based on
this information

65
Q

What is categorisation generilsation

A

Another form of abstraction involves grouping together similarities within a problem to
identify what kind of problem it is

66
Q

What does abstraction by generalisation allow

A

certain problems to be categorised as being of a particular type. Thus a common solution
can be used to solve these problems