Analyse an existing program and make amendments to enhance functionality
Choose and design an appropriate user-defined data type for a given problem
Choose appropriate test data for a test plan
Construct the truth table for each of the logic gates above
Convert binary floating-point real numbers into denary and vice versa
Define and use composite data types
Define and use non-composite types
Describe and use decomposition
Describe and use methods of data validation
Describe and use methods of data verification during data entry and data transfer
Describe features found in a typical Integrated Development Environment (IDE)
Describe how a queue, stack and linked list can be implemented using arrays
Describe how data validation and data verification help protect the integrity of data
Describe methods that can be used to restrict the risks posed by threats
Describe practical applications where Binary Coded Decimal (BCD) and Hexadecimal are used
Describe security methods designed to protect the security of data
Describe the different stages of the assembly process for a two-pass assembler
Describe the features of a relational database that address the limitations of a file-based approach
Describe the format of binary floating-point real numbers
Describe the hardware that is used to support a LAN
Describe the hardware that is used to support the internet
Describe the principal operations of hardware devices
Describe the principles, benefits and drawbacks of each type of life cycle
Describe the role and function of a router in a network
Describe the stages of the Fetch-Execute (F-E) cycle
Describe the ways in which the user interface hides the complexities of the hardware from the user
Document a simple algorithm using a structured English description, a flowchart or pseudocode
Draw a flowchart from a structured English description
Draw a flowchart from pseudocode
Explain the client-server and peer-to-peer models of networked computers
Explain the difference between the terms security, privacy and integrity of data
Explain the differences between Random Access Memory (RAM) and Read Only Memory (ROM)
Explain the differences between Static RAM (SRAM) and Dynamic RAM (DRAM)
Explain the key management tasks carried out by the Operating System
Explain the use of IP addresses in the transmission of data over the internet
Explain where in the construction of an algorithm it is appropriate to use a function
Explain where in the construction of an algorithm it would be appropriate to use a procedure
Explain why a computer system requires an Operating System (OS)
Explain why a given set of database tables are, or are not, in 3NF
Justify the use of a bitmap image or a vector graphic for a given task
Justify why one loop structure may be better suited to solve a problem than the others
Locate and identify the different types of errors
Normalise floating-point numbers
Perform binary addition and subtraction
Perform calculations to estimate the file size for a bitmap image
Produce truth tables for logic circuits including half adders and full adders
Pseudocode using the three basic constructs of sequence, decision, and iteration
Select a suitable data structure (1D or 2D array) to use for a given task
Select and use appropriate data types for a problem solution
Show an understanding of abstraction
Show an understanding of monitoring and control systems
Show appreciation of the need for both the security of data and the security of the computer system
Show awareness of the Secure Socket Layer (SSL)/Transport Layer Security (TLS)
Show awareness of what a compiler has to do to translate recursive programming code
Show how it is possible for ADTs to be implemented from another ADT
Show understanding of a flip-flop (SR, JK)
Show understanding of an exception and the importance of exception handling
Show understanding of and be able to use different modes of addressing
Show understanding of and perform binary shifts
Show understanding of and use Abstract Data Types (ADT)
Show understanding of and use the terminology associated with a relational database model
Show understanding of Artificial Intelligence (AI)
Show understanding of back propagation of errors and regression methods in machine learning
Show understanding of bit streaming
Show understanding of Boolean algebra
Show understanding of circuit switching
Show understanding of cloud computing
Show understanding of different number systems
Show understanding of digital certification
Show understanding of embedded systems
Show understanding of Ethernet and how collisions are detected and avoided
Show understanding of hashing algorithms
Show understanding of how a text file, bitmap image, vector graphic and sound file can be compressed
Show understanding of how an interpreter can execute programs without producing a translated version
Show understanding of how an OS can maximise the use of resources
Show understanding of how artificial neural networks have helped with machine learning
Show understanding of how bit manipulation can be used to monitor/control a device
Show understanding of how data for a bitmapped image are encoded
Show understanding of how data for a vector graphic are encoded
Show understanding of how encryption works
Show understanding of how factors contribute to the performance of the computer system
Show understanding of how graphs can be used to aid Artificial Intelligence (AI)
Show understanding of how software tools found within a DBMS are used in practice
Show understanding of how sound is represented and encoded
Show understanding of insertion sort and bubble sort methods
Show understanding of Karnaugh maps (K-map)
Show understanding of linear and binary searching methods
Show understanding of methods of file access
Show understanding of packet switching
Show understanding of process management
Show understanding of program libraries
Show understanding of protocols (HTTP, FTP, POP3, IMAP, SMTP, BitTorrent) and their purposes
Show understanding of recursion
Show understanding of the bus, star, mesh and hybrid topologies
Show understanding of the characteristics of a number of programming paradigms: Declarative
Show understanding of the characteristics of a number of programming paradigms: Low-level
Show understanding of the characteristics of a number of programming paradigms: Object Oriented
Show understanding of the characteristics of massively parallel computers
Show understanding of the concept of a virtual machine
Show understanding of the differences between the World Wide Web (WWW) and the internet
Show understanding of the four basic computer architectures
Show understanding of the impact of changing the sampling rate and resolution
Show understanding of the importance/use of pipelining and registers in RISC processors
Show understanding of the need for a test strategy and test plan and their likely contents
Show understanding of the need for and examples of the use of compression
Show understanding of the need for and purpose of ethics as a computing professional
Show understanding of the need for copyright legislation
Show understanding of the need for typical utility software provided with an Operating System
Show understanding of the need for: a compiler for the translation of a high-level language program
Show understanding of the normalisation process
Show understanding of the purpose and benefits of networking devices
Show understanding of the purpose of a development life cycle
Show understanding of the purpose of interrupts
Show understanding of the purpose of state-transition diagrams to document an algorithm
Show understanding of the relationship between assembly language and machine code
Show understanding of the TCP/IP protocol suite
Show understanding of the threats to computer and data security posed by networks and the internet
Show understanding of the use of buffers
Show understanding of the various stages in the compilation of a program
Show understanding of thin-client and thick-client and the differences between them
Show understanding of virtual memory, paging and segmentation for memory management
Show understanding of ways of exposing and avoiding faults in programs
Show understanding of why a protocol is essential for communication between computers
Show understanding of why files are needed
Show understanding of why user-defined types are necessary
Show understanding that a set of instructions are grouped
Show understanding that a stack, queue and linked list are examples of ADTs
Show understanding that an ADT is a collection of data and a set of operations on those data
Show understanding that binary representations can give rise to rounding errors
Show understanding that the DBMS carries out all queries and maintenance of data using its DML
Trace a given simple assembly language program
Understand and define the functions of: NOT, AND, OR, NAND, NOR and XOR (EOR) gates
Understand how different ports provide connection to peripheral devices
Understanding what is meant by a programming paradigm
Use a stack, queue and linked list to store data
Use an entity-relationship (E-R) diagram to document a database design
Use built-in functions and library routines
Use logic statements to define parts of an algorithm solution
Use pseudocode to write: a 'CASE' structure
Use pseudocode to write: a 'count-controlled' loop
Use pseudocode to write: a 'post-condition' loop
Use pseudocode to write: a 'pre-condition' loop
Use pseudocode to write: an 'IF' statement including the 'ELSE' clause and nested IF statements
Use the following logic gate symbols: NOT, AND, OR, NAND, NOR, XOR
Use the technical terms associated with arrays
Use the terminology associated with procedures and functions
Write an SQL script to query or modify data (DML) which are stored in (at most two) database tables
Write code to perform file-processing operations
Write pseudocode for 1D and 2D arrays
Write pseudocode from a flowchart
Write pseudocode from a structured English description
Write pseudocode statements for: the assignment of values to variables
Write pseudocode statements for: the declaration and initialisation of constants
Write pseudocode statements for: the declaration of variables
Write pseudocode that contains input, process and output
Write pseudocode to handle text files that consist of one or more lines