problem solving/programming structure/development Flashcards

1
Q

What is computation?

A

The process of determining something by mathematical, logical or interactive methods

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

What is computability?

A

It measures what can and cannot be computed

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

What is the definition of computing?

A

The study of natural and artificial information processes

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

What is artificial intelligence?

A

A branch of computing that studies the use of computers to perform computational tasks usually associated with the human intellect
(understanding intelligence, robotics, vision, natural languge processing, speech etc)

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

Define ‘algorithm’

A

A well defined, finite sequence of instructions designed to solve a specific problem
independent of programming language

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

What does solving a problem ‘deterministically’ mean?

A

Not guessing at a solution before confirming it

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

What is the purpose of an algorithm?

A

to communicate a computation to a human (not a computer)

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

What is a program?

A

A description in a programming language of a process which achieves a useful result
a list of instructions which when executed will cause the computer to behave in a predetermined manner

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

What are the two main principles of computation?

A

abstraction and automation

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

What is abstraction?

A

knowing/working out:

  • what is the right level of thinking for a certain problem
  • how to communicate complex ideas simply (eg ignoring details and using only the essentials)
  • how to break down problems logically
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is automation?

A

How to automate an algorithm

turning an algorithm into a computer program for a computer to execute on its own

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

What does understanding a problem mean as a process?

A

Turning an ill defined problem into a well defined problem stated clearly and unambiguously

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

What is a given?

A

The initial situation in a problem

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

What is a problem?

A

An initial situation where it is not immediately obvious how to reach the goal

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

What is a goal?

A

a desired target situation

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

What are resources?

A

Things which can be used to reach a goal and impose constraints

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

What are constraints?

A

rules, regulations and guidelines about what can and cannot be done to solve the problem

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

What are the four components of a well defined problem?

A

given, resources and constraints, a goal, ownership

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

What is ownership?

A

Who is responsible for what when working in a team to solve a problem

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

What is a boundary?

A

A form of constraint

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

What is defining boundaries?

A

Establishing the limits (a type of constraint) or rules about what can and cannot be done in solving a problem.

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

What is lateral thinking used for?

A
  • challenging assumptions
  • establishing facts and rules
  • defining the boundaries of a problem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

How should a plan of action be determined?

A
  • strategies used
  • resources used
  • how resources are used
  • in what order are resources used
  • are resources adequate for the task?
24
Q

What should you be careful to do when determining a plan of action?

A

Think about any possible consequences of carrying out a plan of action to anticipate unwanted outcomes

25
Q

What is top-down design?

A

breaking a problem into smaller sub-problems that are easier to work on

26
Q

What does a hierarchy chart represent?

A

A problem split into sub-problems

27
Q

What is a module?

A

A sub-problem

self contained entity

28
Q

What is stepwise refinement?

A

The process of breaking down into smaller problems through successive steps

29
Q

What is a structure table?

A

An indented, numbered list of steps produced by stepwise refinement

30
Q

What does a plan of action do?

A

Checks if the goal has been achieved

31
Q

What are the four steps in carrying out a plan of action?

A
  1. Reflect on what has been learnt and how it can be used for other problems
  2. If the problem has not been solved go back to defining or planning
  3. Analyse steps and results to see if any other problems have been created
  4. Stop working - more expertise may be needed or there may not be a solution
32
Q

Give examples of resources

A

tools, knowledge, skills, materials

33
Q

Give examples of constraints

A

rules, regulations, guidelines, boundaries, timings

34
Q

What is a decision table?

A

A table to show the outcome for a given logical condition

35
Q

what is sequence?

A

consecutive steps or groups of steps processed on after the other

36
Q

What is a selection?

A

A decision making step

37
Q

What is repetition/iteration?

A

A step or sequence of steps that is repeated until a condition is satisfied or only whilst a condition is specified

38
Q

What is assignment?

A

An operation which assigns a value to a variable

39
Q

What is indentation used for in a program?

A

Showing structure

40
Q

What is a hand trace/desk check/dry run?

A

a step-by-step simulation ON PAPER of how an algorithm would be executed by a computer

41
Q

What is a system?

A

A whole comprised of parts in an orderly arrangement

42
Q

What is system analysis?

A

The study of a complex process in order to improve its efficiency

43
Q

What is a manual system?

A

A system which does not include computers

44
Q

What are the stages of systems development?

A
  • analysis
  • design
  • implementation
  • testing
  • evaluation
  • maintenance
45
Q

Why might a system be deemed in need of change?

A
  • changes in organisation (eg.starting to trade online)
  • Technical developments (eg updating to better/quicker hardware devices)
  • outdated practices(eg.system cannot respond to demand quickly enough)
46
Q

What is the first step in the analysis stage?

A

Defining the problem - what is wrong with the current system and what has to be improved on

47
Q

What is the second step of the analysis stage?

A

A feasibility study - is implementing a solution technically and financially possible

48
Q

What is the third step of the analysis stage?

A

Gathering detailed facts about the current system and its flaws
(interviews, observations, questionnaires, examination of documentation)

49
Q

What is the result of the analysis stage?

A

A requirements specification

a set of system objectives

50
Q

What happens in the design stage?

A

specification of all software, hardware, data files and test plans

51
Q

What happens in the implementation stage?

A

software development, installation data preparation, training, documentation

52
Q

When does the testing stage happen?

A

during program development and before the whole system goes live

53
Q

What happens in the evaluation stage?

A

Reflecting on whether the new system solves the problem effectively

54
Q

What kind of questions are asked during the evaluation stage?

A
  • Have original requirements and objectives been met?
  • How effective is the new system at solving the problem?
  • Can users use the system easily without making mistakes or working in stressful conditions?
55
Q

What is maintenance?

A

Updating a a program to fix errors (bugs) or improve features