Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5
Advanced
Topic Sub-topic Info
Programming 1.1.1 Data types NO Programming 1.1.2 Programming concepts NO Programming 1.1.3 Arithmetic operations in a programming language NO Programming 1.1.4 Relational operations in a programming language NO Programming 1.1.5 Boolean operations in a programming language NO Programming 1.1.6 Constants and variables in a programming language NO Programming 1.1.7 String-handling operations in a programming language NO Programming 1.1.8 Random number generation in a programming language NO Programming 1.1.9 Exception handling NO Programming 1.1.10 Subroutines (procedures/functions) NO Programming 1.1.11 Parameters of subroutines NO Programming 1.1.12 Returning a value/values from a subroutine NO Programming 1.1.13 Local variables in subroutines NO Programming 1.1.14 Global variables in a programming language NO Programming 1.1.15 Role of stack frames in subroutine calls NO Programming 1.1.16 Recursive techniques YES Programming NO paradigms 1.2.1 Structured programming / Programming paradigms Programming NO paradigms 1.2.2 Procedural-oriented programming Programming NO paradigms 1.2.3 (1) OOP - intro Programming NO paradigms 1.2.3 (2) OOP - aggregation and composition Programming NO paradigms 1.2.3 (3) OOP - why OOP is used Programming NO paradigms 1.2.3 (4) OOP - OOP design principles Programming NO paradigms 1.2.3 (5) OOP - writing object oriented programs Programming NO paradigms 1.2.3 (6) OOP - class diagrams Data structures 2.1.1 Data structures NO Data structures 2.1.2 Single- and multi-dimensional arrays (or equivalent) YES Data structures 2.1.3 Fields, records and files NO Data structures 2.1.4a Abstract data types/data structures YES Data structures 2.1.4b Static and Dynamic data structures NO Data structures 2.2.1 Queues YES Data structures 2.3.1 Stacks YES Data structures 2.4.1 Graphs YES Data structures 2.5.1 Trees (including binary trees) YES Data structures 2.6.1 Hash tables NO Data structures 2.7.1 Dictionaries NO Data structures 2.8.1 Vectors NO Fundamentals of algorithms 3.1.1 Simple graph-traversal algorithms YES Fundamentals of NO algorithms 3.2.1 Simple tree-traversal algorithms Fundamentals of NO algorithms 3.3.1 Reverse Polish – infix transformations Fundamentals of YES algorithms 3.4.1 Linear search Fundamentals of YES algorithms 3.4.2 Binary search Fundamentals of YES algorithms 3.4.3 Binary tree search Fundamentals of YES algorithms 3.5.1 Bubble sort Fundamentals of YES algorithms 3.5.2 Merge sort Fundamentals of YES algorithms 3.6.1 Dijkstra’s shortest path algorithm Aspects of software NO development 3.1.1 Analysis Aspects of software NO development 3.1.2 Design Aspects of software NO development 3.1.3 Implementation Aspects of software NO development 3.1.4 Testing Aspects of software NO development 3.1.5 Evaluation Abstraction and YES automation 4.1.1 Problem-solving Abstraction and YES automation 4.1.2 Following and writing algorithms Abstraction and NO automation 4.1.3 Abstraction Abstraction and NO automation 4.1.4 Information hiding Abstraction and NO automation 4.1.5 Procedural abstraction Abstraction and NO automation 4.1.6 Functional abstraction Abstraction and NO automation 4.1.7 Data abstraction Abstraction and NO automation 4.1.8 Problem abstraction/reduction Abstraction and NO automation 4.1.9 Decomposition Abstraction and NO automation 4.1.10 Composition Abstraction and NO automation 4.1.11 Automation Finite state NO machines (FSMs) 4.2.1 Finite state machines (FSMs) without output Regular languages 4.2.1 Finite state machines (FSMs) with and without output NO Regular languages 4.2.2 Maths for regular expressions NO Regular languages 4.2.3 Regular expressions NO Regular languages 4.2.4 Regular language NO Context-free NO languages 4.3.1 Backus-Naur Form (BNF)/syntax diagrams Classification of NO algorithms 4.4.1 Comparing algorithms Classification of NO algorithms 4.4.2 Maths for understanding Big-0 notation Classification of algorithms 4.4.3 Order of complexity YES Classification of NO algorithms 4.4.4 Limits of computation Classification of NO algorithms 4.4.5 Classification of algorithmic problems Classification of NO algorithms 4.4.6 Computable and non-computable problems Classification of algorithms 4.4.7 Halting problem YES A model of NO computation 4.5.1 Turing machine Number systems 5.1.1 Natural numbers NO Number systems 5.1.2 Integer numbers NO Number systems 5.1.3 Rational numbers NO Number systems 5.1.4 Irrational numbers NO Number systems 5.1.5 Real numbers NO Number systems 5.1.6 Ordinal numbers NO Number systems 5.1.7 Counting and measurement NO Number bases 5.2.1 Number base YES Units of information 5.3.1 Bits and bytes YES Units of information 5.3.2 Units NO Binary number NO system 5.4.1 Unsigned binary Binary number YES system 5.4.2 Unsigned binary arithmetic Binary number YES system 5.4.3 Signed binary using two’s complement Binary number YES system 5.4.4 Numbers with a fractional part Binary number system 5.4.5 Rounding errors NO Binary number system 5.4.6 Absolute and relative errors YES Binary number system 5.4.7 Range and precision NO Binary number system 5.4.8 Normalisation of floating point form YES Binary number NO system 5.4.9 Underflow and overflow Information coding NO systems 5.5.1 Character form of a decimal digit Information coding NO systems 5.5.2 ASCII and Unicode Information coding NO systems 5.5.3 Error checking and correction Representing NO images, sound and other data 5.6.1 Bit patterns, images, sound and other data Representing NO images, sound and other data 5.6.2 Analogue and digital Representing NO images, sound and other data 5.6.3 Analogue/digital conversion Representing NO images, sound and other data 5.6.4 Bitmapped graphics Representing YES images, sound and other data 5.6.5 Digital representation of sound Representing YES images, sound and other data 5.6.6 Musical Instrument Digital Interface (MIDI) Representing NO images, sound and other data 5.6.7 Data compression Representing NO images, sound and other data 5.6.8 Encryption Hardware and NO software 6.1.1 Relationship between hardware and software Hardware and YES software 6.1.2 Classification of software Hardware and YES software 6.1.3 System software Hardware and YES software 6.1.4 Role of an operating system (OS) Classification of YES programming languages 6.2.1 Classification of programming languages Types of program translator 6.3.1 Types of program translator NO Logic gates 6.4.1 Logic gates YES Boolean algebra 6.5.1 Using Boolean algebra YES Internal hardware YES components of a computer 7.1.1 Internal hardware components of a computer The stored program YES concept 7.2.1 The meaning of the stored program concept Structure and role NO of the processor 7.3.1 The processor and its components Structure and role NO of the processor 7.3.2 The Fetch-Execute cycle and the role of registers within it Structure and role YES of the processor 7.3.3 The processor instruction set Structure and role YES of the processor 7.3.4 Addressing modes Structure and role YES of the processor 7.3.5 Machine-code/assembly language operations Structure and role of the processor 7.3.6 Factors affecting processor performance NO External hardware YES devices 7.4.1 Input and output devices External hardware YES devices 7.4.2 Secondary storage devices Consequences of YES uses of computing 8.1 Individual (moral), social (ethical), legal and cultural issues Communication 9.1.1 Communication methods YES Communication 9.1.2 Communication basics YES Networking 9.2.1 Network topology NO Networking 9.2.2 Types of networking between hosts YES Networking 9.2.3 Wireless networking NO The Internet 9.3.1 The Internet and how it works YES The Internet 9.3.2 Internet security NO TCP/IP 9.4.1 TCP/IP NO TCP/IP 9.4.2 Standard application layer protocols NO TCP/IP 9.4.3 IP address structure NO TCP/IP 9.4.4 Subnet masking NO TCP/IP 9.4.5 IP standards NO TCP/IP 9.4.6 Public and private IP addresses NO TCP/IP 9.4.7 Dynamic Host Configuration Protocol (DHCP) NO TCP/IP 9.4.8 Network Address Translation (NAT) NO TCP/IP 9.4.9 Port forwarding NO TCP/IP 9.4.10 Client server model NO TCP/IP 9.4.11 Thin- versus thick-client computing YES Fundamentals of YES databases 10.1 Conceptual data models and entity relationship modelling Fundamentals of YES databases 10.2 Relational databases Fundamentals of YES databases 10.3 Database design and normalisation techniques Fundamentals of YES databases 10.4 Structured Query Language (SQL) Fundamentals of NO databases 10.5 Client server databases Big Data 11.1 Big Data NO Functional NO programming paradigm 12.1.1 Function type Functional NO programming paradigm 12.1.2 First-class object Functional programming paradigm 12.1.3 Function application YES Functional programming paradigm 12.1.4 Partial function application NO Functional YES programming paradigm 12.1.5 Composition of functions Functional YES programming paradigm 12.2.1 Functional language programs Functional YES programming paradigm 12.3.1 List processing