I. Theory Fundamentals
Hardware: Input, output and storage devices, Main memory, Logic gates and logic circuits
Processor fundamentals: CPU architecture, The fetch-execute cycle, The processor’s instruction set, Assembly language
System software: Operating system, Utility programs, Library programs, Language translators
Security, privacy and data integrity: Data security, Data integrity
Database and data modelling: Database Management Systems (DBMS), Relational database modelling, Data Defi nition Language (DDL) and Data Manipulation Language (DML)
II. Fundamental Problem-solving and Programming
Algorithm design and problem-solving: Algorithms, Structure chart, Corrective maintenance, Adaptive maintenance
Data representation: Data types, Arrays, Files
Programming: Programming basics, Transferable skills, Selection, Iteration, Built-in functions, Structured programming.
Software development: Programming, Program testing, Testing strategies
III. Advanced Theory
Data representation: User-defi ned data types, File organisation and access, Real numbers and normalised floating-point representation,
Communication and Internet technologies: Protocols, Circuit switching, packet switching and routers, Local Area Networks (LAN)
Hardware: Logic gates and circuit design, Boolean algebra, Karnaugh Maps, Flip-flops, RISC processors, Parallel processing.
System software: Purposes of an operating system (OS), Virtual machine, Translation software.
Security: Asymmetric keys and encryption methods, Digital signatures and digital certificates, Encryption protocols, Malware
Monitoring and control systems: Overview of monitoring and control systems, Bit manipulation to monitor and control devices,
IV Further Problem-solving and Programming Skills
Computational thinking and problem-solving: Abstraction, Algorithms, Abstract Data Types (ADT), Recursion
Algorithm design methods: Decision tables, Jackson Structured Programming (JSP), State-transition diagrams
Further programming: Programming paradigms, Low-level programming, Imperative programming, Object-oriented programming, Declarative programming, File processing, Exception handling, Use of development tools / programming environments,
Software development: Stages of software development, Testing, Project management.
Computer Systems, Programming and Network Concepts
Principles of Hardware, Software and Application
Processing and Programming Techniques