logo

Topic study hub

Abstraction and automation

Official AQA 7517 section 4.4.1.

0

Objectives

10

Flashcards

10

Questions

90 min

Study time

AqaA LevelComputer ScienceTheory of computation

Choose a revision tool

Start revising Abstraction and automation

Syllabus checklist

What you need to know

0 objective pages available

Problem-solving1 objectives
  • Problem-solving: Be able to develop solutions to simple logic problems. Be able to check solutions to simple logic problems.
Following and writing algorithms1 objectives
  • Following and writing algorithms: Understand the term algorithm. A sequence of steps that can be followed to complete a task and that always terminates. Be able to express the solution to a simple problem as an algorithm using pseudo-code, with the standard constructs: • sequence • assignment • selection • iteration. Be able to hand-trace algorithms. Be able to convert an algorithm from pseudo- code into high level language program code. 54 Be able to articulate how a program works, arguing for its correctness and its efficiency using logical reasoning, test data and user feedback.
Abstraction1 objectives
  • Abstraction: Be familiar with the concept of abstraction as used in computations and know that: • representational abstraction is a representation arrived at by removing unnecessary details • abstraction by generalisation or categorisation is a grouping by common characteristics to arrive at a hierarchical relationship of the 'is a kind of' type.
Information hiding1 objectives
  • Information hiding: Be familiar with the process of hiding all details of an object that do not contribute to its essential characteristics.
Procedural abstraction1 objectives
  • Procedural abstraction: Know that procedural abstraction represents a computational method. The result of abstracting away the actual values used in any particular computation is a computational pattern or computational method - a procedure.
Functional abstraction1 objectives
  • Functional abstraction: Know that for functional abstraction the particular computation method is hidden. The result of a procedural abstraction is a procedure, not a function. To get a function requires yet another abstraction, which disregards the particular computation method. This is functional abstraction.
Data abstraction1 objectives
  • Data abstraction: Know that details of how data are actually represented are hidden, allowing new kinds of data objects to be constructed from previously defined types of data objects. Data abstraction is a methodology that enables us to isolate how a compound data object is used from the details of how it is constructed. For example, a stack could be implemented as an array and a pointer for top of stack.
Problem abstraction/reduction1 objectives
  • Problem abstraction/reduction: Know that details are removed until the problem is represented in a way that is possible to solve, because the problem reduces to one that has already been solved.
Decomposition1 objectives
  • Decomposition: Know that procedural decomposition means breaking a problem into a number of sub- problems, so that each sub-problem accomplishes an identifiable task, which might itself be further subdivided.
Composition1 objectives
  • Composition: Know how to build a composition abstraction by combining procedures to form compound procedures. Know how to build data abstractions by combining data objects to form compound data, for example tree data structure. 56
Automation1 objectives
  • Automation: Understand that automation requires putting models (abstraction of real world objects/ phenomena) into action to solve problems. This is achieved by: • creating algorithms • implementing the algorithms in program code (instructions) • implementing the models in data structures • executing the code. Computer science is about building clean abstract models (abstractions) of messy, noisy, real world objects or phenomena. Computer scientists have to choose what to include in models and what to discard, to determine the minimum amount of detail necessary to model in order to solve a given problem to the required degree of accuracy. Computer science deals with putting the models into action to solve problems. This involves creating algorithms for performing actions on, and with, the data that has been modelled.

Key terms

Boolean expressionTruth tableSelectionIterationRepresentational abstractionAbstraction by generalisation or categorisationInformation hidingEssential characteristicProcedural abstractionProcedureFunctional abstractionData abstraction

Exam tips

  • Use brackets to show the intended logic: When an expression contains both AND and OR, use brackets to make the order of evaluation explicit.
  • Trace systematically: Make a table showing the important variable values before and after each iteration.

Common mistakes

  • Testing too few cases: For a small problem, list every possible input combination and compare the actual result with the expected result for each one.
  • Forgetting to update the loop variable: Check that each iteration changes the relevant variable so that the loop can eventually terminate.

Practice preview

Continue by objective

Objectives are grouped by subtopic so students can jump straight to the exact skill they want to revise.

Related topics

Study nearby topics next