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 16.2 Translation Software - Show understanding of how Reverse Polish Notation (RPN) can be used to carry out the evaluation of expressions 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