CA1 Flashcards

CA1

1
Q

Define:

top-down approach

A

Technique used to solve problems where the problem is broken down into smaller and smaller problems until an easily solved problem is defined.

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

Fill The Blank:

The …… ……… approach divides a problem into multiple smaller problems which can be used to individually code each module.

A

Top Down

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

Fill The Blank:

When using the top down approach, the problem is ……….. until it cannot be done so any further. This approach uses a …………. process to break down large problems.

A

Decomposed, Stepwise

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

Fill The Blank:

Each level in the top down approach shows a different level of ……. due to …………….

A

Detail, Abstraction

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

Define:

Computational Thinking

A

A method of problem solving where possible solutions are developed and presented in a way that can be understood by humans and computers

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

Define:

Abstraction

A

Removing characteristics that are not needed to focus on essential characteristics

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

Fill The Blank:

The bottom up approach, starts with the ……….. part (module) of the problem. These modules are then ………….. until the complete problem is solved.

A

Smallest, Combined

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

Guess The Keyword:

Combination of modules when using the bottom up approach

A

Integration

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

True or False:

The top down approach cannot contain redundant information.

A

False

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

True or False:

When using the bottom up approach, redundancy can be eliminated

A

True

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

Multiple Choice:

The top down approach is better suited to:
1) Procedural orientated programming
2) Object orientated programming

A

1) Procedural orientated programming

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

Multiple Choice:

The bottom up approach is better suited to:
1) Procedural orientated programming
2) Object orientated programming

A

2) Object orientated programming

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

State:

2 uses of the top down approach in development

A

2 out of:
* Module documentation
* Test case creation
* Code implentation
* Debugging

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

State:

One use of the bottom up approach in development

A

Testing

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

Fill The Blank:

The …………. approach breaks down a problem into lots of smaller components (modules) to be developed individually which is less daunting. These modules then work together to provide a solution to the initial problem.

A

Modularisation

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

Fill The Blank:

Modularisation is often used in ………. ………… programming languages

A

Object Orientated

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

State:

The four techniques, also know as pillars, in computational thinking

A

Decomposition, Pattern Recognition, Abstraction, Algorithms

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

Define:

Decomposition

A

Breaking a complex problem into smaller and more manageable seperate parts

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

Fill The Blank:

When a problem is decomposed, each part can be ………., ………. and ………….. individually

A

Developed, Tested, Evaluated

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

Fill The Blank:

The solutions to each individual problem/module can be much simpler and easier to ………………. than the larger overall problem

A

Understand

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

State:

What problem solving approach uses decomposition?

A

Top-down

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

Fill The Blank:

When decomposition is complete then each sub-problem should be at the same…

A

Level of Detail

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

State:

2 advantages of decomposition

A
  • Different people can work on different sub-tasks, modules, which can be integrated to make the final solution
  • Maintanence of the final software solution can be completed at modular level
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Fill The Blank:

Step 1) Identify and describe the …………… and ……………. It is important in this stage that the correct ……… ……… are used relating to the ……………

Steps of Decomposition

A

Problems, Processes, Technical Terms, Industry

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

State:

2 disadvantages of decomposition

A
  • The sub-problems may not correctly combine to solve the initial problem
  • If the initial problem is not fully understood, it can be difficult to decompose
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Fill The Blank:

Step 2) ………. down the problem into seperate ………

Steps of Decomposition

A

Break, Tasks

27
Q

Fill The Blank:

Step 3) …………. the tasks and subtasks. ……………… should be made to enable a third party to implement a solution to the problem

Steps of Decomposition

A

Describe, Documentation

28
Q

Fill The Blank:

Step 4) …………..; Most software is made with a ………. and tasks are usually divided between team members

Steps of Decomposition

A

Communicate, Team

29
Q

State:

2 Emerging technologies that use pattern recognition

A

2 of:
* Facial Recognition
* Voice Recognition
* Automated Transport

30
Q

Fill The Blank:

Step 1) Identifying and interpreting …………….. elements in ……………. or ………………

Steps of Pattern Recognition

A

Common, Problems, Systems

31
Q

Fill The Blank:

Step 2) Identifying and interpreting common ………………… in problems or systems

Steps of Pattern Recognition

A

Differences

32
Q

Fill The Blank:

Step 4) ………….. patterns that have been identified

Steps of Pattern Recognition

A

Describing

33
Q

Fill The Blank:

Step 5) Making ………….. based on …………. patterns

Steps of Pattern Recognition

A

Predictions, Identified

34
Q

Define:

Abstraction

A

Process of removing or filtering characteristics that are not needed in order to focus on essential characteristics

35
Q

Fill The Blank:

Step 1) Identify what …………….. is required to solve the problem, understand …….. this information is important and the ………. it is required in

Steps of Abstraction

A

Information, Why, Format

36
Q

Fill The Blank:

Step 2) Carry out abstraction to ………. out the unrequired information

Steps of Abstraction

A

Filter

37
Q

State:

What 6 elements must each layer of abstraction show

A
  • Inputs
  • Outputs
  • Variables
  • Constants
  • Key processes
  • Repeated processes
38
Q

Define:

Algorithm

A

A well-defined set of step-by-step instructions to solve a problem

39
Q

Fill The Blank:

An algorithm is language ………………

A

Independent

40
Q

State:

Give 4 requirements of an algorithm

A
  • Clear
  • Clear defined outputs and inputs
  • Simple
  • Language independent
41
Q

State:

3 advantages of an algorithm

A
  • Easy to understand by anyone
  • Step by step representation of a solution to a given problem
  • Initial problem is broken down into steps, which means it is easier to convert into code
42
Q

State:

2 disadvantages of algorithms

A
  • Can be time consuming to create
  • Some constructs can be difficult to represent
43
Q

State:

The 4 ways an algorithm can be represented

A
  • Flowchart
  • Written Description
  • Pseudocode
  • Program Code
44
Q

Define:

Flowchart

A

Graphical diagram that represents an algorithm which can be used to solve a problem

45
Q

State:

2 advantages of using a flowchart to represent an algorithm

A
  • Flow of the algorithm can be seen clearly
  • Flowcharts are created using a standardised set of symbols so can be interpreted and understood by many people
46
Q

State:

2 disadvantages of using a flowchart to represent an algorithm

A
  • Can become large and difficult to follow when representing a large program
  • Changes to design may result in the flowchart being amended or redrawn
47
Q

Fill The Blank:

Written descriptions should be in …………… language or plain English. There is no set of …….. to follow when using written description but they should be …….., ……… and contain few/no specific ………

A

Natural, Rules, Clear, Simple, Details

48
Q

State:

2 advantages of using a written description to represent an algorithm

A
  • No formal syntax, so many people can create a written description
  • Automatic and natural to use ‘proper’ English
49
Q

State:

2 disadvantages of using a written description to represent an algorithm

A
  • Temptation to create a complete description (complicating it)
  • Failure to include every step required
50
Q

Define:

Pseudocode

A

An informal description that shows the flow of an algorithm and follows a similar structure to high level languages

51
Q

State:

3 advantages of using pseudocode to represent an algorithm

A

3 of:
* Can be converted into programming code with only minor changes to obey syntax of the language
* Can be easy to follow and understand even if errors are present in the pseudocode
* Changes can be added in quickly
* Can act as a link between the algorithm and the final program
* Explains the purpose of each line of code

52
Q

State:

2 disadvantages of using pseudocode to represent an algorithm

A
  • Can be time consuming to write clear and well structured pseudocode to write the final program code
  • Can be difficult to see the logical flow of the program
53
Q

Define:

Program Code

A

Code written to solve the problem which follows the rules of a selected programming language

54
Q

State:

3 advantages of using (draft) program code to represent an algorithm

A
  • Very probable the person creating the algorithm will have programming knowledge
  • Not necessary to use the correct syntax
  • All the required constructs will be available to be included in draft code
55
Q

State:

2 disadvantages of using program code to represent an algorithm

A
  • Easy to begin creating draft code but end up creating the final program code
  • Full decomposition may not be completed
56
Q

Define:

Dry Run

A

Manually working through the code to trace the value of variables

57
Q

Define:

Trace Table

A

Tool used to test or dry run algorithms to make sure no logical errors occur while calculations are being processed

58
Q

State:

2 ways to test/check an algorithm works

A
  • Visual Check
  • Trace Table
59
Q

State:

2 advantages of using pre-written/library code

A

2 of:
* Save development time
* Save testing time
* Will be optimised (more efficient and error free)

60
Q

State:

1 disadvantage of using pre-written/library code

A

It may not be exactly what is required and may require editing to work for an unique problem

61
Q

Fill The Blank:

A ……….. check can be used to determine the purpose of the algorithm using pseudocode

A

Visual

62
Q

State:

Correct syntax for a REPEAT statement in pseudocode

A

REPEAT
{command}
UNTIL {expression}

63
Q

State:

Correct syntax for a IF statement in pseudocode

A

IF {expression} THEN
{command}
END IF