1. Theory fundamentals
1.1 Information representation
1.1.1 Number representation
1.1.2 Images
1.1.3 Sound
1.1.4 Video
1.1.5 Compression techniques
1.2 Communication and Internet technologies
1.2.1 Networks
1.2.2 IP addressing
1.2.3 Client- and server-side scripting
1.3 Hardware
1.3.1 Input, output and storage devices
1.3.2 Main memory
1.3.3 Logic gates and logic circuits
1.4 Processor fundamentals
1.4.1 CPU architecture
1.4.2 The fetch-execute cycle
1.4.3 The processor’s instruction set
1.4.4 Assembly language
1.5 System software
1.5.1 Operating system
1.5.2 Utility programs
1.5.3 Library programs
1.5.4 Language translators
1.6 Security, privacy and data integrity
1.6.1 Data security
1.6.2 Data integrity
1.7 Ethics and ownership
1.7.1 Ethics
1.7.2 Ownership
1.8 Database and data modelling
1.8.1 Database Management Systems (DBMS)
1.8.2 Relational database modelling
1.8.3 Data Definition Language (DDL) and Data Manipulation Language (DML)
2. Fundamental Problem-solving and Programming
2.1 Algorithm design and problem-solving
2.1.1 Algorithms
2.1.2 Structure chart
2.1.3 Corrective maintenance
2.1.4 Adaptive maintenance
2.2 Data representation
2.2.1 Data types
2.2.2 Arrays
2.2.3 Files
2.3 Programming
2.3.1 Programming basics
2.3.2 Transferable skills
2.3.3 Selection
2.3.4 Iteration
2.3.5 Built-in functions
2.3.6 Structured programming
2.4 Software development
2.4.1 Programming
2.4.2 Program testing
2.4.3 Testing strategies
3. Advanced Theory
3.1 Data representation
3.1.1 User-defined data types
3.1.2 File organisation and access
3.1.3 Real numbers and normalised floating-point representation
3.2 Communication and Internet technologies
3.2.1 Protocols
3.2.2 Circuit switching, packet switching and routers
3.2.3 Local Area Networks (LAN)
3.3 Hardware
3.3.1 Logic gates and circuit design
3.3.2 Boolean algebra
3.3.3 Karnaugh Maps
3.3.4 Flip-flops
3.3.5 RISC processors
3.3.6 Parallel processing
3.4 System software
3.4.1 Purposes of an operating system (OS)
3.4.2 Virtual machine
3.4.3 Translation software
3.5 Security
3.5.1 Asymmetric keys and encryption methods
3.5.2 Digital signatures and digital certificates
3.5.3 Encryption protocols
3.5.4 Malware
3.6 Monitoring and control systems
3.6.1 Overview of monitoring and control systems
3.6.2 Bit manipulation to monitor and control device