Bag Of Cows

AQA A Level Specification
Computer Science 7516 & 7517

AS All Paper 1 Paper 2
A Level All Paper 1 Paper 2
New at A Level All Paper 1 Paper 2

View all detail of all sections
View all detail of expanded sections
View in summary

4.1 Fundamentals of programming

4.1.1 Programming

4.1.1.1 Data types

4.1.1.2 Programming concepts

4.1.1.3 Arithmetic operations in a programming language

4.1.1.4 Relational operations in a programming language

4.1.1.5 Boolean operations in a programming language

4.1.1.6 Constants and variables in a programming language

4.1.1.7 String-handling operations in a programming language

4.1.1.8 Random number generation in a programming language

4.1.1.9 Exception handling

4.1.1.10 Subroutines (procedures/functions)

4.1.1.11 Parameters of subroutines

4.1.1.12 Returning a value/values from a subroutine

4.1.1.13 Local variables in subroutines

4.1.1.14 Global variables in a programming language

4.1.1.15 Role of stack frames in subroutine calls

4.1.1.16 Recursive techniques

4.1.2 Programming paradigms

4.1.2.1 Programming paradigms

4.1.2.2 Procedural-oriented programming

4.1.2.3 Object-oriented programming

4.2 Fundamentals of data structures

4.2.1 Data structures and abstract data types

4.2.1.1 Data structures

4.2.1.2 Single- and multi-dimensional arrays (or equivalent)

4.2.1.3 Fields, records and files

4.2.1.4 Abstract data types/data structures

4.2.2 Queues

4.2.2.1 Queues

4.2.3 Stacks

4.2.3.1 Stacks

4.2.4 Graphs

4.2.4.1 Graphs

4.2.5 Trees

4.2.5.1 Trees

4.2.6 Hash Tables

4.2.6.1 Hash Tables

4.2.7 Dictionaries

4.2.7.1 Dictionaries

4.2.8 Vectors

4.2.8.1 Vectors

4.3 Fundamentals of algorithms

4.3.1 Graph-traversal

4.3.1.1 Simple graph-traversal algorithms

4.3.2 Tree-traversal

4.3.2.1 Simple tree-traversal algorithms

4.3.3 Reverse Polish

4.3.3.1 Reverse Polish Š—– infix transformations

4.3.4 Searching algorithms

4.3.4.1 Linear search

4.3.4.2 Binary search

4.3.4.3 Binary tree search

4.3.5 Sorting algorithms

4.3.5.1 Bubble sort

4.3.5.2 Merge sort

4.3.6 Optimisation algorithms

4.3.6.1 DijkstraŠ—Čs shortest path algorithm

4.4 Theory of computation

4.4.1 Abstraction and automation

4.4.1.1 Problem-solving

4.4.1.2 Following and writing algorithms

4.4.1.3 Abstraction

4.4.1.4 Information hiding

4.4.1.5 Procedural abstraction

4.4.1.6 Functional abstraction

4.4.1.7 Data abstraction

4.4.1.8 Problem abstraction/reduction

4.4.1.9 Decomposition

4.4.1.10 Composition

4.4.1.11 Automation

4.4.2 Regular languages

4.4.2.1 Finite state machines (FSMs) with and without output

4.4.2.2 Maths for regular expressions

4.4.2.3 Regular expressions

4.4.2.4 Regular language

4.4.3 Context-free languages

4.4.3.1 Backus-Naur Form (BNF)/syntax diagrams

4.4.4 Classification of algorithms

4.4.4.1 Comparing algorithms

4.4.4.2 Maths for understanding Big-0 notation

4.4.4.3 Order of complexity

4.4.4.4 Limits of computation

4.4.4.5 Classification of algorithmic problems

4.4.4.6 Computable and non-computable problems

4.4.4.7 Halting problem

4.4.5 Turing Machine

4.4.5.1 Turing Machine

4.5 Fundamentals of Data Representation

4.5.1 Number Systems

4.5.1.1 Natural Numbers

4.5.1.2 Integer numbers

4.5.1.3 Rational numbers

4.5.1.4 Irrational numbers

4.5.1.5 Real numbers

4.5.1.6 Ordinal numbers

4.5.1.7 Counting and measurement

4.5.2 Number Bases

4.5.2.1 Number base

4.5.3 Units of Information

4.5.3.1 Bits and bytes

4.5.3.2 Units

4.5.4 Binary number system

4.5.4.1 Unsigned binary

4.5.4.2 Unsigned binary arithmetic

4.5.4.3 Signed binary using twoŠ—Čs complement

4.5.4.4 Numbers with a fractional part

4.5.4.5 Rounding errors

4.5.4.6 Absolute and relative errors

4.5.4.7 Range and precision

4.5.4.8 Normalisation of floating point form

4.5.4.9 Underflow and overflow

4.5.5 Information coding systems

4.5.5.1 Character form of a decimal digit

4.5.5.2 ASCII and Unicode

4.5.5.3 Error checking and correction

4.5.6 Representing images, sound and other data

4.5.6.1 Bit patterns, images, sound and other data

4.5.6.2 Analogue and digital

4.5.6.3 Analogue/digital conversion

4.5.6.4 Bitmapped graphics

4.5.6.5 Vector graphics

4.5.6.6 Vector graphics versus bitmapped graphics

4.5.6.7 Digital representation of sound

4.5.6.8 Musical Instrument Digital Interface (MIDI)

4.5.6.9 Data compression

4.5.6.10 Encryption

4.6 Fundamentals of computer systems

4.6.1 Hardware and software

4.6.1.1 Relationship between hardware and software

4.6.1.2 Classi cation of software

4.6.1.3 System software

4.6.1.4 Role of an operating system (OS)

4.6.2 Classification of programming languages

4.6.2.1 Classification of programming languages

4.6.3 Types of program translator

4.6.3.1 Types of program translator

4.6.4 Logic gates

4.6.4.1 Logic gates

4.6.5 Boolean algebra

4.6.5.1 Using Boolean algebra

4.7 Fundamentals of computer organisation and architecture

4.7.1 Internal hardware components of a computer

4.7.1.1 Internal hardware components of a computer

4.7.2 The stored program concept

4.7.2.1 The meaning of the stored program concept

4.7.3 Structure and role of the processor and its components

4.7.3.1 The processor and its components

4.7.3.2 The Fetch-Execute cycle and the role of registers within it

4.7.3.3 The processor instruction set

4.7.3.4 Addressing modes´Žč

4.7.3.5 Machine-code/assembly language operations

4.7.3.6 Interrupts

4.7.3.7 Factors affecting processor performance

4.7.4 External hardware devices

4.7.4.1 Input and output devices

4.7.4.2 Secondary storage devices

4.8 Consequences of uses of computing

4.8.1 Individual (moral), social (ethical), legal and cultural issues and opportunities

4.8.1.1 Individual (moral), social (ethical), legal and cultural issues and opportunities

4.9 Fundamentals of communication and networking

4.9.1 Communication

4.9.1.1 Communication methods

4.9.1.2 Communication basics

4.9.2 Networking

4.9.2.1 Network topology

4.9.2.2 Types of networking between hosts

4.9.2.3 Wireless networking

4.9.3 The Internet

4.9.3.1 The Internet and how it works

4.9.3.2 Internet security

4.9.4 The Transmission Control Protocol/Internet Protocol (TCP/IP) protocol

4.9.4.1 TCP/IP

4.9.4.2 Standard application layer protocols

4.9.4.3 IP address structure

4.9.4.4 Subnet masking

4.9.4.5 IP standards

4.9.4.6 Public and private IP addresses

4.9.4.7 Dynamic Host Con guration Protocol (DHCP)

4.9.4.8 Network Address Translation (NAT)

4.9.4.9 Port forwarding

4.9.4.10 Client server model

4.9.4.11 Thin- versus thick-client computing

4.10 Fundamentals of databases

4.10.1 Conceptual data models and entity relationship modelling

4.10.1.1 Conceptual data models and entity relationship modelling

4.10.2 Relational databases

4.10.2.1 Relational databases

4.10.3 Database design and normalisation techniques

4.10.3.1 Database design and normalisation techniques

4.10.4 Structured Query Language (SQL)

4.10.4.1 Structured Query Language (SQL)

4.10.5 Client server databases

4.10.5.1 Client server databases

4.11 Big Data

4.11.1 Big Data

4.11.1.1 Big Data

4.12 Fundamentals of functional programming

4.12.1 Functional programming paradigm

4.12.1.1 Function type

4.12.1.2 First-class object

4.12.1.3 Function application

4.12.1.4 Partial function application

4.12.1.5 Composition of functions

4.12.2 Writing functional programs

4.12.2.1 Functional language programs

4.12.3 Lists in functional programming

4.12.3.1 List processing

4.13 Systematic approach to problem solving

4.13.1 Aspects of software development

4.13.1.1 Analysis

4.13.1.2 Design

4.13.1.3 Implementation

4.13.1.4 Testing

4.13.1.5 Evaluation