Problem solving Flashcards

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

What is top down design/stepwise refinement?

A
  • It’s used to plan solutions based on a top down strategy, problems are broken down into smaller steps, which are broken into even smaller steps,
  • Smaller steps are easier to understand and solve.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the advantages to using top down design?

A
  • Breaking down the problem helps to show exactly what needs to be achieved
  • The refinement makes it easier to solve
  • Parts of the solution can be reusable
  • Breaking it into different parts means multiple people can work on it
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is an algorithm?

A

A set of instructions, that when followed complete a task

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

What are hand trace algorithms?

A

A form of dry run testing where a program is tested and the variables are recorded.

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

What is abstraction?

A

Abstraction is the removing of unnecessary details

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

What is procedural abstraction?

A
  • When large programs are written by breaking them down into smaller subprograms called procedures.
  • The computational method used is not hidden (though it can be used by the operator without an understanding of its process)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is information hiding?

A
  • Hiding complexity from the customer by hiding details of the implementation of software components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is functional abstraction?

A
  • The computational method used is hidden.
  • Built in/library functions are examples of functional abstraction
  • The user calls the function name and a values is returned but they have no knowledge of the internal code within the function
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is data abstraction and give an example of this?

A
  • Where the details of how a compound data object is constructed are isolated from how the data is used
  • The primitive data objects that make up a user-defined structure are hidden from the user.
  • User-defined data structures, such as records are an example.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is problem abstraction/reduction?

A
  • Where the details of the problem are removed/reduced, until the problem is represented in a way that is straightforward to solve.
  • It might show that this problem has already been solved or has a similar solution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is decomposition?

A

The process of breaking down a problem into smaller problems so it’s easier to understand and solve

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

What is composition?

A

The process of creating a system by combining tasks identified in the decomposition stage

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

What is the automation process?

A

Creation of algorithms
Implementing them in program code
Implementing the models in data structures
Executing the code

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

What are the steps of composition?

A
  • writing procedures for each of the tasks identified in the decomposition
  • Linking these procedures to create compound procedures
  • Creating the necessary data structures to support the compound procedures
How well did you know this?
1
Not at all
2
3
4
5
Perfectly