problem solving

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/94

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

95 Terms

1
New cards

What is the purpose of a visual check in algorithm development?

A visual check of algorithms using pseudocode.

2
New cards

What does an oval symbol represent in a flowchart?

The start and end of a flowchart.

3
New cards

What does a rectangle symbol represent in a flowchart?

A process that has to be carried out.

4
New cards

What does a diamond symbol represent in a flowchart?

A decision point with two outputs (true/false, yes/no).

5
New cards

What does a parallelogram symbol represent in a flowchart?

An input or output operation.

6
New cards

What does a circle symbol represent in a flowchart?

Used to link parts of a flowchart that cannot be easily connected.

7
New cards

What do arrows represent in a flowchart?

Shows the direction of the algorithm's flow.

8
New cards

What is included in arithmetic expressions used in pseudocode?

Includes add, subtract, divide, exponent, modulo, and integer division.

9
New cards

What is an exponent?

The power to which a number is raised (represented by ^). Example: 3^3 = 27

10
New cards

What is the function of modulo

The remainder after dividing one number by another (represented by mod or %). Example: 50 % 8 = 2

11
New cards

What happens during integer division?

Division in which the remainder is discarded (represented by DIV). Example: 50 DIV 8 = 6

12
New cards

What is the purpose of relational operators in pseudocode?

Defines a relationship between two values; includes equal to, not equal to, greater than, greater than or equals, less than, less than or equals.

13
New cards

What is the function of logical operators?

Words used to connect two or more conditions (AND, OR, NOT).

14
New cards

How can errors in an algorithm be identified at the design stage?

By visual checking and dry running.

15
New cards

What programming constructs do algorithms make use of?

Sequence, selection, and iteration.

16
New cards

What shape represents a process in a flowchart?

A process that has to be carried out.

17
New cards

What is modular division?

The remainder from division.

18
New cards

What does the relational operator >= mean?

Greater than or equal to.

19
New cards

What is an example of an expression using the logical operator AND?

IF x>1 AND x<9

20
New cards

Identify one situation where algorithms can be used to make decisions that will affect society.

Determining where to put a new hospital or emergency service hub.

21
New cards

What is computational thinking?

A problem-solving method using computer science techniques where possible solutions are developed and presented in a way that can be understood by humans and computers.

22
New cards

What are the three main approaches to solving problems related to the use of digital systems?

Top-down, bottom-up, and modularisation.

23
New cards

Describe the top-down approach.

A technique used to solve problems where the problem is broken down into smaller and smaller problems (modules) until an easily solved problem is defined.

24
New cards

In the top-down approach, how is a complex problem divided?

Into multiple smaller parts which can then be used to code the associated modules. Each module is decomposed until the final module(s) cannot be further decomposed.

25
New cards

What is the flow of control in the top-down approach?

Always in the downward direction.

26
New cards

How is the top-down approach usually represented?

As a tree structure.

27
New cards

Define decomposition.

Breaking a complex problem into smaller sub-problems.

28
New cards

Define abstraction.

The process of removing or filtering characteristics that are not needed, in order to focus on essential characteristics.

29
New cards

Describe the bottom-up approach.

The process starts with the smallest part (module) of the problem. These are then combined to move up a level, and this continues until the complete problem is solved.

30
New cards

What is the combination of modules in the bottom-up approach called?

Integration.

31
New cards

What are the main concepts of the top-down approach?

Splitting the problem into smaller sub-problems and contains redundant information.

32
New cards

What are the main concepts of the bottom-up approach?

Merging the fundamental low-level problems into a larger one and redundancy can be eliminated.

33
New cards

What type of programming languages are used in the top-down approach?

Structure/procedural-oriented programming languages (e.g., C).

34
New cards

What type of programming languages are used in the bottom-up approach?

Object-oriented programming languages (e.g., Python, Java).

35
New cards

What is the main use of the top-down approach?

Module testing.

36
New cards

What is the main goal of the modularisation approach?

To break a problem into different components or modules to make it more manageable and solvable.

37
New cards

How do modules contribute to solving a problem in the modularisation approach?

Modules work together to provide a solution to the initial problem, with each module acting as a subprogram.

38
New cards

What are the four techniques or pillars of computational thinking?

Decomposition, pattern recognition, abstraction, and algorithms.

39
New cards

Define decomposition in the context of computational thinking.

Decomposition is the technique of breaking a complex problem or system into smaller, more manageable, separate parts or modules.

40
New cards

How does decomposition aid in problem-solving?

Decomposition makes complex problems easier to solve and large digital systems easier to design and create by breaking them into understandable parts.

41
New cards

What is the benefit of solving decomposed parts of a problem?

The solution to each decomposed part may be much simpler, and when all the parts are solved, these solutions can be put together to solve the initial problem.

42
New cards

What is computational thinking?

Computational thinking involves techniques like decomposition, pattern recognition, abstraction, and algorithms to solve problems.

43
New cards

What is the aim of the modularisation approach?

The aim of the modularisation approach is to break a problem into different components, or modules.

44
New cards

What is the top-down approach to problem solving?

It uses decomposition, breaking down the initial problem until no more decomposition can be carried out.

45
New cards

What is an advantage of using decomposition?

Different people can work on different sub-tasks (modules) which can then be integrated.

46
New cards

What is a disadvantage of using decomposition?

The sub-problem modules may not combine to solve the initial problem, or it can be difficult to decompose if the initial problem is not fully understood.

47
New cards

What are the four steps of decomposition?

  1. Identify and describe the problems and processes. 2. Break down the problems into separate tasks. 3. Describe the tasks and subtasks. 4. Communicate.
48
New cards

Why is clear and concise documentation important during decomposition?

To enable a third party to implement the solution to the problem.

49
New cards

What is pattern recognition in the context of problem solving?

Identifying commonalities between problems or programs to solve complex problems more efficiently.

50
New cards

Give an example of a pattern that is in a non-digital context?

Schools and colleges having timetables showing lessons, teachers, rooms, days, and times.

51
New cards

Who deciphered coded messages from the Enigma Machine at Bletchley Park?

Alan Turing and the team of code breakers.

52
New cards

What was the Enigma Machine used for?

To convert each message into code using different ciphers.

53
New cards

What is the key to initially cracking an Enigma Machine cipher?

Recognition of the cipher's patterns.

54
New cards

Give three examples of emerging technology applications that use pattern recognition.

Facial recognition, voice recognition software, and automated transport.

55
New cards

What is Facial recognition software?

Software that can identify or confirm someone's identity using their face in a photo, video, or in real-time.

56
New cards

What is the first step in identifying and recognizing patterns when beginning to code?

Identifying and interpreting common elements in problems or systems.

57
New cards

When is there more than likely going to be an existing solution to the problem?

When a common pattern has been identified.

58
New cards

What is an example of identifying and interpreting common differences in problems or systems?

All customer databases store records of customers, but what information is held and how it is recorded may be different.

59
New cards

What are the three types of individual elements in patterns?

Input, process, or output.

60
New cards

What should be done when a pattern has been identified?

Describe the identified pattern.

61
New cards

Once a pattern has been identified, what decision can be made?

A decision can be made about using it multiple times in code or reusing it in a different program.

62
New cards

What is abstraction?

The process of removing or filtering characteristics that are not needed, in order to focus on essential characteristics.

63
New cards

What is a well-known example of abstraction?

The London Underground map.

64
New cards

What is abstraction?

The process of removing unnecessary details to focus on essential characteristics of a problem.

65
New cards

What is the purpose of using the London Underground map as an example of abstraction?

It demonstrates how unnecessary details (like exact distances) are removed to simplify navigation.

66
New cards

What is a model in the context of abstraction?

A general idea of a problem obtained by removing specific details through abstraction.

67
New cards

What are the two main steps involved in abstraction?

  1. Identifying necessary information. 2. Filtering out unnecessary information.
68
New cards

What elements should each layer of abstraction show?

Inputs, outputs, variables, constants, key processes, and repeated processes.

69
New cards

Define 'variables' in the context of abstraction.

Values that change, often due to user input or calculations.

70
New cards

Define 'constants' in the context of abstraction.

Values that do not change during program execution.

71
New cards

What is syntax in the context of algorithms?

The structure of statements.

72
New cards

What is pseudocode?

An informal programming description showing the flow through a process, similar to a high-level language.

73
New cards

What are the advantages of using pseudocode?

Easy conversion to programming code, easy to follow, quick implementation of changes, acts as a link to the final program, explains code purpose.

74
New cards

What are the disadvantages of using pseudocode?

Can be time-consuming to write clearly, can be difficult to see the logical flow.

75
New cards

What is 'draft program code'?

Code written to solve a problem, but not necessarily following strict syntax rules; used to create an algorithm.

76
New cards

What is a trace table?

A tool used to test algorithms by dry running them with specific values, recording the values of variables.

77
New cards

What is an algorithm?

A plan or set of step-by-step instructions.

78
New cards

What are the advantages of algorithms?

Easy to understand, step-by-step representation, breaks down problems for easier coding.

79
New cards

What are the disadvantages of algorithms?

Can be time-consuming to create; some constructs are difficult to represent.

80
New cards

What is a flowchart?

A graphical diagram representing an algorithm.

81
New cards

What are the advantages of flowcharts?

Clear flow of the program, standardized symbols for easy understanding.

82
New cards

What are the disadvantages of flowcharts?

Can become large and difficult to follow with complicated programs; changes require amendments or redrawing.

83
New cards

What are written descriptions in algorithms?

Algorithms written in a natural language (plain English).

84
New cards

What are the advantages of using written descriptions for algorithms?

No formal syntax, easy to create.

85
New cards

What are the disadvantages of using written descriptions for algorithms?

Temptation to create a complete description, failure to include every step.

86
New cards

What is pattern recognition?

Identifying and recognizing patterns in data or systems.

87
New cards

Give an example of emerging technology applications using pattern recognition.

Facial recognition, voice recognition software, and automated transport.

88
New cards

List the steps to identifying and recognizing patterns when beginning to code.

  1. Identifying common elements. 2. Identifying common differences. 3. Identifying individual elements. 4. Describing patterns. 5. Making predictions.
89
New cards

What is abstraction the process of?

Removing or filtering characteristics that are not needed, in order to focus on essential characteristics.

90
New cards

What is a search algorithm?

An algorithm that examines data to find a specified value.

91
New cards

What is a sort algorithm?

An algorithm that puts a data set into a specified order.

92
New cards

Name standard searching algorithms.

Linear and binary searches.

93
New cards

Name standard sorting algorithms.

Bubble and merge sorts.

94
New cards

What are the advantages of using pre-written code from a library?

Saves development and testing time, optimized code, efficient and free of errors.

95
New cards

What are the disadvantages of using pre-written code from a library?

May not meet exact requirements, may require editing, integration difficulties.