Revise Computingrevisecomputing.co.uk
Free student revisionSee questionsFor schoolsSchool enquiry
Free revisionSee questionsFor schoolsSchool enquiry
Knowledge/A Level/H446/02 Algorithms and programming/Thinking abstractly/Devise an abstract model for a variety…

Devise an abstract model for a variety of situations

Devise an abstract model for a variety of situations.

2.1.1 Thinking abstractly

Thinking abstractly — Note 4 of 4

Candidates may be given a scenario and be asked how abstraction can be applied to it, how it has been applied, or how further abstraction can be applied.

What you need to know

You need to be able to take a real situation and create an abstract model of it: deciding what to keep, what to leave out and how to represent the remaining information in a program.

What to know

  • Step 1: identify the purpose of the model: what question must it answer?
  • Step 2: identify the relevant entities and data (e.g. stations and journey times) and discard irrelevant detail (e.g. the colour of the trains).
  • Step 3: choose how to represent the data: variables, records, classes, arrays, graphs, etc.
  • Step 4: identify the processes and rules that act on the data.
  • Example: a route planner can model a road network as a weighted graph, with junctions as nodes and roads as edges weighted by distance or time.
  • Example: a board game can model the board as a 2D array and each player as an object with a position and score.

Exam technique

  • Tip:Justify every detail you include and every detail you leave out in relation to the purpose of the model.
← Previous noteThe differences between an abstraction and reality2.1.1 Thinking abstractlyNext topic →Identify the inputs and outputs for a given situation2.1.2 Thinking ahead

Back to Thinking abstractly

Thinking abstractly

Note 4 of 4

  1. 1The nature of abstraction
  2. 2The need for abstraction
  3. 3The differences between an abstraction and reality
  4. 4Devise an abstract model for a variety of situations
Topic overview