A-level Computing/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Problem Solving

Focus on studying the processes of computation and understanding why and where they are important in Computing. (See the Teacher Resource Bank for examples.)

* /Introduction to principles of computation/


 * 1) Understand the problem
 * 2) Define the problem
 * 3) * given(s), goal, ownership, resources and constraints
 * 4) * Given(s) = the initial situation
 * 5) * Goal = Desired target situation
 * 6) * Ownership = who does what
 * 7) * Resources and constraints = tools, knowledge, skills, materials and rules, regulations, guidelines, boundaries, timings
 * 8) Define boundaries
 * 9) Plan solution.
 * 10) Check solution

* /Stages of problem solving/

Consider sub-problems and the use of modules.

* /Top-down design and Step-wise refinement/

Determine logical conditions and consequential actions

Finite state machines with outputs - Mealy machine Finite state machines without outputs - Finite State Automation
 * state transition diagrams - Draw and interpret simple state transition diagrams, transition tables.
 * state transition tables

* /Decision tables/ * /Finite state machines/

Understand the term algorithm.

Express the solution to a simple problem as an algorithm using flowcharts, pseudo-code or structured English and the standard constructs: Hand trace simple algorithms. Convert a simple algorithm from Understand the standard algorithms: Bubble Sort, Linear Search
 * sequence
 * assignment
 * selection
 * repetition
 * structured English into pseudo-code,
 * pseudo-code into high level program code.

* /Algorithm design/ * /Trace tables/ * /Pseudo code/ * /Searching and sorting/