Computer Science - Year 10

Computer Science Overview

Terms 1 & 2: Programming fundamentals

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.

  1. Students sit an assessment test comprising questions similar to those found on the GCSE exam paper.
Variable

A value that can change depending on conditions or information passed to the program.

Constant

A value that cannot be altered by the program during normal execution.

Operator

Tells a program how to manipulate or interpret values. Categories of operators you need to know about are arithmetic, Boolean and comparison.

Assignment

Giving a variable or constant a value (e.g., counter = 0).

Programming construct

Lines/blocks of code that perform a certain function. The three basic programming constructs are sequence, selection and iteration.

Sequence

One of the three basic programming constructs. Instructions that are carried one after the other in order.

Selection

One of the three basic programming constructs. Instructions that can evaluate a Boolean expression and branch off to one or more alternative paths.

Count-controlled iteration

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.

Condition-controlled iteration

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.

Arithmetic operator

+ - / * ^ Used in mathematical expressions (e.g., num1 + num2 = sum).

Boolean operator: AND

A logical operator used within a program. Only returns TRUE if both values being compared are TRUE.

Boolean operator: OR

A logical operator used within a program. Returns TRUE as long as either value being compared is TRUE.

Boolean operator: NOT

A logical operator used within a program. Returns FALSE if the input is TRUE and returns TRUE if the input is FALSE.

Comparison operator: ==

Equal to.

Comparison operator: !=

Not equal to.

Comparison operator: <

Less than.

Comparison operator: <=

Less than or equal to.

Comparison operator: >

Greater than.

Comparison operator: >=

Greater than or equal to.

Arithmetic operator: +

Addition.

Arithmetic operator: -

Subtraction.

Arithmetic operator: *

Multiplication.

Arithmetic operator: /

Real division.

Arithmetic operator: MOD

Integer division. MOD outputs the remainder left over after division – e.g., 10 MOD 3 = 1.

Arithmetic operator: DIV

Integer division: DIV outputs the number of times a number fits into another number – e.g., 10 DIV 3 = 3.

Arithmetic operator: ^

Exponent.

Data type

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.

Integer

A data type used to store positive and negative whole numbers.

Real

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.

Boolean

Used to store logical conditions – e.g., TRUE/FALSE, ON/OFF, YES/NO, etc.

Character

A single alphanumeric symbol.

String

A sequence of alphanumeric characters and/or symbols – e.g., a word or sentence.

Casting

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

String manipulation

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

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.

File handling: Read

Once a file has been opened, it is possible to use commands to read its contents and return them to a program.

File handling: Write

Once a file has be opened it is possible to use commands to write data to the file from a program.

File handling: Close

When a file is no longer in use, closing it releases the file handle and breaks the connection between the file and a program.

Record

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.

SQL

The language and syntax used to write and run database queries.

SQL command: SELECT

A SQL keyword used query (retrieve) data.

SQL command: FROM

A SQL keyword used to signify which table(s) are included in a query.

SQL command: WHERE

A SQL keyword used to filter query results.

Array

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.

Sub-programs

A block of code given a unique identifiable name within a program. Supports code reuse and good programming technique.

Procedure

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.

Function

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.

Random number generation

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.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Terms 2: Algorithms

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.

  1. Students sit an assessment test comprising questions similar to those found on the GCSE exam paper
Abstraction

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.

Decomposition

The process by which a complex problem or system is broken down into parts that are easier to conceive, understand, program and maintain.

Algorithmic thinking

A way of getting to a solution by identifying the steps required.

Problem inputs

Any information or data that is fed into a system.

Problem processes

Anything that happens to data while a system is running – e.g., calculations.

Problem outputs

Any information or data that leaves a system.

Structure diagram

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.

Pseudocode

A language-independent description of the steps of an algorithm. Intended for humans to express and design algorithms before coding.

Flowchart

A method of designing algorithms using symbols before coding.

Trace table

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.

Searching algorithms

An algorithm that attempts to find a specific value in a data set.

Binary search

Efficient search method that only works if a file’s 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.

Linear search

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.

Sorting algorithm

An algorithm that attempts to sort an unordered set of values.

Bubble sort

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.

Merge sort

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.

Insertion sort

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.

Computational Thinking

The thought processes behind formulating a problem and expressing its solution(s) so that a human or machine can effectively carry it out.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Term 2: Systems architecture

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.

  1. Students sit an assessment test comprising questions similar to those found on the GCSE exam paper
Accumulator

Holds the result of calculations.

ALU

Arithmetic Logic Unit: Performs calculations (e.g., x = 2 + 3) and logical comparisons (e.g., IF x > 3) in the CPU.

Cache

Memory in the processor that provides fast access to frequently used instructions and data.

Cache size

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.

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

Cores

Part of a multi-core processor, a single component with two or more independent CPUs that facilitate the fetch-decode-execute cycle.

CPU

Central Processing Unit: The main part of the computer, consisting of the registers, ALU and control unit.

CU

Control Unit: Decodes instructions. Sends signals to control how data moves around the CPU.

Embedded system

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.

Fetch-decode-execute cycle

The complete process of retrieving an instruction from storage, decoding it and carrying it out. Also known as the instruction cycle.

MAR

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.

MDR

Memory Data Register: Holds data fetched from or to be written to memory. Step three of the fetch-decode-execute cycle.

Program counter

Holds the address of the next instruction to be executed. Step one of the fetch-decode-execute cycle.

Register

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.

Von Neumann architecture

Traditional computer architecture that forms the basis of most digital computer systems. Instructions are fetched, decoded and executed one at a time.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Terms 3 & 4: Memory & storage

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.

  1. Students sit an assessment test comprising questions similar to those found on the GCSE exam paper
Primary storage

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.

RAM

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.

ROM

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.

Virtual memory

Using part of the hard disk as if it were random-access memory. Allows more applications to be open than physical memory can hold.

Secondary storage

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.

Optical storage

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.

Magnetic storage

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.

Solid-state storage

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.

Storage capacity

The amount of data a storage device can store.

Storage speed

The read/write access speed of a storage device.

Storage portability

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.

Storage durability

How resistant a storage device is to damage and wear. Devices with low durability are likely to fail earlier.

Storage reliability

A relative measure of confidence that a storage device will function correctly and allow you to write, read, delete and modify data.

Storage cost

The relative price of a storage device – e.g., per megabyte of data.

Bit

The smallest unit of storage, represented by either a binary 1 or 0.

Nibble

Half a byte. Four bits.

Byte

A collection of eight bits.

Kilobyte

One kilobyte (KB) is 1024 bytes. For the purpose of calculations in an exam, you can treat a kilobyte as 1000 bytes.

Megabyte

One megabyte (MB) is 1024 kilobytes (KB). For the purpose of calculations in an exam, you can treat a megabyte as 1000 KB.

Gigabyte

One gigabyte (GB) is 1024 megabytes (MB). For the purpose of calculations in an exam, you can treat a gigabyte as 1000 MB.

Terabyte

One terabyte (TB) is 1024 gigabytes (GB). For the purpose of calculations in an exam, you can treat a terabyte as 1000 GB.

Petabyte

One petabyte (PB) is 1024 terabytes (TB). For the purpose of calculations in an exam, you can treat a petabyte as 1000 TB.

Denary numbers

A numerical system of notation that uses 10 as its base. The ten decimal base digits are 0 – 9.

Binary numbers

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.

Binary arithmetic

The process of adding two or more positive 8-bit binary numbers (0 – 255).

Overflow

The generation of a number that is too large to be represented by the device intended to store it.

Hexadecimal

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.

Binary shifts

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.

Character set

A set of symbols represented by a computer. These symbols, called characters, can include letters, digits, spaces, punctuation marks and control characters.

ASCII

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.

Unicode

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.

Pixels

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.

Metadata

A collection of data that describes and provides information about other data.

Colour depth

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.

Resolution

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.

Image quality

The overall detail of an image, affected by colour depth and resolution.

Image file size

The total size of an image file in storage. Size in bits = Width in pixels * Height in pixels * Colour depth in bits.

Sample rate

The number of samples taken per second, measured in hertz (Hz).

Sample duration

How many seconds of audio a sound file contains.

Sample bit depth

The number of bits available to store each sample (e.g., 16-bit).

Playback quality

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.

Sound file size

The total size of a sound file in storage. Size in bits = Sampling rate * Sample resolution * Number of seconds.

Compression

The process of reducing the size of a file.

Lossy compression

A compression method that generally involves a loss of quality where experience tells us that it will be least noticed.

Lossless compression

A compression method that allows a file to be recreated in its original quality.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Terms 3-6: Python programming

Students undertake self-directed Python programming practice via a series of programming challenges.

  1. Portfolio of programming challenges
  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Term 4: Computer networks, connections and protocols

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.

  1. Students sit an assessment test comprising questions similar to those found on the GCSE exam paper
LAN

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.

WAN

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.

Client-server network

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.

Peer-to-peer network

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.

Wireless access point

Hardware that allows a Wi-Fi-enabled device to connect to a network.

Router

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.

Switch

A switch sends data between computers on a local area network. It uses the NIC address on a device to route traffic.

NIC

Network Interface Card/Controller: Hardware that connects a computer to a network.

Transmission media

Physical media that can be used to transmit data – e.g., twisted copper cable, fibre optic, etc.

The internet

A worldwide collection of interconnected computer networks. An example of a WAN – the largest in existence.

DNS

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.

Hosting

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 doesn’t change.

The cloud

Remote servers that store data to be accessed over the internet. Access anytime, anywhere from any device. Automatic backups. Collaborate on files easily.

Web server

A program that uses HTTP (Hypertext Transfer Protocol) to deliver web pages to users. Page requests are forwarded by a computer’s HTTP client. Dedicated computers and appliances may also be referred to as web servers.

Client

A device that requests and/or uses services from a remote/connected server.

Network topology

The physical or logical arrangement of connected devices on a network – e.g., computers, switches, routers, printers, servers, etc.

Star topology

Computers connected to a central switch. If one computer fails, no others are affected. If the switch fails, all connections are affected.

Mesh topology

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.

Wired connection

Any computer network that predominantly connects hardware via physical cables – e.g., copper, fibre optic, etc.

Ethernet

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.

Wireless connection

Any computer network that predominantly connects hardware via Wi-Fi, eliminating much of the need for physical cabling.

Wi-Fi

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.

Bluetooth

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.

Encryption

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.

IP address

Internet Protocol Address: A unique string of numbers separated by full stops. Identifies each computer using IP to communicate via a network.

MAC address

Media Access Control Address: Used as a unique identifier for most network technologies including Ethernet and Wi-Fi.

Standards

Various rules for different areas of computing. Standards allow hardware and software from different manufacturers to interact with each other.

Protocol

A set of rules that allow two devices to communicate.

TCP/IP

Transmission Control Protocol/Internet Protocol: TCP provides error-free transmission between two routers. IP routes packets across a wide area network.

HTTP

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.

HTTPS

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

FTP

File Transfer Protocol: Used for sending files between computers, usually on a wide area network.

POP

Post Office Protocol: Used by email clients to retrieve email from an email server.

IMAP

Internet Message Access Protocol: Used by mail clients to manage remote mailboxes and retrieve email from a mail server.

SMTP

Simple Mail Transfer Protocol: Sends email to a mail server.

Protocol layering

The concept of protocol rules being built up in layers – the layered protocol stack facilitates the various rules being executed in a defined order.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Term 5: Network security

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.

  1. Students sit an assessment test comprising questions similar to those found on the GCSE exam paper
Malware

A broad term that covers all software written to facilitate loss of data, encryption of data, fraud and identity theft.

Social engineering

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.

Phishing

Sending emails purporting to be from reputable companies to entice people into revealing personal information.

Brute-force attack

A trial-and-error method of attempting to guess passwords. Automated software is used to generate a large number of guesses.

Denial-of-service attack

Flooding a server with so much traffic that it cannot process legitimate requests.

Data interception and theft

Stealing computer-based information.

SQL injection

A hacking technique used to view or change data in a database by inserting SQL code into a form instead of data.

Penetration testing

Designed to test the security of a system and identify vulnerabilities.

Anti-malware software

Protects against many types of malware including viruses, worms, trojans, rootkits, spyware, key loggers, ransomware and adware.

Firewall

Network software or hardware designed to prevent external users from gaining unauthorised access to a computer system.

User access level

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.

Password

A secret word or phrase used to gain access to a computer, program, interface or system.

Physical security

Any form of physical security intended to protect data and systems – e.g., alarms, locks, security patrols, etc.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Term 6: Systems software

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.

  1. Students sit an assessment test comprising questions similar to those found on the GCSE exam paper
System software

Software that manages the computer. Usually supplied with the computer.

Operating system

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.

User interface

Allows a user to interact with a computer – e.g., input devices and software.

Memory management

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.

Multitasking

Running multiple applications simultaneously by giving each one a slice of processor time.

Peripheral management

The management of connected input/output devices such as a mouse, keyboard, webcam, speaker, scanner, printer, etc.

Driver

Translates operating system commands into hardware-specific commands – e.g., a printer driver tells the printer how to print a document.

User management

Allows different people to log into the same computer with a username and password. Remembers personal settings. Manages file access rights.

File management

Access permissions for files (read and write). Opening files in programs. Moving, deleting and renaming files. Presenting a folder structure to the user.

Utility software

A program that performs a specific task relating to the operation of the computer – e.g., backup, virus scan, compression, defragmentation.

Encryption software

Turns plaintext data into unreadable ciphertext data using a key. Protects data from being read by hackers.

Defragmentation software

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.

Data compression software

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.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community:

Term 6: Ethical, legal, cultural and environmental impacts of digital technology

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.

  1. Students sit an assessment test comprising questions similar to those found on the GCSE exam paper
Ethical issues

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

Legal issues introduced by the increasing use of computer science and its related technologies – e.g., digital content ownership, hacking, piracy.

Cultural issues

Cultural issues introduced by the increasing use of computer science and its related technologies – e.g., censorship, network restrictions, cyberbullying.

Environmental issues

Environmental issues introduced by the increasing use of computer science and its related technologies – e.g., fossil fuels, energy usage, hazardous materials.

Privacy issues

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.

The Data Protection Act 2018

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

Computer Misuse Act 1990

Legislation that defines electronic vandalism, unauthorised access to computer systems and theft of information.

Copyright Design and Patents Act 1998

Legislation that gives creators of literary, dramatic, musical and artistic works the right to control how their material can be used.

Software licences

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.

Open source

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.

Proprietary

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.

  • Spiritual
  • Moral
  • Social
  • Cultural
Develop the individual:

Create a supportive community: