Computer Science | 9618

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 a logic circuit

Construct a logic expression

Construct a truth table

Construct the truth table for each of the logic gates above

Convert binary floating-point real numbers into denary and vice versa

Correct identified errors

Define and use a function

Define and use a procedure

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 and use the process of stepwise refinement to express an algorithm to a level of detail from which the task may be programmed

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 measures designed to protect computer systems, ranging from the stand-alone PC to a network of computers

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 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)

Explain the benefits and drawbacks of using either a compiler or interpreter and justify the use of each

Explain the client-server and peer-to-peer models of networked computers

Explain the difference between Programmable ROM (PROM), Erasable Programmable ROM (EPROM) and Electrically Erasable Programmable ROM (EEPROM)

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

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

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 a normalised database design for a description of a database, a given set of data, or a given set of tables

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 awareness that high-level language programs may be partially compiled and partially interpreted, such as Java (console mode)

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 represent character data in its internal binary form, depending on the character set used

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 binary magnitudes and the difference between binary prefixes and decimal prefixes

Show understanding of bit streaming

Show understanding of Boolean algebra

Show understanding of circuit switching

Show understanding of cloud computing

Show understanding of Deep Learning, Machine Learning and Reinforcement Learning and the reasons for using these methods

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 are transferred between various components of the computer system using the address bus, data bus and control bus

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 protocol implementation can be viewed as a stack, where each layer has its own functionality

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 how the grammar of a language can be expressed using syntax diagrams or Backus-Naur Form (BNF) notation

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 lossy and lossless compression and justify the use of a method in a given situation

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 Reduced Instruction Set Computers (RISC) and Complex Instruction Set Computers (CISC) processors

Show understanding of the analysis, design, coding, testing and maintenance stages in the program development life cycle

Show understanding of the basic Von Neumann model for a computer system and the stored program concept

Show understanding of the bus, star, mesh and hybrid topologies

Show understanding of the characteristics of a LAN (local area network) and a WAN (wide area network)

Show understanding of the characteristics of a number of programming paradigms: Declarative

Show understanding of the characteristics of a number of programming paradigms: Imperative (Procedural)

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 consequences of a binary representation only being an approximation to the real number it represents (in certain cases)

Show understanding of the differences between and implications of the use of wireless and wired networks

Show understanding of the differences between the World Wide Web (WWW) and the internet

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

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

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

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 limitations of using a file-based approach for the storage and retrieval of data

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

Show understanding of the methods of testing available and select appropriate data for a given method

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 continuing maintenance of a system and the differences between each type of maintenance

Show understanding of the need for copyright legislation

Show understanding of the need for different development life cycles depending on the program being developed

Show understanding of the need for input, output, primary memory and secondary (including removable) storage

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 need for: an interpreter for translation and execution of a high-level language program

Show understanding of the need for: assembler software for the translation of an assembly language program

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

Show understanding of the normalisation process

Show understanding of the purpose and benefits of networking devices

Show understanding of the purpose and role of registers, including the difference between general purpose and special purpose registers

Show understanding of the purpose and roles of the Arithmetic and Logic Unit (ALU), Control Unit (CU) and system clock, Immediate Access Store (IAS)

Show understanding of the purpose of a development life cycle

Show understanding of the purpose of a record structure to hold a set of data of different data types under one identifier

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 an algorithm is a solution to a problem expressed as a sequence of defined steps

Show understanding that binary representations can give rise to rounding errors

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)

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

Show understanding that the DBMS carries out all queries and maintenance of data using its DML

Show understanding that the industry standard for both DDL and DML is Structured Query Language (SQL)

Trace a given simple assembly language program

Understand and define the functions of: NOT, AND, OR, NAND, NOR and XOR (EOR) gates

Understand given SQL (DDL) statements and be able to write simple SQL (DDL) statements using a sub-set of statements

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 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

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 parameters

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 suitable identifier names for the representation of data used by a problem and represent these using an identifier table

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 efficient pseudocode

Write pseudocode for 1D and 2D arrays

Write pseudocode from a flowchart

Write pseudocode from a structured English description

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

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

Write pseudocode to process array data