[go: up one dir, main page]

0% found this document useful (0 votes)
116 views26 pages

OCR h446 Full Checklist

This document provides a checklist of topics covered in the OCR H446 A-Level Computer Science specification. It is organized into three sections that cover various aspects of computer components, software development, algorithms, and computational thinking. The checklist includes over 100 individual topics across a range of subsections related to computer hardware, programming, data storage and representation, networking, databases, and more.

Uploaded by

Phoebe Cooler
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
116 views26 pages

OCR h446 Full Checklist

This document provides a checklist of topics covered in the OCR H446 A-Level Computer Science specification. It is organized into three sections that cover various aspects of computer components, software development, algorithms, and computational thinking. The checklist includes over 100 individual topics across a range of subsections related to computer hardware, programming, data storage and representation, networking, databases, and more.

Uploaded by

Phoebe Cooler
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Name:

Class Teacher:
Date:

OCR H446
A-Level Computer Science

SPECIFICATION CHECKLIST

H446/01 & H446/02

Content in OCR H446 A-Level Computer Science:


1.1 The characteristics of contemporary processors, input, output and storage factors
1.2 Software and software development
1.3 Exchanging data
1.4 Data types, data structures and algorithms
1.5 Legal, moral, cultural and ethical issues
2.1 Elements of computational thinking
2.2 Problem solving and programming
2.3 Algorithms

www.learn-computerscience.com
1.1.1 STRUCTURE AND FUNCTION OF THE PROCESSOR

TOPIC

The Arithmetic and Logic Unit (ALU)

Control Unit and Registers:

Program Counter (PC)

Accumulator (ACC)

Memory Address Register (MAR)

Memory Data Register (MDR)

Current Instruction Register (CIR)

Buses:

Data bus

Address bus

Control bus:

How this relates to assembly language programs

The fetch-decode-execute cycle, including its effect on registers

The factors affecting the performance of the CPU:

Clock speed

Number of cores

Cache

The use of pipelining in a processor to improve efficiency

Von Neumann, Harvard and contemporary processor architecture


1.1.2 TYPES OF PROCESSOR

TOPIC

The differences between and uses of CISC and RISC processors

GPUs and their uses (including those not related to graphics)

Multicore and Parallel systems


1.1.3 INPUT, OUTPUT AND STORAGE

TOPIC
How different input, output and storage devices can be applied to the
solution of different problems

The uses of magnetic, flash and optical storage devices

RAM and ROM

Virtual storage
1.2.1 SYSTEMS SOFTWARE

TOPIC

The need for, function and purpose of operating systems

Memory management:

Paging

Segmentation

Virtual memory

Interrupts, the role of interrupts and Interrupt Service Routines (ISR),


role within the fetch-decode-execute cycle

Scheduling:

Round robin

First come first served

Multi-level feedback queues

Shortest job first

Shortest remaining time

Distributed, embedded, multi-tasking, multi-user and Real Time


operating systems

BIOS

Device drivers

Virtual machines, any instance where software is used to take on the


function of a machine:
Including executing intermediate code or running an operating
system within another
1.2.2 APPLICATIONS GENERATION

TOPIC
The nature of applications, justifying suitable applications for a
specific purpose

Utilities

Open source vs Closed source

Translators:

Interpreters

Compilers

Assemblers

Stages of compilation:

Lexical analysis

Syntax analysis

Code generation

Optimisation

Linkers and loaders and use of libraries


1.2.3 SOFTWARE DEVELOPMENT

TOPIC

Understand software development lifecycles including:

Waterfall

Agile methodologies

Extreme programming

Spiral model

Rapid application development

The relative merits and drawbacks of different methodologies and


when they might be used

Writing and following algorithms


1.2.4 TYPES OF PROGRAMMING LANGUAGE

TOPIC

Need for and characteristics of a variety of programming paradigms

Procedural languages

Assembly languages:

Including following and writing simple programs with the Little


Man Computer instruction set

Modes of addressing memory:

Immediate

Direct

Indirect

Indexed

Object-oriented languages with an understanding of:

Classes

Objects

Methods

Attributes

Inheritance

Encapsulation

Polymorphism
1.3.1 COMPRESSION, ENCRYPTION AND HASHING

TOPIC

Lossy vs Lossless compression

Run length encoding and dictionary coding for lossless compression

Symmetric and asymmetric encryption

Different uses of hashing


1.3.2 DATABASES

TOPIC

Relational database

Flat file

Primary key

Foreign key

Secondary key

Entity relationship modelling

Normalisation

Indexing

Methods of capturing, selecting, managing and exchanging data

Normalisation to 3NF

SQL – interpret and modify

Referential integrity

Transaction processing

ACID (Atomicity, Consistency, Isolation, Durability)

Record locking and redundancy


1.3.3 NETWORKS

TOPIC
Characteristics of networks and the importance of protocols and
standards

The internet structure:

The TCP/IP stack

DNS

Protocol layering

LANs and WANs

Packet and circuit switching

Network security and threats:

Use of firewalls, proxies and encryption

Network hardware

Client-server and peer-to-peer


1.3.4 WEB TECHNOLOGIES

TOPIC

HTML, CSS and JavaScript

Search engine indexing

PageRank algorithm

Server and client-side processing


1.4.1 DATA TYPES

TOPIC
Primitive data types, integer, real/floating point, character, string and
Boolean

Represent positive integers in binary

Use of sign and magnitude and two’s complement to represent


negative numbers in binary

Addition and subtraction of binary integers

Represent positive integers in hexadecimal

Convert positive integers between binary, hexadecimal and denary

Representation and normalisation of floating point numbers in binary

Floating point arithmetic, positive and negative numbers, addition


and subtraction

Bitwise manipulation and masks:

Shifts

Combining with AND, OR and XOR

How character sets (ASCII and UNICODE) are used to represent text
1.4.2 DATA STRUCTURES

TOPIC

Arrays (of up to 3 dimensions)

Records

Lists

Tuples

The following structures to store data:

Linked-list

Graph (directed and undirected)

Stack

Queue

Tree

Binary search tree

Hash table

How to create, traverse, add data to and remove data from the data
structures mentioned above
1.4.3 BOOLEAN ALGEBRA

TOPIC

Define problems using Boolean logic

Manipulate Boolean expressions, including the use of Karnaugh maps


to simplify Boolean expressions
Use of the following rules to derive or simplify statements in Boolean
algebra:

De Morgan’s Laws

Distribution

Association

Commutation

Double negation

Using logic gate diagrams and truth tables

The logic associated with D type flip flops, half and full adders
1.5.1 COMPUTING RELATED LEGISLATION

TOPIC

The Data Protection Act 1998

The Computer Misuse Act 1990

The Copyright Design and Patents Act 1988

The Regulation of Investigatory Powers Act 2000


1.5.2 MORAL AND ETHICAL ISSUES

TOPIC
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


2.1.1 THINKING ABSTRACTLY

TOPIC

The nature of abstraction

The need for abstraction

The differences between an abstraction and reality

Devise an abstract model for a variety of situations


2.1.2 THINKING AHEAD

TOPIC

Identify the inputs and outputs for a given situation

Determine the preconditions for devising a solution to a problem

The nature, benefits and drawbacks of caching

The need for reusable program components


2.1.3 THINKING PROCEDURALLY

TOPIC

Identify the components of a problem

Identify the components of a solution to a problem

Determine the order of the steps needed to solve a problem

Identify sub-procedures necessary to solve a problem


2.1.4 THINKING LOGICALLY

TOPIC

Identify the points in a solution where a decision has to be taken

Determine the logical conditions that affect the outcome of a decision

Determine how decisions affect flow through a program


2.1.5 THINKING CONCURRENTLY

TOPIC
Determine the parts of a problem that can be tackled at the same
time
Outline the benefits and trade offs that might result from concurrent
processing in a particular situation
2.2.1 PROGRAMMING TECHNIQUES

TOPIC

Programming constructs:

Sequence

Iteration

Branching

Recursion, how it can be used and compares to an iterative approach

Global and local variables

Modularity, functions and procedures, parameter passing by value


and by reference

Use of an IDE to develop/debug a program

Use of object-oriented techniques


2.2.2 COMPUTATIONAL METHODS

TOPIC

Features that make a problem solvable by computational methods

Problem recognition

Problem decomposition

Use of divide and conquer

Use of abstraction

Learners should apply their knowledge of:

Backtracking

Data mining

Heuristics

Performance modelling

Pipelining

Visualisation to solve problems


2.3.1 ALGORITHMS

TOPIC

Analysis and design of algorithms for a given situation

The suitability of different algorithms for a given task and data set, in
terms of execution time and space
Measures and methods to determine the efficiency of different
algorithms

Big O Notation with different complexities:

Constant

Linear

Polynomial

Exponential

Logarithmic

Comparison of the complexity of algorithms

Algorithms for the main data structures:

Stacks

Queues

Trees

Linked lists

Depth-first (post-order) traversal of trees

Breadth-first traversal of trees

Standard algorithms:

Bubble sort

Insertion sort

Merge sort

Quick sort

Dijkstra’s shortest path algorithm

A* algorithm
TOPIC

Binary search

Linear search

You might also like