teach-ict.com logo

THE education site for computer science and ICT

A Level Computer Science OCR H446

The material on this site is not endorsed by the OCR examination board. We do not guarantee that it covers all of the relevant theory that is required for the examination. Please refer to the H446 syllabus to ensure that you are covering the material to the standard required.

 

A level (H446) Computer Science

1.1 Characteristics of contemporary processors, input, output and storage devices

1.1.1

Architecture

Main Parts of a CPU

  • Control Unit
  • ALU
  • Registers

Registers within the CPU

  • Accumulator
  • Memory Data Register
  • Memory Address Register
  • Program Counter
  • Current Instruction Register

Fetch-Decode-Execute Cycle

  • Registers involved
  • Fetch, decode, execute cycle

CPU performance factors

  • Clock speed
  • Multi-core
  • Cache
  • RAM size
  • GPU
  • Pipelining

System performance factors

  • Faster CPU
  • Improved RAM
  • Graphics card
  • Upgraded Drive
  • Upgraded OS

Von Neumann and Harvard

  • Von Neumann architecture
  • MAR & MDR
  • Program Counter
  • Accumulator
  • Harvard architecture

1.1.2

Types of Processor

CISC and RISC

  • CISC
  • RISC

Multicore and Parallel processing

  • Pipelining
  • Array processor
  • Multi-core
  • GPU

1.1.3

Input Output and Storage

Selecting Devices

  • Input
  • Output
  • Storage

Type of storage

  • Magnetic
  • Optical
  • Solid State
  • Backup and Archiving

RAM and ROM and virtual storage

  • Main memory
  • Volatile memory - what is it?
  • RAM
  • DRAM
  • SRAM
  • ROM
  • Virtual storage

 


1.2 Types of software and software development

1.2.1 Operating System

Purpose
of an operating system

  • Kernel
  • Device Drivers
  • Utilities
  • User Interface

Memory Management

  • Segmentation
  • Pagination
  • Virtual memory
  • Memory issues

Interrupts and Polling

  • Polling
  • Interrupt
  • CPU and interrupts

Scheduling

  • Round Robin
  • First Come First Serve
  • Shortest Job
  • Shortest time
  • Multi-level

Types of operating systems

  • Multi Tasking
  • Multi User
  • Distributed
  • Real Time
  • Embedded
  • Batch

BIOS

  • Booting
  • BIOS
  • POST
  • System start
  • Operating system boot

Device Drivers

  • Kernel
  • Device drivers
  • User interface
  • Utilities

Virtual Machines

  • Virtual machines
  • VM with operating system
  • VM with bytecode
1.2.2 Applications Generation

Types of applications
and utilities

  • Applications
  • Utilities
  • Generic software
  • Bespoke & Custom software
  • Closed source
  • Open source

Applications generation
Program creation

  • Translators
  • Interpreters
  • Compilers
  • Assemblers

Stages of compilation

  • Lexical
  • Syntactic
  • Code generation

Linkers
Loaders & Libraries

  • Modules
  • Libraries
  • Linkers
  • Loaders

1.2.3

Software development

Software Development

  • Waterfall
  • Rapid Application Development
  • Spiral
  • Agile
  • Extreme Programming
  • Merits of different software methods
1.2.4 Types of programming language

Programming Paradigms

  • Paradigms
  • Low level languages
  • Procedural languages
  • Object Oriented languages
  • Declarative languages
  • Functional languages

Procedural language
techniques

  • What is a procedural language
  • Procedures
  • Subroutines
  • Functions
  • Program flow
  • Variables and Scope
  • Constants
  • String Handling
  • File Handling
  • Operators
Assembly language

Little Man Computer (LMC)

  • LMC Model
  • Instruction Set
  • Labels
  • Calculation
  • Branching
  • Input-Output
  • Loops

Memory Modes

  • Immediate addressing
  • Direct addressing
  • Indirect addressing
  • Indexed addressing

1.2.5

Object Orientated Programming

OOP

  • Class
  • Attributes
  • Methods
  • Objects
  • Interface
  • Encapsulation
  • Polymorphism

 

 

1.3 Exchanging data

1.3.1

Compression & Encryption

Compression

  • Principle of compression
  • Lossy compression
  • Lossless compression
  • Dictionary compression
  • Run Length encoding
  • Huffman encoding

Encryption

  • Symmetric encryption
  • Asymmetric encryption
  • RSA and AES
  • Comparison
  • Public-private keys

Hashing

  • What it is
  • Hash uses
  • Passwords
  • Digital Certificates
  • Faster searching

1.3.2

Databases

Databases

  • Flat file databases
  • Relational databases
  • Primary key
  • Foreign key
  • Secondary key
Normalisation
  • First Normal Form
  • Second Normal Form
  • Third Normal Form

SQL

  • SQL language
  • Tables
  • Create and Alter
  • Select and retreive
  • Combine with JOIN

Transaction Processing

  • Transaction
  • C.R.U.D
  • A.C.I.D

1.3.3

Network Characteristics

Networks

  • Network Characteristics
  • Protocol and standards importance

Models and Protocol Layering

  • Internet 4 Layer Model
  • Protocol Layering
  • Physical & Logical layers
  • OSI

The TCP/IP stack

  • TCP/IP
  • Ports and Sockets

Internet Protocols

  • Global standards
  • UDP
  • HTTP(s)
  • FTP
  • POP,LDAP,SMTP
  • Ethernet

IP Addressing

  • IP Format
  • Subnet Mask
  • IANA and ICANN
  • IPv4 and IPv6
  • DNS and Domain Name
  • MAC address

LANs, WANs, PANs, SANs, MANS

  • PAN
  • LAN
  • WAN
  • SAN and MAN

Packet & Circuit Switching

  • Circuit switching
  • Datagrams
  • Packet Switching

Network configuration

  • Client Server
  • Peer to peer

Network Security

  • Authentication
  • User rights
  • User Education
  • Encryption
  • Firewall
  • Proxy Server

Network Hardware

  • NIC - Network Interface Controller
  • Router
  • Bridge
  • Hub
  • Switch
  • WAP

1.3.4

Web Technologies

Web Technologies

  • HTML
  • CSS
  • Javascript

Compression

  • Principle of compression
  • Lossy compression
  • Lossless compression

Web Search

  • Web crawler spider
  • Page Rank
  • Advanced Search

Client & Server processing

  • Client side processing
  • Client side pros and cons
  • Server side processing
  • Server side pros and cons
  • Processing technologies

 

1.4 Representing Data

1.4.1

Primitives

Primitive

  • Integer
  • Real
  • Character
  • String
  • Boolean

Integer

  • Range
  • Unsigned
  • Signed
  • Sign & Magnitude
  • Two's compliment

Real

  • Fixed point
  • Floating point
  • Mantissa, Exponent
  • Placing binary point

Normalising

  • Floating point limits
  • Normalising Floating point
  • Examples

Arithmetic

  • Floating point addition
  • Floating point subtraction

Bit manipulation

  • Left shift
  • Right shift
  • Circular shift
  • AND, OR, XOR applied

Character Sets

  • Character Set
  • ASCII
  • Extended ASCII
  • Unicode
  • UTF-8

Hexadecimal Numbers

  • Why Hexadecimal
  • Denary to Hexadecimal
  • Hexadecimal to Denary
  • Binary to Hexadecimal
  • Hexadecimal to Binary

1.4.2

Data Structures

Data Structures

  • List
  • Linked List
  • Array
  • Tuple
  • Dictionary (associative array)
Arrays
  • 1 dimensional array
  • 2 dimensional array
  • 3 dimensional array
  • Array iterations
  • Array operations
Queue and Stack
  • Queue
  • Stack
  • LIFO queue
  • FIFO queue
  • Code examples
Graph
  • Undirected graph
  • Directed graph
  • Weighted graph
  • Adjacency Matrix
  • Adjacency List
  • Breadth First Search
  • Depth First Search
  • Python code examples
Trees
  • Parts of a tree
  • Tree traversal
  • Preorder traversal
  • Inorder traversal
  • Postorder traversal
  • Python tree code example
Hash tables
  • Hashing
  • Hash Functions
  • Load Factor
  • Search algorithm
  • Linear Probe
  • Chaining

1.4.3

Logic

Boolean Logic

  • Boolean algebra expressions
  • Logic and design
  • NOT operation
  • OR operation
  • AND operation
  • XOR operation
  • NAND operation
  • NOR operation
Gates, Expressions
  • Combining gates
  • Multi-level diagrams
  • Expression to Diagram
  • Building Truth tables
  • Diagram to Truth tables
Karnaugh Maps
  • Constructing
  • Minimise expression
  • Truth table to minterms
  • Minterms to Map
Simplification
  • Boolean identities
  • Boolean Laws
  • De Morgan's Theorems
  • Simplifying practice
Adders
  • Half Adder
  • Full Adders
  • Cascading
  • Overflow

 

1.5 Legal, moral, cultural and ethical issues

1.5.1

Computing related legislation

 

1.5.2

Ethical, moral and cultural issues

Artificial Intelligence

Automated Decision Making

Censorship and the internet

Computers in the workforce


2.3 Algorithms, their use to describe problems and standard algorithms

2.3

Algorithms

Algorithm analysis

  • Analysing algorithms
  • Space efficiency
  • Time efficiency
  • Compromises
  • Big O notation

Big O expressions

  • Analysing algorithms
  • Big O as functions
  • Complexity
  • Simplifying
  • Inner loops
  • Main term
  • Comparing algorithms

Search Sort algorithms

  • Linear Sequential search
  • Binary search
  • Bubble sort
  • Insertion sort
  • Merge sort
  • Quicksort

Path finding algorithms

  • Dikjstra's algorithm
  • A* algorithm