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 Data types Programming concepts Arithmetic operations in a programming language Relational operations in a programming language Boolean operations in a programming language Constants and variables in a programming language String-handling operations in a programming language Random number generation in a programming language Exception handling Subroutines (procedures/functions) Parameters of subroutines Returning a value/values from a subroutine Local variables in subroutines Global variables in a programming language Role of stack frames in subroutine calls Recursive techniques

4.1.2 Programming paradigms Programming paradigms Procedural-oriented programming Object-oriented programming

4.2 Fundamentals of data structures

4.2.1 Data structures and abstract data types Data structures Single- and multi-dimensional arrays (or equivalent) Fields, records and files Abstract data types/data structures

4.2.2 Queues Queues

4.2.3 Stacks Stacks

4.2.4 Graphs Graphs

4.2.5 Trees Trees

4.2.6 Hash Tables Hash Tables

4.2.7 Dictionaries Dictionaries

4.2.8 Vectors Vectors

4.3 Fundamentals of algorithms

4.3.1 Graph-traversal Simple graph-traversal algorithms

4.3.2 Tree-traversal Simple tree-traversal algorithms

4.3.3 Reverse Polish Reverse Polish Š—– infix transformations

4.3.4 Searching algorithms Linear search Binary search Binary tree search

4.3.5 Sorting algorithms Bubble sort Merge sort

4.3.6 Optimisation algorithms DijkstraŠ—Čs shortest path algorithm

4.4 Theory of computation

4.4.1 Abstraction and automation Problem-solving Following and writing algorithms Abstraction Information hiding Procedural abstraction Functional abstraction Data abstraction Problem abstraction/reduction Decomposition Composition Automation

4.4.2 Regular languages Finite state machines (FSMs) with and without output Maths for regular expressions Regular expressions Regular language

4.4.3 Context-free languages Backus-Naur Form (BNF)/syntax diagrams

4.4.4 Classification of algorithms Comparing algorithms Maths for understanding Big-0 notation Order of complexity Limits of computation Classification of algorithmic problems Computable and non-computable problems Halting problem

4.4.5 Turing Machine Turing Machine

4.5 Fundamentals of Data Representation

4.5.1 Number Systems Natural Numbers Integer numbers Rational numbers Irrational numbers Real numbers Ordinal numbers Counting and measurement

4.5.2 Number Bases Number base

4.5.3 Units of Information Bits and bytes Units

4.5.4 Binary number system Unsigned binary Unsigned binary arithmetic Signed binary using twoŠ—Čs complement Numbers with a fractional part Rounding errors Absolute and relative errors Range and precision Normalisation of floating point form Underflow and overflow

4.5.5 Information coding systems Character form of a decimal digit ASCII and Unicode Error checking and correction

4.5.6 Representing images, sound and other data Bit patterns, images, sound and other data Analogue and digital Analogue/digital conversion Bitmapped graphics Vector graphics Vector graphics versus bitmapped graphics Digital representation of sound Musical Instrument Digital Interface (MIDI) Data compression Encryption

4.6 Fundamentals of computer systems

4.6.1 Hardware and software Relationship between hardware and software Classi cation of software System software Role of an operating system (OS)

4.6.2 Classification of programming languages Classification of programming languages

4.6.3 Types of program translator Types of program translator

4.6.4 Logic gates Logic gates

4.6.5 Boolean algebra Using Boolean algebra

4.7 Fundamentals of computer organisation and architecture

4.7.1 Internal hardware components of a computer Internal hardware components of a computer

4.7.2 The stored program concept The meaning of the stored program concept

4.7.3 Structure and role of the processor and its components The processor and its components The Fetch-Execute cycle and the role of registers within it The processor instruction set Addressing modes´Žč Machine-code/assembly language operations Interrupts Factors affecting processor performance

4.7.4 External hardware devices Input and output devices Secondary storage devices

4.8 Consequences of uses of computing

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

4.9 Fundamentals of communication and networking

4.9.1 Communication Communication methods Communication basics

4.9.2 Networking Network topology Types of networking between hosts Wireless networking

4.9.3 The Internet The Internet and how it works Internet security

4.9.4 The Transmission Control Protocol/Internet Protocol (TCP/IP) protocol TCP/IP Standard application layer protocols IP address structure Subnet masking IP standards Public and private IP addresses Dynamic Host Con guration Protocol (DHCP) Network Address Translation (NAT) Port forwarding Client server model Thin- versus thick-client computing

4.10 Fundamentals of databases

4.10.1 Conceptual data models and entity relationship modelling Conceptual data models and entity relationship modelling

4.10.2 Relational databases Relational databases

4.10.3 Database design and normalisation techniques Database design and normalisation techniques

4.10.4 Structured Query Language (SQL) Structured Query Language (SQL)

4.10.5 Client server databases Client server databases

4.11 Big Data

4.11.1 Big Data Big Data

4.12 Fundamentals of functional programming

4.12.1 Functional programming paradigm Function type First-class object Function application Partial function application Composition of functions

4.12.2 Writing functional programs Functional language programs

4.12.3 Lists in functional programming List processing

4.13 Systematic approach to problem solving

4.13.1 Aspects of software development Analysis Design Implementation Testing Evaluation