Comp1-Problem solving(utter bs) Flashcards
define computation?
the act or process of calculating or determining something by mathematical or logical or interactive methods.
define computability
measures what can and cannot be computed
What is abstraction?
USung the right level of thinking for the problem. communicating complex ideas simply How can we break up problems logically
what is automation?
automating an abstraction. a programmer turning an algorithm into a computer program for a computer to solve.
What is AI
artificial intelligence. A branch of computing that studies the use of computes to preform processes normally associated with the human intellect.
What is an algorithm?
A well defined, finite sequence of instructions designed to solve a specific problem independent of programming language
what is deterministically?
without guessing the at a solution before confirming it.
Whats the purpose of an algorithm
to communicate a computation to humans. (not computers)
what is a program?
A description in a programming language that when runs achieves something useful.
What is a given?
The initial situation
why are algorithms and computer programs different?
A algorithm is a description of a process with no programming language. This can be programmed into many different languages (programs)
What is a problem?
a give where it is not immediately obvious how to reach the goal.
What are resources?
things that can be used to real goal and impose constraints.
Understanding a problem means….
turning a ill defined problem into a well defined problem stated clearly.
What are the four things a well defined problem has?
Constraints and resources, givens , a goal and ownership.
What is a goal?
a desired outcome.
What is defining boundary’s
establishing the limits or rules about what can and cannot be done when solving a problem. These limits are a type of constaint.
What is lateral thinking?
used to establish facts and rules, challenge assumptions, and define the boundaries of problem solving.
what is ownership?
Who is involved in planning and carrying out the solution.
what is top down design?
breaking aproblem down into smaller problems that are easier to work on.
What is a module?
a self contained entity that results when a problem is divided into subproblems (by top down design) . each module is a sub problem.
What is stepwise refinement?
The process of breaking a problem down through successive steps into smaller problems.
What is a structure table?
an indented, numbered list of steps produced by stepwise refinement.
how would you use lateral thinking?
Identify the assumptions youve made and challenge them. establish the real facts.
why is lateral thinking useful in problem solving?
It tells you the true facts and boundaries.
The four steps of carrying out a plan of action?
-Reflect on a solved problem, how can this help? -define the problem , plan a solution -Analyse your steps and results, are there now more problems? -Stop working on it, you might need more knowledge or its unsolvable.
how would you use step wise refinement?
Start with a bigger problem and break it intoi successivly smaller problems. Eq travelling from a city to another step one is which city you go though step 2 is which roads youre on between thoes citys.
how do you plan a solution?
- What strategies will u apply? -What resources will u use? -How will these be used? - what order will u use them? -Are these resources adequate enough?
How do you make a program easy to understand?
Indentation, suitable variable names, procedures and functions, local variables.
What is hand-race, desk check or dry run?
A careful step by step simulation on paper of how an algorithm would be executed by a computer.
What are the three constructs of that are used to construct any algorithm ?
-Sequence = consecutive steps processed one after each other. -Selection= a decision making step -Repetition/iteration = a step/sequence of steps that are repeated until a condition is satisfied.
four major steps in solving a computer problem?
Identify inputs identify outputs determine variables derive the algorithm
what is psudocode?
code that resembles a programming language but uses less strict syntax to express an algorithm and is independent of any real programming language.
what is assignment?
an operation that assigns a value to a variable.
What are identifiers?
names given to variables , procedures and functions.
What is the routine interface?
the part of the procedue/function that list the parameters and is used to pass data in and out the routine.
the diagram of the systems development life cycle.
