A Level Computer Science PLC - Year 12 AP2
A Level Computer Science PLC - Year 12 AP2
Types of processor
o The differences between, and uses of, CISC and RISC processors
o GPUs and their uses (including those not related to graphics)
o Multicore and parallel systems
Software Development
o Understand the waterfall lifecycle, agile methodologies, extreme
programming, the spiral model and rapid application development.
o The relative merits and drawbacks of different methodologies and
when they might be used.
o Writing and following algorithms.
Application generation
o The nature of applications, justifying suitable applications for a specific
purpose
o Utilities
o Open source vs Closed source
o Translators: interpreters, compilers and assemblers
o Stages of compilation (Lexical analysis, Syntax analysis, Code
generation and Optimisation)
o Normalisation to 3NF.
o SQL – Interpret and modify
o Referential integrity.
o Transaction processing, ACID (Atomicity, Consistency, Isolation,
Durability), record locking and redundancy.
Web technologies
o HTML, CSS and Javascript
o Search engine indexing
o PageRank Algorithm
o Server and client-side processing
Networks
o Characteristics of networks and the importance of protocols and
standards.
o The internet structure: TCP/IP Stack, DNS, Protocol layering, LANs,
WANs, Packet and circuit switching
o Network security and threats, use of firewalls, proxies and encryption
o Network hardware
o Client-server and peer to peer
Data Structures
o Arrays (of up to 3 dimensions), records, lists, tuples
o The following structures to store data: linked-list, graph (directed and
undirected), stack, queue, tree, binary search tree, hash table.
o How to create, traverse, add data to and remove data from the data
structures mentioned above.
Data types
o Primitive data types, integer, real/floating point, character, string and
Boolean
o Represent positive integers in binary
o Use of sign and magnitude and two's complement to represent
negative numbers in binary
o Addition and subtraction of binary integers
o Represent positive integers in hexadecimal
o Convert positive integers between binary hexadecimal and denary
o Representation and normalisation of floating point numbers in binary
o Floating point arithmetic, positive and negative numbers, addition and
subtraction
o Bitwise manipulation and masks: shifts, combining with AND, OR, and
XOR
o How character sets (ASCII and UNICODE) are used to represent text
Boolean algebra
o Define problems using Boolean logic
o Manipulate Boolean expressions, including the use of Karnaugh maps
to simplify Boolean expressions
o Use the following rules to derive or simplify statements in Boolean
algebra: De Morgan's Laws, distribution, association, commutation,
double negation
o Using logic gate diagrams and truth tables
o The logic associated with D type flip flops, half and full adders
Computer related legislation
o The Data Protection Act 1998
o The Computer Misuse Act 1990
o The Copyright Design and Patents Act 1988
o The Regulation of Investigatory Powers Act 2000
Ethical, moral and cultural issues (AS / A Level)
o The individual (moral), social (ethical) and cultural opportunities and
risks of digital technology:
Computers in the workforce
Automated decision making
Artificial intelligence
Environmental effects
Censorship and the Internet
Monitor behaviour
Analyse personal information
Piracy and offensive communications
Layout, colour paradigms and character sets
Topics from Unit 2
Thinking abstractly
o The nature of abstraction
o The need for abstraction
o The differences between an abstraction and reality
o Devise an abstract model for a variety of situations
Thinking ahead
o Identify the inputs and outputs for a given situation
o Determine the preconditions for devising a solution to a problem
o The nature, benefits and drawbacks of caching
o The need for reusable program components.
Thinking procedurally
o Identify the components of a problem
o Identify the components of a solution to a problem
o Determine the order of the steps needed to solve a problem
o Identify sub-procedures necessary to solve a problem
Thinking logically
o Identify the points in a solution where a decision has to be taken
o Determine the logical conditions that affect the outcome of a decision
o Determine how decisions affect flow through a program
Thinking concurrently
o Determine the parts of a problem that can be tackled at the same time
o Outline the benefits and trade-offs that might result from concurrent
processing in a particular situation
Programming techniques
o Programming constructs: sequence, iteration, branching
o Recursion, how it can be used and compares to an iterative approach
o Global and local variables
o Modularity, functions and procedures, parameter passing by value and
reference
o Use of an IDE to develop/debug a program
o Use of object-oriented techniques
Computational Methods
o Problem recognition
o Problem decomposition
o Use of abstraction
o Use of divide and conquer
o Learners should apply their knowledge of: backtracking, data mining,
heuristics, performance modelling, visualisation to solve problems
Algorithms
o Analysis and design of algorithms for a given situation
o The suitability or different algorithms for a given task and data set, in
terms of execution time and space
o Measures and methods to determine the efficiency of different
algorithms, Big O notation. (Constant, linear, polynomial, exponential,
and logarithmic complexity)
o Comparison of the complexity of algorithms
o Algorithms for the main data structures, (Stacks, queues, trees, linked
lists, depth-first (post-order) and breadth-first traversal of trees)
o Standard algorithms (Bubble sort, insertion sort, merge sort, quick sort,
Dijkstra's shortest path algorithm, A* algorithms, binary search and
linear search)