KS3 Main menu A LEVEL COMPUTING
Expand to see menuOCR COMPUTING

This section guides you through the main topics of A Level advanced computing theory

OCR A2 Computing: Unit F453 - Advanced Computing Theory

(the new A level computer science syllabus, H446 is HERE)

3.3.1

 

 

 

 

 

The Function of Operating Systems

 

 

 

 

 

Features of operating systems

a. describe the main features of operating systems: for example, memory management,
scheduling algorithms

Interrupt handling

b. explain how interrupts are used to obtain processor time and how processing of
interrupted jobs may later be resumed, (typical sources of interrupts should be
identified and any algorithms and data structures should be described)

Scheduling

Job queues and priorities

c. define and explain the purpose of scheduling, job queues, priorities and how they are used to manage job throughput

Memory management

d. explain how memory is managed in a typical modern computer system, (virtual
memory, paging and segmentation should be described along with some of the problems which could occur such as disk thrashing)

Spooling

e. describe spooling, explaining why it is used

Modern personal computer operating systems

f. describe the main components of a typical desktop PC operating system, including the file allocation table and how it is used, and the purpose of the boot file

 

3.3.2

 

 

 

 

The function and purpose of translators

 

 

 

 

Types of translators and their use

a. describe the need for, and use of, translators to convert source code to object code

Code generation and optimisation

b. understand the relationship between assembly language and machine code

Code generation and optimisation

c. describe the use of an assembler in producing machine code

Types of translators

d. describe the difference between interpretation and compilation;

Code generation and optimisation

e. describe the purpose of intermediate code in a virtual machine

Lexical analysis

f. describe what happens during lexical analysis;

Syntax analysis

g. describe what happens during syntax analysis, explaining how errors are handled

Code generation and optimisation

h. explain the code generation phase and understand the need for optimisation

Library routines

i. describe the use of library routines

3.3.3

 

 

 

Computer architectures

 

 

 

Von Neumann architecture

a. describe classic Von Neumann architecture, identifying the need for, and the uses of, special registers in the functioning of a processor;

 

Registers: purpose and use

Fetch-execute cycle

b. describe, in simple terms, the fetch/decode/execute/reset cycle, and the effects of the stages of the cycle on specific registers

Other machine architectures

c. discuss co-processor, parallel processor and array processor systems, their uses, advantages and disadvantages.

Other machine architectures

d. describe and distinguish between Reduced Instruction Set Computer (RISC) and Complex Instruction Set Computer (CISC) architectures

3.3.4

 

 

 

Data representation

 

 

 

Floating point binary

a. demonstrate an understanding of floating point representation of a real binary number

Normalisation of floating point binary numbers

b. normalise a real binary number

 

Floating point binary

c. discuss the trade-off between accuracy and range when representing numbers

3.3.5

 

 

 

Data structures and data manipulation

 

 

 

Implementation of data structures, including stacks, queues and trees

 

a. explain how static data structures may be used to implement dynamic data structures

b. describe algorithms for the insertion, retrieval and deletion of data items stored stack, queue and tree structures.

 

Searching, merging and sorting

c. explain the difference between binary searching and serial searching, highlighting the advantages and disadvantages of each

 

d. explain how to merge data files

 

e. explain the difference between the insertion and quick sort methods, highlighting the characteristics, advantages and disadvantages of each

 

3.3.6

 

 

High-level language programming paradigms

 

 

a. Types of languages and typical applications

a. identify a variety of programming paradigms (low level, object-orientated, declarative, procedural)

b. Features of different types of language

b. explain with examples, the terms object-oriented, declarative and procedural as applied to high level languages, showing an understanding of typical uses

c. Features of different types of languages

 

 

c. discuss the concepts, and using examples, show an understanding, of data
encapsulation, classes and derived classes, and inheritance when referring to object-oriented languages

d,e,f: UML

d. Understand the purpose of the Unified Modelling Language (UML)

e. interpret class, object, use case, state sequence, activity and communication diagrams

f. create class, object, use case and communication diagrams

g. Declarative language

g. discuss the concepts, and using examples, show an understanding, of backtracking,
instantiation, predicate logic and satisfying goals when referring to declarative languages

 

Section Summary

Summary of terms and programming paradigms

3.3.7

 

 

 

Programming techniques

 

 

a, b. Standard programming techniques

a. explain how functions, procedures and their related variables may be used to develop a program in a structured way, using stepwise refinement

b. describe the use of parameters, local and global variables as standard programming
techniques.

c. stacks

c. explain how a stack is used to handle procedure calling and parameter passing

Methods for defining syntax: d. BNF

d. explain the need for, and be able to apply, BNF (Backus-Naur form) and syntax
diagrams.

Methods for defining syntax: e. Polish notation

e. explain the need for reverse Polish notation

f. convert between reverse Polish notation and infix form of algebraic expressions using trees and stacks

3.3.8

 

 

 

Low-level languages

 

 

 

Use of computer architecture

a. explain the concepts, and using examples, demonstrate an understanding of the use of the accumulator, registers, program counter.

b. memory modes

b. describe immediate, direct, indirect, relative and indexed addressing of memory when referring to low level languages

c. Features of low-level languages

c. discuss the concepts and, using examples, show an understanding of mnemonics, opcode, operand and symbolic addressing in assembly language to include simple arithmetic operations, data transfer and flow-control

3.3.9

 

 

 

 

Databases

 

 

 

 

a. flat files vs relational

a. describe flat files and relational databases, explaining the differences between them

bi.E-R Diagrams

b. design a simple relational database to the third normal form (3NF) using entity-relationship (E-R) diagrams and decomposition

bii. Normalisation

c. Database keys

c. define, and explain the purpose of, primary, secondary and foreign keys

Methods and tools for analysing and implementing database design

d. design forms for input, deletion, modification and querying of a database

describe the structure of a data base management system (DMBS), including the
function and purpose of the data dictionary, data description language (DDL) and data
manipulation language (DML)

Use of Structured Query Languages (SQL)

e. use SQL to define tables and views, insert, select and delete data and to produce reports

 

Disclaimer: the material on this site is not endorsed by OCR. Teach-ICT does not guarantee that the material on this site completely covers what you need to know for this syllabus. It is your responsibility to ensure that the OCR syllabus is appropriately covered.

 

 

 

 

 

 

 

 

Copyright © www.teach-ict.com