Flashcards in problem solving/programming structure/development Deck (55):
What is computation?
The process of determining something by mathematical, logical or interactive methods
What is computability?
It measures what can and cannot be computed
What is the definition of computing?
The study of natural and artificial information processes
What is artificial intelligence?
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)
A well defined, finite sequence of instructions designed to solve a specific problem
independent of programming language
What does solving a problem 'deterministically' mean?
Not guessing at a solution before confirming it
What is the purpose of an algorithm?
to communicate a computation to a human (not a computer)
What is a program?
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
What are the two main principles of computation?
abstraction and automation
What is abstraction?
-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
What is automation?
How to automate an algorithm
(turning an algorithm into a computer program for a computer to execute on its own)
What does understanding a problem mean as a process?
Turning an ill defined problem into a well defined problem stated clearly and unambiguously
What is a given?
The initial situation in a problem
What is a problem?
An initial situation where it is not immediately obvious how to reach the goal
What is a goal?
a desired target situation
What are resources?
Things which can be used to reach a goal and impose constraints
What are constraints?
rules, regulations and guidelines about what can and cannot be done to solve the problem
What are the four components of a well defined problem?
given, resources and constraints, a goal, ownership
What is ownership?
Who is responsible for what when working in a team to solve a problem
What is a boundary?
A form of constraint
What is defining boundaries?
Establishing the limits (a type of constraint) or rules about what can and cannot be done in solving a problem.
What is lateral thinking used for?
-establishing facts and rules
-defining the boundaries of a problem
How should a plan of action be determined?
-how resources are used
-in what order are resources used
-are resources adequate for the task?
What should you be careful to do when determining a plan of action?
Think about any possible consequences of carrying out a plan of action to anticipate unwanted outcomes
What is top-down design?
breaking a problem into smaller sub-problems that are easier to work on
What does a hierarchy chart represent?
A problem split into sub-problems
What is a module?
(self contained entity)
What is stepwise refinement?
The process of breaking down into smaller problems through successive steps
What is a structure table?
An indented, numbered list of steps produced by stepwise refinement
What does a plan of action do?
Checks if the goal has been achieved
What are the four steps in carrying out a plan of action?
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
Give examples of resources
tools, knowledge, skills, materials
Give examples of constraints
rules, regulations, guidelines, boundaries, timings
What is a decision table?
A table to show the outcome for a given logical condition
what is sequence?
consecutive steps or groups of steps processed on after the other
What is a selection?
A decision making step
What is repetition/iteration?
A step or sequence of steps that is repeated until a condition is satisfied or only whilst a condition is specified
What is assignment?
An operation which assigns a value to a variable
What is indentation used for in a program?
What is a hand trace/desk check/dry run?
a step-by-step simulation ON PAPER of how an algorithm would be executed by a computer
What is a system?
A whole comprised of parts in an orderly arrangement
What is system analysis?
The study of a complex process in order to improve its efficiency
What is a manual system?
A system which does not include computers
What are the stages of systems development?
Why might a system be deemed in need of change?
-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)
What is the first step in the analysis stage?
Defining the problem - what is wrong with the current system and what has to be improved on
What is the second step of the analysis stage?
A feasibility study - is implementing a solution technically and financially possible
What is the third step of the analysis stage?
Gathering detailed facts about the current system and its flaws
(interviews, observations, questionnaires, examination of documentation)
What is the result of the analysis stage?
A requirements specification
(a set of system objectives)
What happens in the design stage?
specification of all software, hardware, data files and test plans
What happens in the implementation stage?
software development, installation data preparation, training, documentation
When does the testing stage happen?
during program development and before the whole system goes live
What happens in the evaluation stage?
Reflecting on whether the new system solves the problem effectively
What kind of questions are asked during the evaluation stage?
-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?