OCR H446 A-Level Computer Science · 2018. 4. 5. · A-Level Computer Science SPECIFICATION...

Post on 23-Dec-2020

9 views 2 download

Transcript of OCR H446 A-Level Computer Science · 2018. 4. 5. · A-Level Computer Science SPECIFICATION...

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