Revise Computingrevisecomputing.co.uk
Free student revisionSee questionsFor schoolsSchool enquiry
Free revisionSee questionsFor schoolsSchool enquiry
Knowledge/A Level

A Level Computer Science (H446)

Revision notes for OCR A Level Computer Science (H446): H446/01 Computer systems and H446/02 Algorithms and programming.

119 specification notes.

  • H446/01 Computer systems
  • H446/02 Algorithms and programming

H446/01 Computer systems

16 topics · 84 notes

1.1.1

Structure and function of the processor

aThe ALU, Control Unit, registers…

bThe Fetch-Decode-Execute cycle…

cFactors affecting CPU performance

dThe use of pipelining in a processor…

eVon Neumann, Harvard and contemporary…

1.1.2

Types of processor

aThe differences between and uses of CISC…

bGPUs and their uses…

cMulticore and parallel systems

1.1.3

Input, output and storage

aApplying input, output and storage devices…

bThe uses of magnetic, flash and optical…

cRAM and ROM

dVirtual storage

1.2.1

Systems Software

aThe need for, function and purpose…

bMemory management: paging, segmentation…

cInterrupts, Interrupt Service Routines…

dScheduling: round robin, FCFS…

eDistributed, embedded, multi-tasking…

fBIOS

gDevice drivers

hVirtual machines: executing intermediate…

1.2.2

Applications Generation

aThe nature of applications…

bUtilities

cOpen source vs closed source

dTranslators: interpreters, compilers…

eStages of compilation

fLinkers and loaders and use of libraries

1.2.3

Software Development

aWaterfall lifecycle, agile methodologies…

bThe relative merits and drawbacks…

cWriting and following algorithms

1.2.4

Types of Programming Language

aThe need for and characteristics…

bProcedural languages

cAssembly language and the Little Man…

dModes of addressing memory

eObject-oriented languages

1.3.1

Compression, Encryption and Hashing

aLossy vs lossless compression

bRun length encoding and dictionary coding…

cSymmetric and asymmetric encryption

dDifferent uses of hashing

1.3.2

Databases

aRelational databases, flat files, keys…

bMethods of capturing, selecting…

cNormalisation to 3NF

dSQL: interpret and modify

eReferential integrity

fTransaction processing, ACID…

1.3.3

Networks

aCharacteristics of networks…

bThe internet structure

cNetwork security and threats…

dNetwork hardware

eClient-server and peer to peer

1.3.4

Web Technologies

aHTML, CSS and JavaScript

bSearch engine indexing

cPageRank algorithm

dServer and client side processing

1.4.1

Data Types

aPrimitive data types

bRepresent positive integers in binary

cSign and magnitude and two's complement…

dAddition and subtraction of binary integers

eRepresent positive integers in hexadecimal

fConvert positive integers between binary…

gRepresentation and normalisation…

hFloating point arithmetic

iBitwise manipulation and masks

jHow character sets (ASCII and UNICODE)…

1.4.2

Data Structures

aArrays (up to 3 dimensions), records…

bLinked list, graph, stack, queue, tree…

cHow to create, traverse, add data…

1.4.3

Boolean Algebra

aDefine problems using Boolean logic

bManipulate Boolean expressions…

cDe Morgan's Laws, distribution, association…

dUsing logic gate diagrams and truth tables

eThe logic associated with D type flip flops…

1.5.1

Computing Related Legislation

aThe Data Protection Act 1998

bThe Computer Misuse Act 1990

cThe Copyright Design and Patents Act 1988

dThe Regulation of Investigatory Powers Act…

1.5.2

Moral and Ethical Issues

aComputers in the workforce

bAutomated decision making

cArtificial intelligence

dEnvironmental effects

eCensorship and the Internet

fMonitor behaviour

gAnalyse personal information

hPiracy and offensive communications

iLayout, colour paradigms and character sets

H446/02 Algorithms and programming

8 topics · 35 notes

2.1.1

Thinking abstractly

aThe nature of abstraction

bThe need for abstraction

cThe differences between an abstraction…

dDevise an abstract model for a variety…

2.1.2

Thinking ahead

aIdentify the inputs and outputs for a given…

bDetermine the preconditions for devising…

cThe nature, benefits and drawbacks…

dThe need for reusable program components

2.1.3

Thinking Procedurally

aIdentify the components of a problem

bIdentify the components of a solution…

cDetermine the order of the steps needed…

dIdentify sub-procedures necessary to solve…

2.1.4

Thinking Logically

aIdentify the points in a solution…

bDetermine the logical conditions…

cDetermine how decisions affect flow through…

2.1.5

Thinking Concurrently

aDetermine the parts of a problem…

bOutline the benefits and trade offs…

2.2.1

Programming Techniques

aProgramming constructs

bRecursion, how it can be used…

cGlobal and local variables

dModularity, functions and procedures…

eUse of an IDE to develop/debug a program

fUse of object oriented techniques

2.2.2

Computational Methods

aFeatures that make a problem solvable…

bProblem recognition

cProblem decomposition

dUse of divide and conquer

eUse of abstraction

fBacktracking, data mining, heuristics…

2.3.1

Algorithms

aAnalysis and design of algorithms…

bThe suitability of different algorithms…

cMeasures and methods to determine…

dComparison of the complexity of algorithms

eAlgorithms for stacks, queues, trees…

fStandard algorithms: sorts…