OCR H446 specification

Specification

Browse the complete OCR A Level Computer Science H446 specification. Click any topic to view detailed notes, flashcards, and exam questions.

H446/01

Computer Systems

2h 30m140 marks

1.1The characteristics of contemporary processors, input, output and storage devices

a

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, address and control: how this relates to assembly language programs.

b

The Fetch-Decode-Execute Cycle; including its effects on registers.

c

The factors affecting the performance of the CPU: clock speed, number of cores, cache.

d

The use of pipelining in a processor to improve efficiency.

e

Von Neumann, Harvard and contemporary processor architecture.

a

The characteristics of CISC and RISC processors.

b

The characteristics of GPUs (Graphics Processing Units).

c

The use of parallel processing: including the characteristics of parallel systems (SISD, SIMD, MISD, MIMD).

a

The need for, and characteristics of, various input and output devices.

b

The need for secondary storage: the types of storage (magnetic, optical, solid state), and their characteristics.

c

The need for, and characteristics of, RAM and ROM.

d

The concept of virtual storage, cloud storage and the applications and issues related to them.

1.2Software and software development

a

The role, functions and types of operating systems.

b

The concept of memory management: paging, segmentation and the use of virtual memory.

c

The concept of interrupts and interrupt handling, polling and the role of the scheduler.

d

The role of BIOS/Firmware and device drivers.

e

The role and operation of virtual machines and their use in a computer system.

a

The nature of, and need for, different types of software including system, application and generic software.

b

The function and operation of compilers, interpreters, assemblers, linkers and loaders.

c

The use of libraries: including their purpose, use of functions within them and the purpose/use of the linker.

a

Software development methodologies: waterfall, RAD, agile and their appropriateness for various projects.

b

Approaches to testing and types of test (including unit, integration, black box, white box, stub and range testing).

c

The purpose of maintenance: corrective, adaptive and perfective maintenance.

a

The nature of, and need for, different types of programming language: high and low level; imperative (procedural and object-oriented), declarative and assembly language.

b

The use of assembly language: its benefits and drawbacks; the relationship between assembly language and machine code; assembly language instructions including opcodes and mnemonics, addressing modes.

1.3Exchanging data

a

Lossy and lossless compression: the need for compression, the different types and their typical uses, including run length encoding and dictionary coding for lossless compression.

b

Symmetric and asymmetric encryption: the use of public and private keys, the need for both types, the use of keys in ciphers, and the use of ciphers in digital signatures, digital certificates, SSL and TLS.

c

Hashing and its purpose: password storage, verification of data integrity.

a

Relational databases: tables; records; fields; relationships; primary keys; foreign keys; secondary keys; entity-relationship diagrams.

b

Normalisation: first, second and third normal forms (NF) and why they are used.

c

Use of SQL: SELECT, FROM, WHERE, wildcards, ORDER BY, GROUP BY, AVG, COUNT, SUM, MIN, MAX, INNER JOIN, OUTER JOIN, and the use of semicolons to separate SQL statements.

d

Transaction processing, ACID (Atomicity, Consistency, Isolation, Durability), and committal or rollback of changes.

a

Networks and their types: PAN, LAN, WAN, VPN, client-server and peer-to-peer.

b

Network topologies, including performance, reliability, security and scalability considerations.

c

Network protocols: TCP/IP, HTTP, HTTPS, FTP, POP3, IMAP, SMTP, Ethernet, and Wi-Fi; the need for and use of each protocol and the layers.

d

The need for and use of MAC and IP addresses: including IPv4 and IPv6, subnetting, and the use of NAT.

e

Packet switching and circuit switching: their operation and use.

a

The function and purpose of HTML and CSS: their use, including structure, presentation and behaviour.

b

The function of search engines, the PageRank algorithm and its use.

c

The function and purpose of cookies, including security issues relating to their use, and methods to mitigate them.

1.4Data types, data structures and algorithms

a

The primitive data types: integer, real, Boolean, character and string.

b

Positive and negative integers: the use of two’s complement to represent negative numbers, and the range of numbers that can be represented with different numbers of bits; the use of binary to represent fixed point numbers; the distinction between fixed and floating point numbers.

c

The use of binary codes to represent characters: ASCII and Unicode.

d

The representation of bitmap images; pixels; resolution; colour depth; the representation of sound: sampling rate, sample size, bit rate.

a

Arrays: one-dimensional and two-dimensional; the use of arrays for both static and dynamic data.

b

Lists, tuples and records: their uses, including single items and the use of positive index values.

c

Stacks and queues: their uses, features and application.

d

Trees: binary trees; binary search trees; their uses, features and applications; graphs: directed, undirected, weighted, unweighted, adjacency matrix and list.

e

Hash tables: their construction, features and applications, and how hash tables handle collisions.

a

Logic gates: AND, OR, NOT, XOR, NAND, NOR and their use in circuits and truth tables.

b

Simplification of Boolean expressions: the use of truth tables, Boolean algebra and Karnaugh maps.

c

The use of D-type flip flops in the storage of data.

1.5Legal, moral, cultural and ethical issues

a

The Data Protection Act 2018 and the General Data Protection Regulation (GDPR): the purposes, key principles and terminology.

b

The Computer Misuse Act 1990: including levels of offence.

c

The Copyright, Designs and Patents Act 1988: the purpose of, and need for, licensing, including proprietary, open source and creative commons.

d

The Regulation of Investigatory Powers Act 2000: its purpose and main provisions.

a

Computers in the workforce: the effects of computers on the workforce, including the benefits and drawbacks of automation, robotics and artificial intelligence.

b

Automated decision making: the use of computer systems in decision making, including the issues arising from this.

c

Artificial intelligence: the use of AI and the moral and ethical issues which may arise, including accountability for decisions made by AI systems.

d

The environmental effects of computers: including positive and negative effects.

e

Privacy and surveillance: the need for, and issues arising from, monitoring, including the balance between privacy and security.

f

Censorship and the internet: the need for, and issues arising from, censorship of the internet.

g

Software piracy and digital rights: the need for and issues arising from software piracy and the breaching of digital rights.

h

Cultural considerations when designing software: including the use of appropriate data formats, appropriate language and appropriate images.

H446/02

Algorithms and Programming

2h 30m140 marks

2.1Elements of computational thinking

a

The nature of abstraction: including simplifying details to produce models and removing unnecessary detail; abstraction by generalisation; the nature of, and need for, data abstraction, and procedural abstraction.

b

The need for abstraction: including simplifying problems so they can be solved computationally; efficiency in design; layered architecture; accessibility.

c

The difference between abstraction and reality: using models, including objects, data structures and layered architecture.

d

Devising an abstract model for a variety of situations: the need to consider the appropriate level of detail; the purpose, the target audience, relevance and simplicity.

a

Identify the inputs and outputs for a given situation: the types of input devices and output devices; the order and format of data; the validation of input data.

b

Determine the preconditions for devising a solution to a problem: the nature, purpose and use of preconditions.

c

The nature, benefits and drawbacks of caching: the use of caching including cache hits and misses, and the types of cache.

d

The need for reusable program components: the advantages, disadvantages and use of components, including object-oriented programming.

a

Problem decomposition: breaking a problem into smaller parts; breaking down problems into components (sub-problems); the advantages of doing this; the features of procedural programs.

b

The use of sub-procedures to produce a solution: their features and use, including the passing of parameters; the advantages of using sub-procedures; the need for interface design.

a

Identify the decision points in a solution: the nature of decisions and their use; considering options and choosing the most appropriate.

b

Determine the logical conditions that affect the decisions in a solution: the use of logical conditions; how they affect the flow of control.

c

Determine how the decisions in a solution affect the overall flow of the program: the effect of decisions; how to plan for them.

a

Concurrent processing: the nature of concurrent processing; how it is achieved; the benefits and drawbacks of concurrent processing.

2.2Problem solving and programming

a

The use of variables, constants, operators, inputs, outputs and assignments.

b

The use of the three basic programming constructs used to control the flow of a program: sequence, selection and iteration (count and condition controlled loops).

c

The use of basic string manipulation and subroutines (procedures and functions).

d

The use of recursion: calculating and using the base case and general case.

e

The use of global and local variables.

f

Modularity: including interface design and the use of parameters.

a

The application of computational thinking methods: problem recognition; problem decomposition; the use of divide and conquer; backtracking; data mining; heuristics; performance modelling; pipelining; visualisation.

2.3Algorithms

a

The use of Big O notation: in complexity classifications; to determine and compare the performance of different algorithms.

b

Standard algorithms: linear search; binary search.

c

Standard algorithms: bubble sort; merge sort; insertion sort; quick sort.

d

Standard algorithms: Dijkstra’s shortest path algorithm.

e

Standard algorithms: A* algorithm.