# COMP1 - 1 - Problem Solving

## 29 terms · Revision for Problem Solving in COM1 AQA AS Computing

### Computation

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

### Computability

Measures what can and cannot be computed

### Computing

The study of natural and artificial processes

### Artificial intelligence

A branch of computing that studies the use of computers to perform computational processes normally associated with the human intellect

### Algorithm

A description, independent of any programming language, of a process that achieves some task. It is a step-by-step procedure for solving a problem

### Deterministically

Without guessing a solution before confirming it

### Program

A description in a programming language of a process that achieves some useful result

### Given

An initial situation

### Problem

A given where it is not immediately obvious how to reach the goal

### Goal

A desired outcome

### Resources

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

### Defining boundaries

Establishing the limits or rules about what can and cannot be done when solving a problem. These limits are a type of constraint

### Lateral thinking

Used to challenge assumptions, establish facts and rules and define the boundaries of problem solving

### Top-down design

Breaks a problem into smaller problems that are easier to work on

### Module

A self-contained entity that results when a problem is divided into subproblems; each module corresponds to a subproblem

### Stepwise refinement

The process of breaking a problem down through successive steps into smaller problems

### Structure table

An indented, number list of steps produced by stepwise refinement

### Finite state machine

A machine that consists of a fixed set of possible states with a set of possible states with a set of allowable inputs that change the state and a set of possible outputs

### State transition diagram

A way of describing an FSM graphically. Each state is represented by a circle and each transition by an arrow labelled with the input that causes the transition plus any output resulting from the transition

### State transition table

Shows the effect on the current state of an FSM of a particular inputs and any corresponding output

### Decision table

A table that shows the outcome for a given logical condition

### Algorithm

A description, independent of any programming language, of a process that achieves some task. It is a step-by-step procedure for solving a problem

### Program

A description in a programming language of a process that achieves some useful result

### Sequence

Consecutive steps or groups of steps processed one after another in the order that they arise

### Selection

A decision-making step

### Repetition or iteration

A step or sequence of steps that are repeated until some condition is satisfied or while some condition is satisfied

### Structured English

A very restricted subset of the English language

### Pseudocode

Code that resembles a programming language but that uses less strict syntax to express an algorithm and is independent of any real programming language

### Hand trace, desk check or dry run

A careful step-by-step simulation on paper of how an algorithm would be executed by a computer