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

 From the Specification : Introduction to Principles of Computation Focus on studying the processes of computation and understanding why and where they are important in Computing. (See the Teacher Resource Bank for examples.)
 From the Specification : Stages of Problem Solving Understand the problem Define the problem given(s), goal, ownership, resources and constraints Given(s) = the initial situation Goal = Desired target situation Ownership = who does what Resources and constraints = tools, knowledge, skills, materials and rules, regulations, guidelines, boundaries, timings Define boundaries Plan solution. Check solution
 From the Specification : Top-down Design / Step-wise Refinement Consider sub-problems and the use of modules.
 From the Specification : Decision tables 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
 From the Specification : Algorithm Design 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: sequence assignment selection repetition Hand trace simple algorithms. Convert a simple algorithm from structured English into pseudo-code, pseudo-code into high level program code. Understand the standard algorithms: Bubble Sort, Linear Search