In this unit students will demonstrate an understanding of and appropriate use of variables, constants, operators, inputs, outputs and assignment. Students will be able to recognise and use the common arithmetic, comparison and Booleans operators AND, OR and NOT. Students will be able to identify and apply the three basic programming constructs used to control the flow of a program: sequence, selection and iteration (count and condition controlled loops. Students will be able to choose suitable data types for data in a given scenario and understand that data types may be temporarily changed through casting. The unit ends with consideration of further programming techniques including string manipulation, file I/O, SQL, random number generation, the use of sub programs (functions and procedures) and both one-dimensional and two dimensional arrays.
A value that can change depending on conditions or information passed to the program.
A value that cannot be altered by the program during normal execution.
Tells a program how to manipulate or interpret values. Categories of operators you need to know about are arithmetic, Boolean and comparison.
Giving a variable or constant a value (e.g., counter = 0).
Lines/blocks of code that perform a certain function. The three basic programming constructs are sequence, selection and iteration.
One of the three basic programming constructs. Instructions that are carried one after the other in order.
One of the three basic programming constructs. Instructions that can evaluate a Boolean expression and branch off to one or more alternative paths.
An iteration that loops a fixed number of times. A count is kept in a variable called an index or counter. When the index reaches a certain value (the loop bound) the loop will end. Count-controlled repetition is often called definite repetition because the number of repetitions is known before the loop begins executing.
A way for computer programs to repeat one or more steps depending on conditions set either a) initially by the programmer or b) by the program during execution.
+ - / * ^ Used in mathematical expressions (e.g., num1 + num2 = sum).
A logical operator used within a program. Only returns TRUE if both values being compared are TRUE.
A logical operator used within a program. Returns TRUE as long as either value being compared is TRUE.
A logical operator used within a program. Returns FALSE if the input is TRUE and returns TRUE if the input is FALSE.
Equal to.
Not equal to.
Less than.
Less than or equal to.
Greater than.
Greater than or equal to.
Addition.
Subtraction.
Multiplication.
Real division.
Integer division. MOD outputs the remainder left over after division e.g., 10 MOD 3 = 1.
Integer division: DIV outputs the number of times a number fits into another number e.g., 10 DIV 3 = 3.
Exponent.
The basic data types provided as building blocks by a programming language. Most languages allow for more complicated, composite types to be constructed from basic types recursively e.g., char, integer, float, Boolean. As an extension, a string data type is constructed behind the scenes of many char data types.
A data type used to store positive and negative whole numbers.
A data type used to store an approximation of a real number in a way that can support a trade-off between range and precision. Typically, a number is represented approximately to a fixed number of significant digits and scaled using an exponent.
Used to store logical conditions e.g., TRUE/FALSE, ON/OFF, YES/NO, etc.
A single alphanumeric symbol.
A sequence of alphanumeric characters and/or symbols e.g., a word or sentence.
Converting a variable from one data type to another. For example, a variable entered as a string needs to be an integer for calculation age = INPUT(Enter your age: ) age = INT(age).
Commands and techniques that allow you to alter and extract information from textual strings e.g., .length .substring(x, i) .left(i) .right(i) .upper .lower ASC( ) CHR( ).
File handling is the process of dealing with input to and from files. Files first have to be opened, creating a handle to the file and allowing reading and writing.
Once a file has been opened, it is possible to use commands to read its contents and return them to a program.
Once a file has be opened it is possible to use commands to write data to the file from a program.
When a file is no longer in use, closing it releases the file handle and breaks the connection between the file and a program.
A data structure consisting of a collection of elements, typically in fixed number and sequence and indexed by name. Elements of records may be called fields. The record is a data type that describes such values and variables. Most modern languages allow programmers to define new record types, as well as specifying the data type of each field and an identifier by which it can be accessed.
The language and syntax used to write and run database queries.
A SQL keyword used query (retrieve) data.
A SQL keyword used to signify which table(s) are included in a query.
A SQL keyword used to filter query results.
A set of data items of the same type grouped together using a single identifier. Each item is addressed by its variable name and a subscript.
A block of code given a unique identifiable name within a program. Supports code reuse and good programming technique.
A block of code within a program that is given a unique, identifiable name. Can take upwards of zero parameters when it is called. Should be designed and written to perform a task or action that is clearly indicated by its name.
A block of code within a program that is given a unique identifiable name. Can take upwards of zero parameters when it is called and should return a value. Should be designed and written to perform a task or action that is clearly indicated by its name.
Most programming languages have built-in functions or libraries that allow you to easily generate random numbers. Creating truly random numbers is actually rather difficult for a computer, and these algorithms are quite complex.
In this unit students will learn what an algorithm is and be able to create algorithms to solve specific problems using sequence, selection and iteration. Students will learn how to express algorithms using flow diagrams and pseudocode, using suitable variables and arithmetic, relational and Boolean operators. They will also be able to analyse, assess and compare different algorithms for given scenarios.
The process of separating ideas from specific instances of those ideas at work. Computational structures are defined by their meanings while hiding away the details of how they work. Abstraction tries to factor out details from a common pattern so programmers can work close to the level of human thought, leaving out details that matter in practice but are immaterial to the problem being solved.
The process by which a complex problem or system is broken down into parts that are easier to conceive, understand, program and maintain.
A way of getting to a solution by identifying the steps required.
Any information or data that is fed into a system.
Anything that happens to data while a system is running e.g., calculations.
Any information or data that leaves a system.
A diagram that looks like an upside-down tree with one node at the top (root) and many below. Used when designing solutions to problems to help break a large problem down into a number of smaller parts.
A language-independent description of the steps of an algorithm. Intended for humans to express and design algorithms before coding.
A method of designing algorithms using symbols before coding.
A technique used to test algorithms and ensure that no logical errors occur while the algorithm is being processed. The table usually has a column for each variable. Each row shows how the various values change as the algorithm runs.
An algorithm that attempts to find a specific value in a data set.
Efficient search method that only works if a files records are arranged in sequence. Involves accessing the middle record in the file, determining whether the target record has been found and, if not, whether the target record is before or after the mid-point. The process is repeated on the part of the file where the target record is expected to be until it is found.
Examining each entry in a file in turn until the target record is found or the end of the file is reached. Unless the file is arranged in a useful order, a serial search must be used.
An algorithm that attempts to sort an unordered set of values.
Simple and popular with inexperienced programmers but inefficient for sorting large amounts of data, as the length of time it takes to execute correlates to the square of the number of items e.g., if a list of 10 items takes 1ms to sort, 100 items will take 100ms.
Divide-and-conquer algorithm created by John von Neumann. First, the list is divided into the smallest unit, known as an element. Each element is compared with the adjacent list with a view to sorting the records and merging the two lists back together.
A simple sorting algorithm that builds the final sorted array/list one item at a time. Less efficient with large lists than advanced algorithms like quicksort, heapsort or merge sort.
The thought processes behind formulating a problem and expressing its solution(s) so that a human or machine can effectively carry it out.
The unit begins by looking at the various components of the CPU used in the Von Neumann architecture. Students will be able to describe the structure of CPU and functions of components. They will understand the FDE cycle and the need for multiple cores, cache and virtual memory.
Holds the result of calculations.
Arithmetic Logic Unit: Performs calculations (e.g., x = 2 + 3) and logical comparisons (e.g., IF x > 3) in the CPU.
Memory in the processor that provides fast access to frequently used instructions and data.
The larger the cache, the more data that can be stored without having to go back to main memory (RAM) this has a significant impact on processing speed.
Measured in hertz, the clock speed is the frequency at which the internal clock generates pulses. The higher the clock rate, the faster the computer may work. The clock is the electronic unit that synchronises related components by generating pulses at a constant rate.
Part of a multi-core processor, a single component with two or more independent CPUs that facilitate the fetch-decode-execute cycle.
Central Processing Unit: The main part of the computer, consisting of the registers, ALU and control unit.
Control Unit: Decodes instructions. Sends signals to control how data moves around the CPU.
A computer built to solve a highly specific problem. Not easy to change. For example, the operating system placed inside a washing machine, microwave or set of traffic lights.
The complete process of retrieving an instruction from storage, decoding it and carrying it out. Also known as the instruction cycle.
Memory Address Register: Holds the address of data ready to be used by the memory data register or the address of an instruction passed from the program counter. Step two of the fetch-decode-execute cycle.
Memory Data Register: Holds data fetched from or to be written to memory. Step three of the fetch-decode-execute cycle.
Holds the address of the next instruction to be executed. Step one of the fetch-decode-execute cycle.
Tiny areas of extremely fast memory located in the CPU, normally designed for a specific purpose where data or control information is stored temporarily e.g., MAR, MDR, etc.
Traditional computer architecture that forms the basis of most digital computer systems. Instructions are fetched, decoded and executed one at a time.
In this unit there will be a focus on primary and secondary storage. Students will need to understand the need and purpose of primary storage and the difference between RAM and ROM as well as understanding virtual memory. Students will also learn about the need for secondary storage and units of data storage. Students will learn how data is represented by the computer systems and why the binary systems is essential for computer processing. Students will learn how to convert binary into denary and be able to carry out addition, subtraction, multiplication and division on binary numbers. Students will learn why hexadecimal numbers are used and how to convert between binary, denary and hexadecimal. Students will also learn about binary representation of characters, images and audio and how file compression reduces files.
Comprised of random-access memory (RAM) and read-only memory (ROM). It holds data and instructions that the CPU can access more quickly and easily than from secondary storage devices.
Random-Access Memory: Volatile (data is lost when the computer is powered off). Read-and-write. Purpose: Temporary storage of currently executing instructions and data e.g., applications and the operating system.
Read-Only Memory: Non-volatile (data is retained when the computer is powered off). Read-only. Purpose: Stores startup instructions, otherwise known as the bootstrap.
Using part of the hard disk as if it were random-access memory. Allows more applications to be open than physical memory can hold.
Permanent storage of instructions and data not currently in use by the processor. Stores the operating system, applications and data. Read-and-write and non-volatile.
CD-R, CD-RW, DVD-R, DVD-RW. Use: Music, films and archive files. Low capacity. Slow access speed. High portability. Prone to scratches. Low cost.
Hard disk drive. Use: Operating system and applications. High capacity. Medium data access speed. Low portability (except for portable drives). Reliable but not durable. Medium cost.
Memory cards and solid-state hard drives (SSD). Use: Digital cameras and smartphones. Medium capacity. High portability. Reliable and durable. No moving parts. Fast data access speed. High cost.
The amount of data a storage device can store.
The read/write access speed of a storage device.
How easy it is to transport a storage device e.g., solid-state and optical storage are highly portable, whereas magnetic storage is designed to stay in place.
How resistant a storage device is to damage and wear. Devices with low durability are likely to fail earlier.
A relative measure of confidence that a storage device will function correctly and allow you to write, read, delete and modify data.
The relative price of a storage device e.g., per megabyte of data.
The smallest unit of storage, represented by either a binary 1 or 0.
Half a byte. Four bits.
A collection of eight bits.
One kilobyte (KB) is 1024 bytes. For the purpose of calculations in an exam, you can treat a kilobyte as 1000 bytes.
One megabyte (MB) is 1024 kilobytes (KB). For the purpose of calculations in an exam, you can treat a megabyte as 1000 KB.
One gigabyte (GB) is 1024 megabytes (MB). For the purpose of calculations in an exam, you can treat a gigabyte as 1000 MB.
One terabyte (TB) is 1024 gigabytes (GB). For the purpose of calculations in an exam, you can treat a terabyte as 1000 GB.
One petabyte (PB) is 1024 terabytes (TB). For the purpose of calculations in an exam, you can treat a petabyte as 1000 TB.
A numerical system of notation that uses 10 as its base. The ten decimal base digits are 0 9.
Binary describes a numbering scheme with only two possible values for each digit, 0 and 1. In computing, binary refers to any digital encoding system with exactly two possible states e.g., in memory, storage, processing and communications, 0 and 1 are sometimes called low and high, respectively.
The process of adding two or more positive 8-bit binary numbers (0 255).
The generation of a number that is too large to be represented by the device intended to store it.
A numerical system of notation that uses 16 rather than 10 as its base. The 16 hex base digits are 0 9 and the letters A F.
Allows you to easily multiply or divide a base-2 binary number. A left shift multiplies the number by 2, while a right shift divides it by 2.
A set of symbols represented by a computer. These symbols, called characters, can include letters, digits, spaces, punctuation marks and control characters.
America Standard Code for Information Interchange: A character set devised for early telecommunication systems but proved to be ideal for computer systems. Uses 7 bits, providing 32 control codes and 96 displayable characters. The eighth bit is often used for error checking.
Standard character set that replaces the use of multiple different character sets. Incorporates characters from almost all global languages. A 16-bit extension of ASCII.
The smallest unit of a digital image or graphic that can be displayed on a digital device. A pixel is represented by a dot or square on a computer display.
A collection of data that describes and provides information about other data.
Also known as bit depth. Either the number of bits used to indicate a) the colour of a single pixel in a bitmap image or video frame buffer or b) each colour component of a single pixel.
The number of pixels (individual points of colour) in a display, expressed in terms of the number of pixels on the horizontal and vertical axes.
The overall detail of an image, affected by colour depth and resolution.
The total size of an image file in storage. Size in bits = Width in pixels * Height in pixels * Colour depth in bits.
The number of samples taken per second, measured in hertz (Hz).
How many seconds of audio a sound file contains.
The number of bits available to store each sample (e.g., 16-bit).
The finished quality of the digital sound file this is affected by the sample rate and bit depth. The higher the number, the better the quality and the larger the file size. CD quality is 44,100 samples per second.
The total size of a sound file in storage. Size in bits = Sampling rate * Sample resolution * Number of seconds.
The process of reducing the size of a file.
A compression method that generally involves a loss of quality where experience tells us that it will be least noticed.
A compression method that allows a file to be recreated in its original quality.
Students undertake self-directed Python programming practice via a series of programming challenges.
Students will learn about different types of computer networks for different purposes and the functions of hardware required to connect computers. They will learn the differences between client servers and peer-to-peer networks, how data is transmitted across networks and the use of protocols to ensure integrity of data transmitted.
Local Area Network: Small geographic area. All hardware is owned by the organisation using it. Wired with UTP or fibre optic cable or wireless using routers and Wi-Fi access points.
Wide Area Network: Large geographic area. Infrastructure is hired from telecommunication companies who own and manage it. Connected with telephone lines, fibre optic cables or satellite links.
A client makes requests to the server for data and connections. A server controls access and security to one shared file store. A server manages access to the internet, shared printers and email services, as well as running data backups.
All computers are equal and serve their own files to each other. Each computer is responsible for its own security and backups and usually has its own printer.
Hardware that allows a Wi-Fi-enabled device to connect to a network.
A router sends data between networks. It is needed to connect a local area network to a wide area network. It uses the IP address on a device to route traffic to other routers.
A switch sends data between computers on a local area network. It uses the NIC address on a device to route traffic.
Network Interface Card/Controller: Hardware that connects a computer to a network.
Physical media that can be used to transmit data e.g., twisted copper cable, fibre optic, etc.
A worldwide collection of interconnected computer networks. An example of a WAN the largest in existence.
Domain Name System: The internet equivalent of the phone book. Maintains a directory of domain names and translates them to Internet Protocol (IP) addresses this is necessary because, although domain names are easy to remember, computers access websites using IP addresses.
Websites stored on dedicated servers. Used for websites that need to be available 24/7, be accessed by thousands of users at a time, be well-protected from hackers and have an IP address that doesnt change.
Remote servers that store data to be accessed over the internet. Access anytime, anywhere from any device. Automatic backups. Collaborate on files easily.
A program that uses HTTP (Hypertext Transfer Protocol) to deliver web pages to users. Page requests are forwarded by a computers HTTP client. Dedicated computers and appliances may also be referred to as web servers.
A device that requests and/or uses services from a remote/connected server.
The physical or logical arrangement of connected devices on a network e.g., computers, switches, routers, printers, servers, etc.
Computers connected to a central switch. If one computer fails, no others are affected. If the switch fails, all connections are affected.
Switches/routers connected so there is more than one route to the destination e.g., the internet. More resilient to faults but more cable is required.
Any computer network that predominantly connects hardware via physical cables e.g., copper, fibre optic, etc.
A standard for networking local area networks using protocols. Frames are used to transmit data. A frame contains the source and destination addresses, the data and error-checking bits. Uses twisted pair and fibre optic cables. A switch is used to connect computers.
Any computer network that predominantly connects hardware via Wi-Fi, eliminating much of the need for physical cabling.
Wireless connection to a network. Requires a wireless access point or router. Data is sent on a specific frequency. Each frequency is called a channel.
A method of exchanging data wirelessly over short distances much shorter than Wi-Fi. Examples of typical Bluetooth use could be, headphones, car mobiles etc.
Encoding readable data (plain text) into unreadable data (ciphertext). Only the intended recipient can decode the data using a special key. Protects sensitive communications against hacking.
Internet Protocol Address: A unique string of numbers separated by full stops. Identifies each computer using IP to communicate via a network.
Media Access Control Address: Used as a unique identifier for most network technologies including Ethernet and Wi-Fi.
Various rules for different areas of computing. Standards allow hardware and software from different manufacturers to interact with each other.
A set of rules that allow two devices to communicate.
Transmission Control Protocol/Internet Protocol: TCP provides error-free transmission between two routers. IP routes packets across a wide area network.
Hypertext Transfer Protocol: A client-server method of requesting and delivering HTML web pages. Used when the information on a web page is not sensitive or personal.
Hypertext Transfer Protocol Secure: Encryption and authentication for requesting and delivering HTML web pages. Used in websites that are sending and/or receiving sensitive data (e.g., passwords, bank details).
File Transfer Protocol: Used for sending files between computers, usually on a wide area network.
Post Office Protocol: Used by email clients to retrieve email from an email server.
Internet Message Access Protocol: Used by mail clients to manage remote mailboxes and retrieve email from a mail server.
Simple Mail Transfer Protocol: Sends email to a mail server.
The concept of protocol rules being built up in layers the layered protocol stack facilitates the various rules being executed in a defined order.
Students will learn about threats posed to networks, describe different strategies used by criminals to attack computer networks and how these threats can be identified prevented and combatted using network policies.
A broad term that covers all software written to facilitate loss of data, encryption of data, fraud and identity theft.
Most vulnerabilities are caused by humans not locking computers, using unsecure passwords, not following company network policy or implementing it poorly, not installing protection software, not being vigilant with suspicious emails/files and not encrypting sensitive data.
Sending emails purporting to be from reputable companies to entice people into revealing personal information.
A trial-and-error method of attempting to guess passwords. Automated software is used to generate a large number of guesses.
Flooding a server with so much traffic that it cannot process legitimate requests.
Stealing computer-based information.
A hacking technique used to view or change data in a database by inserting SQL code into a form instead of data.
Designed to test the security of a system and identify vulnerabilities.
Protects against many types of malware including viruses, worms, trojans, rootkits, spyware, key loggers, ransomware and adware.
Network software or hardware designed to prevent external users from gaining unauthorised access to a computer system.
The degree of system access that a specific type of user is allowed. On a network, most users will have restricted access, whereas a system administrator or network technician will be allowed much greater access with fewer restrictions.
A secret word or phrase used to gain access to a computer, program, interface or system.
Any form of physical security intended to protect data and systems e.g., alarms, locks, security patrols, etc.
In this unit students explore the purpose and functionality of operating systems, and how the OS manages memory, users and files. Students will be able to define and explain the uses of encryption, defragmentation and data compression utilities.
Software that manages the computer. Usually supplied with the computer.
Specialised software that communicates with computer hardware to allow other programs to run. The most common operating systems are Windows, Linux, Unix, MacOS and iOS.
Allows a user to interact with a computer e.g., input devices and software.
The process of the operating system deciding what should be in memory at any given time. Responsible for loading data and programs into and out of memory when required.
Running multiple applications simultaneously by giving each one a slice of processor time.
The management of connected input/output devices such as a mouse, keyboard, webcam, speaker, scanner, printer, etc.
Translates operating system commands into hardware-specific commands e.g., a printer driver tells the printer how to print a document.
Allows different people to log into the same computer with a username and password. Remembers personal settings. Manages file access rights.
Access permissions for files (read and write). Opening files in programs. Moving, deleting and renaming files. Presenting a folder structure to the user.
A program that performs a specific task relating to the operation of the computer e.g., backup, virus scan, compression, defragmentation.
Turns plaintext data into unreadable ciphertext data using a key. Protects data from being read by hackers.
Files being deleted over time creates gaps on a hard disk. New files fill the gaps but may need more space than the gap provides, resulting in file fragments being spread across the disk. Defragmentation puts file fragments and free space back together in contiguous space, improving access speeds.
Reduces the size of a file so it takes up less disk space and is quicker to download over the internet. Compressed files must be extracted before they can be read.
In this unit, students will learn about impact of development of computer science technologies and be able to discuss environmental, ethical, legal and cultural issues. Students will also be able to describe the legislation relevant to computer science and the issues of data collection and privacy.
Ethical issues introduced by the increasing use of computer science and its related technologies e.g., job losses, AI/machine learning, digital divide, privacy, responsibility for web content.
Legal issues introduced by the increasing use of computer science and its related technologies e.g., digital content ownership, hacking, piracy.
Cultural issues introduced by the increasing use of computer science and its related technologies e.g., censorship, network restrictions, cyberbullying.
Environmental issues introduced by the increasing use of computer science and its related technologies e.g., fossil fuels, energy usage, hazardous materials.
Privacy issues introduced by the increasing use of computer science and its related technologies e.g., always-on, voice-activated devices; CCTV; social media; GPS tracking.
Legislation that protects individuals from the unreasonable use of their personal data. Updated in 2018 to cover the requirements of the General Data Protection Regulation (GDPR).
Legislation that defines electronic vandalism, unauthorised access to computer systems and theft of information.
Legislation that gives creators of literary, dramatic, musical and artistic works the right to control how their material can be used.
A set of binding legal terms that often come with a commercial software application and dictate how you can use it e.g., personal use, company use, etc.
Users can modify and distribute the software. Can be installed on any number of computers. Support provided by the community. Users have access to the source code. May not be fully tested.
Users cannot modify the software. Copyright protected. Usually paid for. Licensed per user or per computer. Support provided by developers. Users do not have access to the source code. Fully tested and supported by developers.