Computer Science | 9618

1.1 Data Representation - Show understanding of binary magnitudes and the difference between binary prefixes and decimal prefixes

1.1 Data Representation - Show understanding of different number systems

1.1 Data Representation - Perform binary addition and subtraction

1.1 Data Representation - Describe practical applications where Binary Coded Decimal (BCD) and Hexadecimal are used

1.1 Data Representation - Show understanding of and be able to represent character data in its internal binary form, depending on the character set used

1.2 Multimedia - Show understanding of how data for a bitmapped image are encoded

1.2 Multimedia - Perform calculations to estimate the file size for a bitmap image

1.2 Multimedia - Show understanding of the effects of changing elements of a bitmap image on the image quality and file size

1.2 Multimedia - Show understanding of how data for a vector graphic are encoded

1.2 Multimedia - Justify the use of a bitmap image or a vector graphic for a given task

1.2 Multimedia - Show understanding of how sound is represented and encoded

1.2 Multimedia - Show understanding of the impact of changing the sampling rate and resolution

1.3 Compression - Show understanding of the need for and examples of the use of compression

1.3 Compression - Show understanding of lossy and lossless compression and justify the use of a method in a given situation

1.3 Compression - Show understanding of how a text file, bitmap image, vector graphic and sound file can be compressed

2.1 Networks including the internet - Show understanding of the purpose and benefits of networking devices

2.1 Networks including the internet - Show understanding of the characteristics of a LAN (local area network) and a WAN (wide area network)

2.1 Networks including the internet - Explain the client-server and peer-to-peer models of networked computers

2.1 Networks including the internet - Show understanding of thin-client and thick-client and the differences between them

2.1 Networks including the internet - Show understanding of the bus, star, mesh and hybrid topologies

2.1 Networks including the internet - Show understanding of cloud computing

2.1 Networks including the internet - Show understanding of the differences between and implications of the use of wireless and wired networks

2.1 Networks including the internet - Describe the hardware that is used to support a LAN

2.1 Networks including the internet - Describe the role and function of a router in a network

2.1 Networks including the internet - Show understanding of Ethernet and how collisions are detected and avoided

2.1 Networks including the internet - Show understanding of bit streaming

2.1 Networks including the internet - Show understanding of the differences between the World Wide Web (WWW) and the internet

2.1 Networks including the internet - Describe the hardware that is used to support the internet

2.1 Networks including the internet - Explain the use of IP addresses in the transmission of data over the internet

2.1 Networks including the internet - Explain how a Uniform Resource Locator (URL) is used to locate a resource on the World Wide Web (WWW) and the role of the Domain Name Service (DNS)

3.1 Computers and their components - Show understanding of the need for input, output, primary memory and secondary (including removable) storage

3.1 Computers and their components - Show understanding of embedded systems

3.1 Computers and their components - Describe the principal operations of hardware devices

3.1 Computers and their components - Show understanding of the use of buffers

3.1 Computers and their components - Explain the differences between Random Access Memory (RAM) and Read Only Memory (ROM)

3.1 Computers and their components - Explain the differences between Static RAM (SRAM) and Dynamic RAM (DRAM)

3.1 Computers and their components - Explain the difference between Programmable ROM (PROM), Erasable Programmable ROM (EPROM) and Electrically Erasable Programmable ROM (EEPROM)

3.1 Computers and their components - Show an understanding of monitoring and control systems

3.2 Logic Gates and Logic Circuits - Use the following logic gate symbols: NOT, AND, OR, NAND, NOR, XOR

3.2 Logic Gates and Logic Circuits - Understand and define the functions of: NOT, AND, OR, NAND, NOR and XOR (EOR) gates

3.2 Logic Gates and Logic Circuits - Construct the truth table for each of the logic gates above

3.2 Logic Gates and Logic Circuits - Construct a logic circuit

3.2 Logic Gates and Logic Circuits - Construct a truth table

3.2 Logic Gates and Logic Circuits - Construct a logic expression

4.1 Central Processing Unit (CPU) Architecture - Show understanding of the basic Von Neumann model for a computer system and the stored program concept

4.1 Central Processing Unit (CPU) Architecture - Show understanding of the purpose and role of registers, including the difference between general purpose and special purpose registers

4.1 Central Processing Unit (CPU) Architecture - Show understanding of the purpose and roles of the Arithmetic and Logic Unit (ALU), Control Unit (CU) and system clock, Immediate Access Store (IAS)

4.1 Central Processing Unit (CPU) Architecture - Show understanding of how data are transferred between various components of the computer system using the address bus, data bus and control bus

4.1 Central Processing Unit (CPU) Architecture - Show understanding of how factors contribute to the performance of the computer system

4.1 Central Processing Unit (CPU) Architecture - Understand how different ports provide connection to peripheral devices

4.1 Central Processing Unit (CPU) Architecture - Describe the stages of the Fetch-Execute (F-E) cycle

4.1 Central Processing Unit (CPU) Architecture - Show understanding of the purpose of interrupts

4.2 Assembly Language - Show understanding of the relationship between assembly language and machine code

4.2 Assembly Language - Describe the different stages of the assembly process for a two-pass assembler

4.2 Assembly Language - Trace a given simple assembly language program

4.2 Assembly Language - Show understanding that a set of instructions are grouped

4.2 Assembly Language - Show understanding of and be able to use different modes of addressing

4.3 Bit manipulation - Show understanding of and perform binary shifts

4.3 Bit manipulation - Show understanding of how bit manipulation can be used to monitor/control a device

5.1 Operating Systems - Explain why a computer system requires an Operating System (OS)

5.1 Operating Systems - Explain the key management tasks carried out by the Operating System

5.1 Operating Systems - Show understanding of the need for typical utility software provided with an Operating System

5.1 Operating Systems - Show understanding of program libraries

5.2 Language Translators - Show understanding of the need for: assembler software for the translation of an assembly language program

5.2 Language Translators - Show understanding of the need for: a compiler for the translation of a high-level language program

5.2 Language Translators - Show understanding of the need for: an interpreter for translation and execution of a high-level language program

5.2 Language Translators - Explain the benefits and drawbacks of using either a compiler or interpreter and justify the use of each

5.2 Language Translators - Show awareness that high-level language programs may be partially compiled and partially interpreted, such as Java (console mode)

5.2 Language Translators - Describe features found in a typical Integrated Development Environment (IDE)

6.1 Data Security - Explain the difference between the terms security, privacy and integrity of data

6.1 Data Security - Show appreciation of the need for both the security of data and the security of the computer system

6.1 Data Security - Describe security measures designed to protect computer systems, ranging from the stand-alone PC to a network of computers

6.1 Data Security - Show understanding of the threats to computer and data security posed by networks and the internet

6.1 Data Security - Describe methods that can be used to restrict the risks posed by threats

6.1 Data Security - Describe security methods designed to protect the security of data

6.2 Data Integrity - Describe how data validation and data verification help protect the integrity of data

6.2 Data Integrity - Describe and use methods of data validation

6.2 Data Integrity - Describe and use methods of data verification during data entry and data transfer

7.1 Ethics and Ownership - Show understanding of the need for and purpose of ethics as a computing professional

7.1 Ethics and Ownership - Show understanding of the need to act ethically and the impact of acting ethically or unethically for a given situation

7.1 Ethics and Ownership - Show understanding of the need for copyright legislation

7.1 Ethics and Ownership - Show understanding of the different types of software licensing and justify the use of a licence for a given situation

7.1 Ethics and Ownership - Show understanding of Artificial Intelligence (AI)

8.1 Database Concepts - Show understanding of the limitations of using a file-based approach for the storage and retrieval of data

8.1 Database Concepts - Describe the features of a relational database that address the limitations of a file-based approach

8.1 Database Concepts - Show understanding of and use the terminology associated with a relational database model

8.1 Database Concepts - Use an entity-relationship (E-R) diagram to document a database design

8.1 Database Concepts - Show understanding of the normalisation process

8.1 Database Concepts - Explain why a given set of database tables are, or are not, in 3NF

8.1 Database Concepts - Produce a normalised database design for a description of a database, a given set of data, or a given set of tables

8.2 Database Management Systems (DBMS) - Show understanding of the features provided by a Database Management System (DBMS) that address the issues of a file-based approach

8.2 Database Management Systems (DBMS) - Show understanding of how software tools found within a DBMS are used in practice

8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) - Show understanding that the DBMS carries out all creation/modification of the database structure using its Data Definition Language (DDL)

8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) - Show understanding that the DBMS carries out all queries and maintenance of data using its DML

8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) - Show understanding that the industry standard for both DDL and DML is Structured Query Language (SQL)

8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) - Understand given SQL (DDL) statements and be able to write simple SQL (DDL) statements using a sub-set of statements

8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) - Write an SQL script to query or modify data (DML) which are stored in (at most two) database tables

9.1 Computational Thinking Skills - Show an understanding of abstraction

9.1 Computational Thinking Skills - Describe and use decomposition

9.2 Algorithms - Show understanding that an algorithm is a solution to a problem expressed as a sequence of defined steps

9.2 Algorithms - Use suitable identifier names for the representation of data used by a problem and represent these using an identifier table

9.2 Algorithms - Write pseudocode that contains input, process and output

9.2 Algorithms - pseudocode using the three basic constructs of sequence, decision, and iteration

9.2 Algorithms - Document a simple algorithm using a structured English description, a flowchart or pseudocode

9.2 Algorithms - Write pseudocode from a structured English description

9.2 Algorithms - Write pseudocode from a flowchart

9.2 Algorithms - Draw a flowchart from a structured English description

9.2 Algorithms - Draw a flowchart from pseudocode

9.2 Algorithms - Describe and use the process of stepwise refinement to express an algorithm to a level of detail from which the task may be programmed

9.2 Algorithms - Use logic statements to define parts of an algorithm solution

10.1 Data Types and Records - Select and use appropriate data types for a problem solution

10.1 Data Types and Records - Show understanding of the purpose of a record structure to hold a set of data of different data types under one identifier

10.2 Arrays - Use the technical terms associated with arrays

10.2 Arrays - Select a suitable data structure (1D or 2D array) to use for a given task

10.2 Arrays - Write pseudocode for 1D and 2D arrays

10.2 Arrays - Write pseudocode to process array data

10.3 Files - Show understanding of why files are needed

10.3 Files - Write pseudocode to handle text files that consist of one or more lines

10.4 Introduction to Abstract Data Types (ADT) - Show understanding that an ADT is a collection of data and a set of operations on those data

10.4 Introduction to Abstract Data Types (ADT) - Show understanding that a stack, queue and linked list are examples of ADTs

10.4 Introduction to Abstract Data Types (ADT) - Use a stack, queue and linked list to store data

10.4 Introduction to Abstract Data Types (ADT) - Describe how a queue, stack and linked list can be implemented using arrays

11.1 Programming Basics - Implement and write pseudocode from a given design presented as either a program flowchart or structured English

11.1 Programming Basics - Write pseudocode statements for: the declaration and initialisation of constants

11.1 Programming Basics - Write pseudocode statements for: the declaration of variables

11.1 Programming Basics - Write pseudocode statements for: the assignment of values to variables

11.1 Programming Basics - Write pseudocode statements for: expressions involving any of the arithmetic or logical operators input from the keyboard and output to the console

11.1 Programming Basics - Use built-in functions and library routines

11.2 Constructs - Use pseudocode to write: an 'IF' statement including the 'ELSE' clause and nested IF statements

11.2 Constructs - Use pseudocode to write: a 'CASE' structure

11.2 Constructs - Use pseudocode to write: a 'count-controlled' loop

11.2 Constructs - Use pseudocode to write: a 'post-condition' loop

11.2 Constructs - Use pseudocode to write: a 'pre-condition' loop

11.2 Constructs - Justify why one loop structure may be better suited to solve a problem than the others

11.3 Structured Programming - Define and use a procedure

11.3 Structured Programming - Explain where in the construction of an algorithm it would be appropriate to use a procedure

11.3 Structured Programming - Use parameters

11.3 Structured Programming - Define and use a function

11.3 Structured Programming - Explain where in the construction of an algorithm it is appropriate to use a function

11.3 Structured Programming - Use the terminology associated with procedures and functions

11.3 Structured Programming - Write efficient pseudocode

12.1 Program Development Life cycle - Show understanding of the purpose of a development life cycle

12.1 Program Development Life cycle - Show understanding of the need for different development life cycles depending on the program being developed

12.1 Program Development Life cycle - Describe the principles, benefits and drawbacks of each type of life cycle

12.1 Program Development Life cycle - Show understanding of the analysis, design, coding, testing and maintenance stages in the program development life cycle

12.2 Program Design - Use a structure chart to decompose a problem into sub-tasks and express the parameters passed between the various modules/procedures/functions which are part of the algorithm design

12.2 Program Design - Show understanding of the purpose of state-transition diagrams to document an algorithm

12.3 Program Testing and Maintenance - Show understanding of ways of exposing and avoiding faults in programs

12.3 Program Testing and Maintenance - Locate and identify the different types of errors

12.3 Program Testing and Maintenance - Correct identified errors

12.3 Program Testing and Maintenance - Show understanding of the methods of testing available and select appropriate data for a given method

12.3 Program Testing and Maintenance - Show understanding of the need for a test strategy and test plan and their likely contents

12.3 Program Testing and Maintenance - Choose appropriate test data for a test plan

12.3 Program Testing and Maintenance - Show understanding of the need for continuing maintenance of a system and the differences between each type of maintenance

12.3 Program Testing and Maintenance - Analyse an existing program and make amendments to enhance functionality

13.1 User-defined data types - Show understanding of why user-defined types are necessary

13.1 User-defined data types - Define and use non-composite types

13.1 User-defined data types - Define and use composite data types

13.1 User-defined data types - Choose and design an appropriate user-defined data type for a given problem

13.2 File organisation and access - Show understanding of the methods of file organisation and select an appropriate method of file organisation and file access for a given problem

13.2 File organisation and access - Show understanding of methods of file access

13.2 File organisation and access - Show understanding of hashing algorithms

13.3 Floating-point numbers, representation and manipulation - Describe the format of binary floating-point real numbers

13.3 Floating-point numbers, representation and manipulation - Convert binary floating-point real numbers into denary and vice versa

13.3 Floating-point numbers, representation and manipulation - Normalise floating-point numbers

13.3 Floating-point numbers, representation and manipulation - Show understanding of the consequences of a binary representation only being an approximation to the real number it represents (in certain cases)

13.3 Floating-point numbers, representation and manipulation - Show understanding that binary representations can give rise to rounding errors

14.1 Protocols - Show understanding of why a protocol is essential for communication between computers

14.1 Protocols - Show understanding of how protocol implementation can be viewed as a stack, where each layer has its own functionality

14.1 Protocols - Show understanding of the TCP/IP protocol suite

14.1 Protocols - Show understanding of protocols (HTTP, FTP, POP3, IMAP, SMTP, BitTorrent) and their purposes

14.2 Circuit switching, packet switching - Show understanding of circuit switching

14.2 Circuit switching, packet switching - Show understanding of packet switching

15.1 Processors, Parallel Processing and Virtual Machines - Show understanding of Reduced Instruction Set Computers (RISC) and Complex Instruction Set Computers (CISC) processors

15.1 Processors, Parallel Processing and Virtual Machines - Show understanding of the importance/use of pipelining and registers in RISC processors

15.1 Processors, Parallel Processing and Virtual Machines - Show understanding of the four basic computer architectures

15.1 Processors, Parallel Processing and Virtual Machines - Show understanding of the characteristics of massively parallel computers

15.1 Processors, Parallel Processing and Virtual Machines - Show understanding of the concept of a virtual machine

15.2 Boolean Algebra and Logic Circuits - Produce truth tables for logic circuits including half adders and full adders

15.2 Boolean Algebra and Logic Circuits - Show understanding of a flip-flop (SR, JK)

15.2 Boolean Algebra and Logic Circuits - Show understanding of Boolean algebra

15.2 Boolean Algebra and Logic Circuits - Show understanding of Karnaugh maps (K-map)

16.1 Purposes of an Operating System (OS) - Show understanding of how an OS can maximise the use of resources

16.1 Purposes of an Operating System (OS) - Describe the ways in which the user interface hides the complexities of the hardware from the user

16.1 Purposes of an Operating System (OS) - Show understanding of process management

16.1 Purposes of an Operating System (OS) - Show understanding of virtual memory, paging and segmentation for memory management

16.2 Translation Software - Show understanding of how an interpreter can execute programs without producing a translated version

16.2 Translation Software - Show understanding of the various stages in the compilation of a program

16.2 Translation Software - Show understanding of how the grammar of a language can be expressed using syntax diagrams or Backus-Naur Form (BNF) notation

17.1 Encryption, Encryption Protocols and Digital Certificates - Show understanding of how encryption works

17.1 Encryption, Encryption Protocols and Digital Certificates - Show awareness of the Secure Socket Layer (SSL)/Transport Layer Security (TLS)

17.1 Encryption, Encryption Protocols and Digital Certificates - Show understanding of digital certification

18.1 Artificial Intelligence (AI) - Show understanding of how graphs can be used to aid Artificial Intelligence (AI)

18.1 Artificial Intelligence (AI) - Show understanding of how artificial neural networks have helped with machine learning

18.1 Artificial Intelligence (AI) - Show understanding of Deep Learning, Machine Learning and Reinforcement Learning and the reasons for using these methods

18.1 Artificial Intelligence (AI) - Show understanding of back propagation of errors and regression methods in machine learning

19.1 Algorithms - Show understanding of linear and binary searching methods

19.1 Algorithms - Show understanding of insertion sort and bubble sort methods

19.1 Algorithms - Show understanding of and use Abstract Data Types (ADT)

19.1 Algorithms - Show how it is possible for ADTs to be implemented from another ADT

19.1 Algorithms - Show understanding that different algorithms which perform the same task can be compared by using criteria (e.g. time taken to complete the task and memory used)

19.2 Recursion - Show understanding of recursion

19.2 Recursion - Show awareness of what a compiler has to do to translate recursive programming code

20.1 Programming Paradigms - Understanding what is meant by a programming paradigm

20.1 Programming Paradigms - Show understanding of the characteristics of a number of programming paradigms: Low-level

20.1 Programming Paradigms - Show understanding of the characteristics of a number of programming paradigms: Imperative (Procedural)

20.1 Programming Paradigms - Show understanding of the characteristics of a number of programming paradigms: Object Oriented

20.1 Programming Paradigms - Show understanding of the characteristics of a number of programming paradigms: Declarative

20.2 File Processing and Exception Handling - Write code to perform file-processing operations

20.2 File Processing and Exception Handling - Show understanding of an exception and the importance of exception handling