Specifications that use this resource:

Scheme of work: co-teaching

This scheme of work is intended to illustrate how our new AS and A-level qualifications can be co-taught in the first year of an A-level course (assuming a 1 year AS). The scheme is intended as an outline and teachers should make necessary modifications to enable the scheme to operate with their particular  circumstances.

There are no prior learning requirements required to undertake our AS or A-level Computer Science qualifications. Any requirements for entry to a course based on this specification are at the discretion of schools and colleges. However, we recommend that students should have the skills and knowledge  associated with a GCSE Computer Science course or equivalent.

This scheme is arranged mainly by topic: many topics could be subdivided and addressed in an overlapping sequence. The use of practical exercises to explore topics is encouraged, both to deepen understanding of those topics and also incrementally to gain experience in designing, coding and testing  programs. For brevity, these activities are not explicitly shown in this scheme of work.

Teaching resources are available on the Computer Science area of our website, and will be updated periodically.

We're collaborating closely with publishers to ensure that you have textbooks to support you and your students with these new specifications.

Once the textbooks have completed the AQA approval processes they will be badged 'AQA approved', it is likely that AQA approved textbooks will be available from April 2015.

Software is also available from Educational  computing

Assumed coverage

This scheme assumes 240 contact hours across two years for the A-level, possibly timetabled as three 75 minute lessons per week.

Homework is set both to extend and to reinforce the skills and concepts.

This scheme covers parallel teaching of the AS and elements of the first year of the A-level specification. Topic references in year 1 are from the AS specification only, please refer to the A-level specification for the appropriate A-level references.

Year 1

Topic Subject-specific skills Guidance Learning activity

3.1.1.1–14

Programming

12 hours

Apply fundamental concepts of programming to given tasks.

Accurately use vocabulary.

Introduction to the chosen programming language and its development environment.

Application of concepts, operations and simple data constructs to complete simple programs and develop the confidence to experiment.

3.2.1–3

Fundamentals of data structures, including arrays and text files

4 hours

Gain experience in using data structures.

Read and write to and from text files.

Progression to a wider range of program tasks, including 1- and 2-dimensional arrays.

Applying data structure concepts to familiar contexts and exploring efficient representations.

Extending experience in programming.

3.5.1

Number systems

1 hour

Be familiar with concepts and uses of number systems.

Accurately use vocabulary.

Counting with natural numbers; measuring with real numbers.

Apply appropriate number sets in context.

3.5.2–4

Fundamentals of data representation

5 hours

Recognise binary and other representations and discuss their uses, advantages and limitations.

Perform calculations.

Accurately use vocabulary.

A calculator may be used in Paper 2.

Note that floating point form is only required at A-level.

Program functions to convert between number bases and prefix systems.

Practise binary arithmetic.

3.5.5

Information coding systems

5 hours

Describe and explain the use of:
  • parity bits
  • majority voting
  • check digits.
Note that checksums are only required at A-level.

Practical exercise could include related skills.

3.5.6.1–4

Representing images sound and other data

4 hours

Describe the details of how bit patterns may represent other

forms of data, including graphics and sound.

Note that uses of analogue/digital conversion are only required at A-level. Explore representations of images and sounds.

3.5.6.7–8

Sound including MIDI

4 hours

Describe the digital representation of sound.

Discuss MIDI.

Verify calculations of sound sample sizes by experiment.

Suggested resource

3.5.6.9–10 Compression

2 hours

Discuss compression and compare methods.

Practical exercise in compressing a text file using RLE and dictionary-based method.

3.5.6.10

Encryption

4 hours

Describe and define encryption and its practical limitations; use Caesar and Vernam ciphers. This could be linked to topic 3.8, Consequences of uses of computing.

Practical exercises using Caesar and other ciphers.

Visits to or from Bletchley Park Trust

Suggested resource

3.4.1

Theory of computation: abstraction and automation

5 hours

Understand the concepts and gain experience in the techniques and processes.

Accurately use vocabulary.

This topic gives the theoretical underpinning to practical skills already addressed and introduces ideas for refining design.

Produce comprehensive descriptive documentation for successive stages of designing solutions, using a range of techniques including diagrams, pseudocode and commenting.

3.4.2.1

Finite state machines (FSMs)

4 hours

Manipulate state transition diagrams and state transition tables for FSMs.

FSMs with output (Mealy machines) are only required for A-level.

Suggested resource

3.13

Systematic approach to problem solving

10 hours

Gain experience in solving problems by iterating stages of development, including:

Abstracting

Structuring

Coding

Testing.

This can build experience for both paper 1 and NEA assessment (for those taking A-level).

Differentiation and extension can be readily applied to this stage.

Gaining experience through developing a guided project.

3.9

Fundamentals of communication and networking

12 hours

Identify and describe the principal technologies and protocols, including those underlying the Internet.

A wide range of devices connect to networks and can be used to explore the possibilities and limitations in a practical way.

Practical configuration of wired and wireless networks with gateways and routers at classroom scale.

3.6.1–3

Fundamentals of computer systems

8 hours

Understand and explain relationships and classifications of system components.

Accurately use vocabulary.

This includes hardware, software, programming languages and program translators.

Deconstructing the software and demonstrating machine code and assembly code.

Suggested resource

3.6.4–5

Logic gates and Boolean Algebra

4 hours

Apply logic gate designs to Boolean expressions, and vice versa, using truth tables and diagrams; manipulate and simplify Boolean expressions. Note that some aspects of logic gates are only required at A-level.

Suggested resource

3.7.1

Internal hardware components of a computer

4 hours

Being able to describe the main components and how they relate to each other.

Accurately use vocabulary.

Opening up a computer and exploring the component parts.

Simulation tools can demonstrate internal communication between components.

Suggested resource

3.7.2–3

Stored program concept, and the structure and role of the processor and its components

8 hours

Explain and interpret the role and operation of the components and instruction set in the Fetch-Execute cycle. Note that interrupts are only required at A-level.

Practical exploration of operations using a simulator.

Suggested resources:

ARMsim

The Little Man Computer

ASM Tutor

3.7.4

External hardware devices

4 hours

Discuss the main characteristics, purposes and suitability of input, output and secondary storage devices.

Devices that need to be considered are:

  • barcode reader
  • digital camera
  • laser printer
  • RFID.
  • hard disk
  • optical disk
  • solid-state disk (SSD).
Practical exploration of available devices.

3.8

Consequences of uses of computing

4 hours

Describe and discuss individual (moral), social (ethical), legal and cultural issues and opportunities.

Topical issues frequently arise to inspire and inform debate. Hypotheticals and case studies (see specification).

Preparation for exams

16 hours

Study of the skeleton program can be used at appropriate points throughout the year.

A-level candidates might usefully sit a mock exam; they might also begin defining and planning for their project work.

Suggested resource

Total 120 hours

Year 2

TopicSubject-specific skillsGuidanceLearning activity

4.14

Non-exam assessment – the computing practical project

40 hours

The project allows students to develop their practical skills in the context of solving a realistic problem or carrying out an investigation.

Students will benefit from a good understanding of the marking criteria.

Work on the project may begin at any stage.

Work on development is likely to continue in parallel with study of other topics.

4.2.1.4 and 4.2.2

Abstract data types

6 hours

Be able to use and discuss abstract data types and their equivalent data structures in simple contexts.
Required types are:
  • queue
  • stack
  • list
  • graph
  • tree
  • hash table
  • dictionary
  • vector.

Practical programming.

Students should also be familiar with methods for representing them when a programming language does not support these structures as built-in types.

Suggested resource

4.3

Fundamentals of algorithms

8 hours

Trace and describe a range of algorithms and analyse their time complexity.  

Practical exercises in tracing a range of algorithms.

Role-play enactment of sorting people, eg by age or height.

Suggested resource

4.5.4.4

Numbers with a fractional part

2 hours

Describe representation in fixed point and floating point form.

Convert between decimal and binary.

This builds on work done earlier.

Revision of topic 3.5.4 from year 1, with the addition of floating point form.

Suggested resource

4.5.4.5–9

Floating point form: errors, normalisation and other characteristics

1 hour

Describe and compare characteristics of fixed point and floating numbers.   Practical exercises and calculations.

4.5.5.3

Checksums

1 hour

Describe and explain the use of:
  • parity bits
  • majority voting
  • check digits.
 

Revision from year 1 with additional consideration of checksums.

Practical exercise could include related skills.

Suggested resource

4.1.1.15–16

Stack frames; recursive techniques

2 hours

Explain the use of stack frames, and recursive techniques, and solve simple problems. Implementation will depend on the chosen language.

Programming solutions using recursion and observing program flow by stepping through.

4.7.3.6

Interrupts

1 hour

Describe the use, effect and implications of interrupts.  

Revision from year 1 with additional consideration of interrupts.

4.1.2

Programming paradigms

6 hours

Explain and justify the use of both procedural and object-oriented programming paradigms.

Accurately use vocabulary.

Students would benefit from practical experience of programming to an interface, but will not be explicitly tested on programming to interfaces or be required to program to interfaces in any practical exam. Practical experience of programming in each paradigm is expected.

4.4.2.1

Finite state machines (FSMs) – continued

2 hours

Manipulate state transition diagrams and state transition tables for FSMs. FSMs with output (Mealy machines) are required for A-level.

Revision from year 1, with additional consideration of FSMs with outputs.

4.4.2.2–4

Regular expressions, and language

2 hours

Interpret and use regular expressions and describe regular language.

Accurately use vocabulary.

This topic links to study of FSMs and to the use of queries in databases. Practical exercises in manipulating sets of numbers and strings.

4.4.3

Backus-Naur form

2 hours

Be able to use and discuss BNF and syntax diagrams.

BNF can represent some languages that cannot be represented using regular expressions.

Application of methods to examples.

4.5.6.3

Analogue/digital conversion

1 hour

Be able to state uses for ADC and DAC.  

Revision from year 1 with additional consideration of uses.

Practical work with audio sampling and playback at different rates.

Suggested resource

4.5.6.5–6

Vector graphics

1 hour

Describe and compare bitmapped and vector approaches.   Exploration of graphics software.

4.10

Fundamentals of Databases

6 hours

Model, describe, explain and normalise relational databases.

Use SQL with multiple tables.

Discuss concurrent access in a client-server database.

Normalisation enhances data integrity and reduces redundancy.

Concurrent access can result in the problem of updates being lost if two clients edit a record at the same time.

Practical work using RDBMS.

Resource suggestion:

Suggested resource

4.13

Systematic approach to problem solving – continued

1 hour

Software development.  

Preparation for the project, and revision of iterative development methods.

4.4.4.1–6

Classification of algorithms

3 hours

Discuss efficiency in terms of time and resources.

Distinguish orders of complexity.

Discuss tractability, heuristic methods and non-computable problems.

This develops the concepts of topic 3.3 (AS reference).

There is a wide choice of resources for studying the Travelling Salesman and other optimisation problems

Suggested resource

4.4.5

Turing machine

4 hours

Describe the features and importance of a Turing machine.

Manipulate transition rules.

Hand-trace simple Turing machines.

Exam questions will only be asked about Turing machines that have one tape that is infinite in one direction.

Simulators include Turing machine simulation, Turing machines implemented in Java and Turing machine

4.9.3–4

4 hours

The Internet and TCP/IP.  

Access to network tools and perhaps a sandbox network with admin rights, to experiment.

4.4.4.7

The Halting Problem

1 hour

Describe the problem and its implications. Proof is not required.

Turing’s general definition of a computational machine provides the context for the Halting Problem.

4.12

Fundamentals of functional programming

4 hours

Describe details of the functional programming paradigm.

Show experience of constructing simple programs in a functional programming language, including list operations.

Describe and apply list processing operations.

The following is a list of functional programming

languages that could be used:
  • Haskell
  • Standard ML
  • Scheme
  • Lisp.

Other relevant languages are also listed in the specification.

Practical exercises in one or more appropriate languages.

4.11

Big Data

2 hours

Describe the various meanings of the term Big Data.

Discuss the advantages of functional programming when working on big datasets.

Describe fact-based models and graph schemas.

Whilst its size receives all the attention, the most difficult aspect of Big Data really involves its lack of structure.

Practical exploration of big datasets.

Exam preparation

20 hours

 

At appropriate stages, the skeleton program (for Paper 1) can be used as context for study and revision.

Pre-release material will be available on 1 September of the academic year of certification.

Suggested resource

Total 120 hours