PowerPoint Presentation PDF
PowerPoint Presentation PDF
PowerPoint Presentation PDF
TOPIC
NUMBER TOPIC
01: Computer Systems
1.1 Systems Architecture
1.2 Memory and Storage
1.3 Computer Networks, Connections and Protocols
1.4 Network Security
1.5 Systems Software
1.6 Ethical, legal, cultural and environmental impacts of digital technology
02: Computational Thinking, Algorithms and Programming
2.1 Algorithms
2.2 Programming Fundamentals
‘I will take responsibility for my 2.3 Producing Robust Programs
learning, be intellectually curious 2.4 Boolean logic
and work independently at 2.5 Programming languages and Integrated Development Environments
school and at home.’ Checklists Knowitall Ninja.com / Codeacademy / Edulite
Code OCR Exam Reference Language
Key Terms Definitions
1.2 Memory
1.2 Memoryand Storage
and Storage
Primary Storage
Secondary Storage Examples of Choosing Storage Media
• Much faster than secondary storage • Storage devices which are not constantly A portable barcode scanner uses solid state
• Holds data and instructions needed by the connected to the computer. flash media
ROMCPU(Read Only Memory) RAM (Random Access Memory) Virtual Memory Virtual Memory Implementation • Storage devices not directly accessible by
• Values stored in • Loses its data when the • Virtual memory is the system’s CPU. • Capacity: barcodes do not consume much
ROM remain when computer is switched off simulated memory 1. The Operating system sets up virtual • Used to back up data stored in primary data so high capacity is not required.
the computer is (volatile) memory using the Virtual Memory storage. • Speed: flash media is quick and delays when
that is written to a
• Useful when there is a need for larger scanning would affect the device’s operation
switched off (non • Used to save data about file on the hard Manager (VMM).
volatile). storage capacity. • Portability: flash media is small and light
programs that are currently drive. 2. The VMM creates a file on the hard disk
and so will easily fit within the scanner
• Virus attacks are open. • It lets more memory large enough for the extra memory Types of Secondary Storage
Optical Storage • Durability: flash media has no moving parts
unlikely. • Much faster than a HDD or be used than there is needed. so the device can be moved without damage
• Values stored cannot SSD, and so the CPU has to 3. The Operating System can then address • Data is written and read using a laser beam
in the system. • Examples include CDs and DVDs • Reliability: flash media is highly reliable
be accidentally spend less time in the "fetch" • This is useful when the virtual memory as if it were • Cost: flash media is more expensive than
changed. part of the "fetch-decode- • Inexpensive, reliable, robust, relatively
you need to run more real memory stored in RAM. other storage, but this is outweighed by the
large capacity
• Data is written execute".
applications on the 4. Swapping or paging is the process used Magnetic Storage above factors
permanently when • It is more expensive per GB by the operating system to move data
computer than RAM • Uses different magnetic patterns to store
the computer is built. than a HDD or SSD. This between RAM and virtual memory. Films are sold on DVD and BluRay disks
can support. data
• Holds the instructions limits our usage of RAM, and 5. Data which processes do not need • Examples include tape cartridge and hard • Capacity: high capacity to allow for longer,
for booting the the amount that can be immediately is moved out of the drive higher quality movies
computer. installed. RAM to virtual memory. • Large capacity, can be used to store • Speed: slower access speeds than flash
operating system and other files and memory but sufficient for the task
programs, reliable, cost-effective • Portability: lightweight, small and commonly
Memory Data Flow Calculating File Sizes Solid State Storage used
• Data is stored within flash chips • Durability: durable if stored correctly
• sound file size = sample rate x duration (s) x bit depth
• Examples include USB drives and SSDs • Reliability: reliable if stored correctly
• image file size = colour depth x image height (px) x image
• Flexible, faster access to data, can be used • Cost: very cheap to produce in high
width (px)
quantities
• text file size = bits per character x number of characters for portable devices, generally smaller in
size, robust, easy to use
Factors Which Affect Network Performance Addressing
Bandwidth is the amount of data that can be transmitted. The larger the amount of • Addressing allows us to identify devices
available bandwidth, the more data which can be transmitted in a period oftime. • Every device has a MAC address which never changes
• The type of connection – wired connection will be faster than wireless. • Each device on a network has an IP address but this can change
• Interference – walls and other radio signals can interfere with wireless MAC Address IP Address
networks. Electrical cables can interfere with wired networks. • Media Access Control (MAC) - 48 bits. • 32 bits using 4 sets of decimal values
• The number of devices – if lots of devices are using the network, there will be • Hexadecimal values from 0 – 255.
less bandwidth available to each user. • MM:MM:MM:UU:UU:UU - MM is the • Used to route traffic to the right network.
• The type of media being accessed – large files consume more bandwidth, large manufacturer ID and UU is the device
files such as HD video will take longer to transfer.
ID.
If insufficient bandwidth is available for the number of users, or the size of files,
performance will be poor.
Advantages Of Networking Computers
Protocols • Easy to share documents, several people can work on a document at once.
• HTTP – HyperText Transfer Protocol – Web pages • Only one Internet connection is needed and can be shared between devices.
• HTTPS - Hypertext Transfer Protocol (Secure) – Secure web pages • Centralised backups can be carried out.
• FTP – File Transfer Protocol • Software updates and patches can be automatically pushed out.
• SMTP – Simple Mail Transfer Protocol – Send emails • Users can log in to any machine connected to the network.
• IMAP – Internet Message Access Protocol – Receive emails
• POP3 – Post Office Protocol version 3 – Receive emails Network Hardware
• DNS – Domain Name System – Converts names to IP Addresses Wireless Access Points
• IP – Internet Protocol – Addresses packets Converts network signals into radio waves allowing devices to connect wirelessly.
Routers and Switches
• TCP – Transmission Control Protocol – Provides reliable transmission
Connects devices on a LAN together by transmitting data between devices.
NIC (Network Interface Card)
The Internet
A piece of hardware within a device which allows it to connect to the network.
The Internet – A worldwide collection of computer networks
Transmission Media
Hosting – A service which allows you to publish a website to The Internet DNS
Connects the NIC to the router or switch. Could be:
(Domain Name System) – A system for converting host names and web
addresses into IP addresses • Wireless - using radio waves
Web Server – A server configured to host websites. • Ethernet – twisted pair coper cables
Web Client – A client accessing websites, usually over The Internet. • Fibre Optic – data transmitted as light through glass or plastic cable
4 Hexadecimal Numbers
5 Binary Shifting
6 CPU Architecture
7 Common CPU Components
Systems Architecture
8 The Fetch-Execute Cycle
9 CPU Performance & Embedded Systems
10 Primary Storage
11 Secondary Storage 1 Primary & Secondary Storage
12 Secondary Storage 2
13 Character Sets & Images
Data Representation &
14 Sound Compression
15 Compression
16 Types of Networks
17 Network Hardware
Networks & Topologies
18 The Internet
19 Network Topologies
20 Modes of Connection
21 Encryption Wired & Wireless Networks,
Protocols & Layers
22 Addresses & Standards
23 Common Protocols & Layers
24 Forms of Attack 1
25 Forms of Attack 2
Network Security
26 Identifying & Preventing Vulnerabilities 1
27 Identifying & Preventing Vulnerabilities 2
28 Operating Systems 1
29 Operating Systems 2 Systems Software
30 Utility Software
31 Ethical & Cultural Issues
32 Environmental & Privacy Issues Ethical, Legal, Cultural &
Environmental Impact
33 Data Protection & Computer Misuse
34 Copyright & Licencing
Principles of Computer Science U2 Module Grade % Note Knowitall - Computational Thinking,
1 Decomposition Module Grade% Note
Algorithms & Programming
Pattern Recognition, Generalisation & Computational 1 Logic Diagrams
2
Abstraction Thinking 2 Truth Tables Boolean Logic
3 Algorithm Design 3 Combining Gates & Solving Problems
4 Interpreting Pseudocode Computational
Structured English & 4 Computational Thinking
5 Developing Pseudocode Thinking
Flowcharts
6 Flowcharts Using Standard Symbols 5 Problem Structure
7 Constants & Variables Handling Data within 6 Pseudocode & Natural English
8 Arithmetic Operations a Program 7 OCR Exam Reference Language Algorithm Design
9 Arithmetic Functions 8 Flowcharts
10 String Functions
Built-In Functions 9 Improving Algorithms
11 String Conversions 10 The Use of Outputs
12 General Functions
11 Variables & Data Types Programming
13 Validating Data 1
12 Variables, Constants & Input Fundamentals &
14 Validating Data 2 Validating Data
13 Casting Variables Data Types
15 Error Handling and Reporting
16 Loops
14 The Common Operators
17 Branches Control Structures 15 Sequence and Selection 1
18 Function Calls 16 Sequence and Selection 2 Sequence,
19 Data Structures & Strings 17 Sequence and Selection 3 Selection &
20 One-Dimensional Arrays 18 Iteration 1 Iteration
21 Two-Dimensional Arrays 19 Iteration 2
Data Structures
22 Records 20 Basic String Manipulation 1 String
23 Linked Lists 21 Basic String Manipulation 2 Manipulation &
24 Sets 22 Basic File Handling Operations File Handling
25 Stacks Standard Algorithms – 23 One-Dimensional Arrays
26 Queues Data Structures 24 Two-Dimensional Arrays
27 Bubble Sort Data Structures
25 Records
28 Insertion Sort Standard Algorithms – 26 SQL
29 Quicksort and Recursion Sorting 27 Procedures
30 Quicksort Sub Programs
28 Functions
31 Linear Search
Standard Algorithms – 29 Defensive Design Considerations
32 Binary Search
Searching 30 Input Validation Producing Robust
33 Count Occurrence
31 Maintainability Programs
34 Procedural Programming
35 Object-Oriented Programming 1
32 Testing
Types of Programming 33 Language Types & Translators Programming
36 Object-Oriented Programming 2
Languages 34 The Integrated Development Environment Languages & IDEs
37 Object-Oriented Programming 3
38 Event-Driven Programming
35 Linear Search
39 Mark-Up & Web Languages 36 Binary Search Searching &
40 Client-Side Scripting Coding for the Web 37 Bubble Sort Sorting
41 Server-Side Scripting 38 Insertion Sort Algorithms
42 Language Translation Translation 39 Merge Sort
Code Academy Name
Learn Python 2 Progress Sheet.
Section Subsections Date Completed What you learned ? Just a quick short note of a piece of useful code.
1Python Syntax Python Syntax
PygLatin
4Functions Functions
Taking a Vacation
Battleship
8Loops Loops
classes
2.1 Algorithms 63
MDR, etc.”
Von Neumann
7. 1.1.1 “Traditional computer architecture that forms the basis of most digital computer systems. Instructions are fetched, decoded and executed one at a time.”
architecture
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.
8. 1.1.1 MAR
Step two of the fetch-decode-execute cycle.”
9. 1.1.1 MDR Memory Data Register: “Holds data fetched from or to be written to memory. Step three of the fetch-decode-execute cycle.”
10. 1.1.1 Program counter “Holds the address of the next instruction to be executed. Step one of the fetch-decode-execute cycle.”
11. 1.1.1 Accumulator “Holds the result of calculations.”
“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
syste performance
13. 1.1.2 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.”
14. 1.1.2 Cores “Part of a multi-core processor, a single component with two or more independent CPUs that facilitate the fetch-decode-execute cycle.”
Embe
dded
“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
ms
Random-Access Memory: “Volatile (data is lost when the computer is powered off). Read-and-write. Purpose: Temporary storage of currently executing instructions and
17. 1.2.1 RAM
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
18. 1.2.1 ROM
bootstrap.”
19. 1.2.1 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.”
20. 1.2.2 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.”
21. 1.2.2 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.”
“Hard disk drive. Use: Operating system and applications. High capacity. Medium data access speed. Low portability (except for portable drives). Reliable but not durable.
1.2 Memory and storage
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
23. 1.2.2 Solid-state storage
data access speed. High cost.”
24. 1.2.2 Storage capacity “The amount of data a storage device can store.”
25. 1.2.2 Storage speed “The read/write access speed of a storage device.”
26. 1.2.2 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.”
27. 1.2.2 Storage durability “How resistant a storage device is to damage and wear. Devices with low durability are likely to fail earlier.”
28. 1.2.2 Storage reliability “A relative measure of confidence that a storage device will function correctly and allow you to write, read, delete and modify data.”
29. 1.2.2 Storage cost “The relative price of a storage device – e.g., per megabyte of data.”
30. 1.2.3 Bit “The smallest unit of storage, represented by either a binary 1 or 0.”
31. 1.2.3 Nibble “Half a byte. Four bits.”
32. 1.2.3 Byte “A collection of eight bits.”
Units
33. 1.2.3 Kilobyte “One kilobyte (KB) is 1024 bytes. For the purpose of calculations in an exam, you can treat a kilobyte as 1000 bytes.”
34. 1.2.3 Megabyte “One megabyte (MB) is 1024 kilobytes (KB). For the purpose of calculations in an exam, you can treat a megabyte as 1000 KB.”
35. 1.2.3 Gigabyte “One gigabyte (GB) is 1024 megabytes (MB). For the purpose of calculations in an exam, you can treat a gigabyte as 1000 MB.”
36. 1.2.3 Terabyte “One terabyte (TB) is 1024 gigabytes (GB). For the purpose of calculations in an exam, you can treat a terabyte as 1000 GB.”
37. 1.2.3 Petabyte “One petabyte (PB) is 1024 terabytes (TB). For the purpose of calculations in an exam, you can treat a petabyte as 1000 TB.”
38. 1.2.4 Denary numbers “A numerical system of notation that uses 10 as its base. The ten decimal base digits are 0 – 9.”
41. 1.2.4 Overflow “The generation of a number that is too large to be represented by the device intended to store it.”
42. 1.2.4 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.”
43. 1.2.4 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.
“A set of symbols represented by a computer. These symbols, called characters, can include letters, digits, spaces, punctuation marks and control
44. 1.2.4 Character set
characters.”
Data storage
(Characters)
America Standard Code for Information Interchange: “A character set devised for early telecommunication systems but proved to be ideal for
45. 1.2.4 ASCII
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
46. 1.2.4 Unicode
extension of ASCII.”
1.2 Memory and storage
“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
47. 1.2.4 Pixels
display.”
Data storage (Images)
48. 1.2.4 Metadata “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)
49. 1.2.4 Colour depth
each colour component of a single pixel.”
50. 1.2.4 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.”
51. 1.2.4 Image quality “The overall detail of an image, affected by colour depth and resolution.”
52. 1.2.4 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.”
53. 1.2.4 Sample rate “The number of samples taken per second, measured in hertz (Hz).”
Data storage (Sound)
54. 1.2.4 Sample duration “How many seconds of audio a sound file contains.”
55. 1.2.4 Sample bit depth “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
56. 1.2.4 Playback quality
the larger the file size. CD quality is 44,100 samples per second.”
57. 1.2.4 Sound file size “The total size of a sound file in storage. Size in bits = Sampling rate * Sample resolution * Number of seconds.”
Compression
59. 1.2.5 Lossy compression “A compression method that generally involves a loss of quality where experience tells us that it will be least noticed.”
60. 1.2.5 Lossless compression “A compression method that allows a file to be recreated in its original quality.”
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-
61. 1.3.1 LAN
Fi access points.”
Wide Area Network: “Large geographic area. Infrastructure is hired from telecommunication companies who own and manage it. Connected with telephone lines,
62. 1.3.1 WAN
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
63. 1.3.1 Client-server network
internet, shared printers and email services, as well as running data backups.”
64. 1.3.1 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.”
65. 1.3.1 Wireless access point “Hardware that allows a Wi-Fi-enabled device to connect to a network.”
Networks and topologies “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
66. 1.3.1 Router
other routers.”
67. 1.3.1 Switch “A switch sends data between computers on a local area network. It uses the NIC address on a device to route traffic.”
68. 1.3.1 NIC Network Interface Card/Controller: “Hardware that connects a computer to a network.”
69. 1.3.1 Transmission media “Physical media that can be used to transmit data – e.g., twisted copper cable, fibre optic, etc.”
70. 1.3.1 The internet “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 –
71. 1.3.1 DNS
this is necessary because, although domain names are easy to remember, computers access websites using IP addresses.”
1.3 Computer networks, connections and protocols
“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
72. 1.3.1 Hosting
and have an IP address that doesn’t change.”
73. 1.3.1 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.”
“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
74. 1.3.1 Web server
computers and appliances may also be referred to as web servers.”
75. 1.3.1 Client “A device that requests and/or uses services from a remote/connected server.”
76. 1.3.1 Network topology “The physical or logical arrangement of connected devices on a network – e.g., computers, switches, routers, printers, servers, etc.”
77. 1.3.1 Star topology “Computers connected to a central switch. If one computer fails, no others are affected. If the switch fails, all connections are affected.”
78. 1.3.1 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.”
79. 1.3.2 Wired connection “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
80. 1.3.2 Ethernet
and error-checking bits. Uses twisted pair and fibre optic cables. A switch is used to connect computers.”
81. 1.3.2 Wireless connection “Any computer network that predominantly connects hardware via Wi-Fi, eliminating much of the need for physical cabling.”
82. 1.3.2 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.”
83. 1.3.2 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.”
“Encoding readable data (plain text) into unreadable data (ciphertext). Only the intended recipient can decode the data using a special key. Protects sensitive
84. 1.3.2 Encryption
communications against hacking.”
85. 1.3.2 IP address Internet Protocol Address: “A unique string of numbers separated by full stops. Identifies each computer using IP to communicate via a network.”
86. 1.3.2 MAC address Media Access Control Address: “Used as a unique identifier for most network technologies including Ethernet and Wi-Fi.”
87. 1.3.2 Standards “Various rules for different areas of computing. Standards allow hardware and software from different manufacturers to interact with each other.”
88. 1.3.2 Protocol “A set of rules that allow two devices to communicate.”
89. 1.3.2 TCP/IP 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
90. 1.3.2 HTTP
personal.”
Hypertext Transfer Protocol Secure: “Encryption and authentication for requesting and delivering HTML web pages. Used in websites that are sending and/or
91. 1.3.2 HTTPS
receiving sensitive data (e.g., passwords, bank details).”
92. 1.3.2 FTP File Transfer Protocol: “Used for sending files between computers, usually on a wide area network.”
93. 1.3.2 POP Post Office Protocol: “Used by email clients to retrieve email from an email server.”
94. 1.3.2 IMAP Internet Message Access Protocol: “Used by mail clients to manage remote mailboxes and retrieve email from a mail server.”
95. 1.3.2 SMTP Simple Mail Transfer Protocol: “Sends email to a mail server.”
96. 1.3.2 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.”
97. 1.4.1 Malware “A broad term that covers all software written to facilitate loss of data, encryption of data, fraud and identity theft.”
networks
100. 1.4.1 Brute-force attack “A trial-and-error method of attempting to guess passwords. Automated software is used to generate a large number of guesses.”
101. 1.4.1 Denial-of-service attack “Flooding a server with so much traffic that it cannot process legitimate requests.”
1.4 Network security
106. 1.4.2 Firewall “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
107. 1.4.2 User access level
administrator or network technician will be allowed much greater access with fewer restrictions.”
108. 1.4.2 Password “A secret word or phrase used to gain access to a computer, program, interface or system.”
109. 1.4.2 Physical security “Any form of physical security intended to protect data and systems – e.g., alarms, locks, security patrols, etc.”
110. 1.5.1 System software “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
111. 1.5.1 Operating system
Windows, Linux, Unix, MacOS and iOS.”
112. 1.5.1 User interface “Allows a user to interact with a computer – e.g., input devices and software.”
Operating systems
“The process of the operating system deciding what should be in memory at any given time. Responsible for loading data and programs into and
113. 1.5.1 Memory management
out of memory when required.”
114. 1.5.1 Multitasking “Running multiple applications simultaneously by giving each one a slice of processor time.”
1.5 System software
115. 1.5.1 Peripheral management “The management of connected input/output devices such as a mouse, keyboard, webcam, speaker, scanner, printer, etc.”
116. 1.5.1 Driver “Translates operating system commands into hardware-specific commands – e.g., a printer driver tells the printer how to print a document.”
117. 1.5.1 User management “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
118. 1.5.1 File management
user.”
119. 1.5.2 Utility software “A program that performs a specific task relating to the operation of the computer – e.g., backup, virus scan, compression, defragmentation.”
Utility software
120. 1.5.2 Encryption software “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
Defragmentation
121. 1.5.2 fragments being spread across the disk. Defragmentation puts file fragments and free space back together in contiguous space, improving access
software
speeds.”
Data compression “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
122. 1.5.2
software they can be read.”
“Ethical issues introduced by the increasing use of computer science and its related technologies – e.g., job losses, AI/machine
123. 1.6.1 Ethical issues
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,
124. 1.6.1 Legal issues
hacking, piracy.”
“Cultural issues introduced by the increasing use of computer science and its related technologies – e.g., censorship, network
125. 1.6.1 Cultural issues
restrictions, cyberbullying.”
1.6 Ethical, legal, cultural and environmental concerns
“Environmental issues introduced by the increasing use of computer science and its related technologies – e.g., fossil fuels,
126. 1.6.1 Environmental issues
energy usage, hazardous materials.”
“Privacy issues introduced by the increasing use of computer science and its related technologies – e.g., always-on, voice-
127. 1.6.1 Privacy issues
activated devices; CCTV; social media; GPS tracking.”
The Data Protection “Legislation that protects individuals from the unreasonable use of their personal data. Updated in 2018 to cover the
128. 1.6.1
Act 2018 requirements of the General Data Protection Regulation (GDPR).”
Copyright Design and “Legislation that gives creators of literary, dramatic, musical and artistic works the right to control how their material can be
130. 1.6.1
Patents Act 1998 used.”
“A set of binding legal terms that often come with a commercial software application and dictate how you can use it – e.g.,
131. 1.6.1 Software licences
personal use, company use, etc.
“Users can modify and distribute the software. Can be installed on any number of computers. Support provided by the
132. 1.6.1 Open source
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
133. 1.6.1 Proprietary
by developers. Users do not have access to the source code. Fully tested and supported by developers.”
134. 2.1.1 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.”
Computational thinking
“The process of separating ideas from specific instances of those ideas at work. Computational structures are defined by their meanings while
135. 2.1.1 Abstraction 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.”
136. 2.1.1 Decomposition “The process by which a complex problem or system is broken down into parts that are easier to conceive, understand, program and maintain.”
137. 2.1.1 Algorithmic thinking “A way of getting to a solution by identifying the steps required.”
Designing, creating and refining algorithms
138. 2.1.2 Problem inputs “Any information or data that is fed into a system.”
139. 2.1.2 Problem processes “Anything that happens to data while a system is running – e.g., calculations.”
140. 2.1.2 Problem outputs “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
141. 2.1.2 Structure diagram
help break a large problem down into a number of smaller parts.”
142. 2.1.2 Pseudocode “A language-independent description of the steps of an algorithm. Intended for humans to express and design algorithms before coding.”
2.1 Algorithms
143. 2.1.2 Flowchart “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
144. 2.1.2 Trace table
column for each variable. Each row shows how the various values change as the algorithm runs.”
145. 2.1.3 Searching algorithms “An algorithm that attempts to find a specific value in a data set.”
“Efficient search method that only works if a file’s records are arranged in sequence. Involves accessing the middle record in the file, determining
146. 2.1.3 Binary search 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
Searching and sorting algorithms
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,
147. 2.1.3 Linear search
a serial search must be used.”
148. 2.1.3 Sorting algorithm “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
149. 2.1.3 Bubble sort
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
150. 2.1.3 Merge sort
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
151. 2.1.3 Insertion sort
quicksort, heapsort or merge sort.”
152. 2.2.1 Variable “A value that can change depending on conditions or information passed to the program.”
153. 2.2.1 Constant “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
154. 2.2.1 Operator
comparison.”
155. 2.2.1 Assignment “Giving a variable or constant a value (e.g., counter = 0).”
156. 2.2.1 Programming construct “Lines/blocks of code that perform a certain function. The three basic programming constructs are sequence, selection and iteration.”
157. 2.2.1 Sequence “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
158. 2.2.1 Selection
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
159. 2.2.1 Count-controlled iteration (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 “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
160. 2.2.1
iteration program during execution.”
2.2 Programming fundamentals
Programming fundamentals
161. 2.2.1 Arithmetic operator + - / * ^ “Used in mathematical expressions (e.g., num1 + num2 = sum).”
162. 2.2.1 Boolean operator: AND “A logical operator used within a program. Only returns TRUE if both values being compared are TRUE.”
163. 2.2.1 Boolean operator: OR “A logical operator used within a program. Returns TRUE as long as either value being compared is TRUE.”
164. 2.2.1 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.”
165. 2.2.1 Comparison operator: == “Equal to.”
166. 2.2.1 Comparison operator: != “Not equal to.”
167. 2.2.1 Comparison operator: < “Less than.”
168. 2.2.1 Comparison operator: <= “Less than or equal to.”
169. 2.2.1 Comparison operator: > “Greater than.”
170. 2.2.1 Comparison operator: >= “Greater than or equal to.”
171. 2.2.1 Arithmetic operator: + “Addition.”
172. 2.2.1 Arithmetic operator: - “Subtraction.”
173. 2.2.1 Arithmetic operator: * “Multiplication.”
174. 2.2.1 Arithmetic operator: / “Real division.”
175. 2.2.1 Arithmetic operator: MOD “Integer division. MOD outputs the remainder left over after division – e.g., 10 MOD 3 = 1.”
176. 2.2.1 Arithmetic operator: DIV “Integer division: DIV outputs the number of times a number fits into another number – e.g., 10 DIV 3 = 3.”
177. 2.2.1 Arithmetic operator: ^ “Exponent.”
“The basic data types provided as building blocks by a programming language. Most languages allow for more complicated, composite types to be constructed
178. 2.2.2 Data type
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.”
179. 2.2.2 Integer “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
Data types
180. 2.2.2 Real
represented approximately to a fixed number of significant digits and scaled using an exponent.”
181. 2.2.2 Boolean “Used to store logical conditions – e.g., TRUE/FALSE, ON/OFF, YES/NO, etc.”
182. 2.2.2 Character “A single alphanumeric symbol.”
183. 2.2.2 String “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
184. 2.2.2 Casting
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(…)
185. 2.2.3 String manipulation
CHR(…).”
186. 2.2.3 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.”
187. 2.2.3 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.”
188. 2.2.3 File handling: Write “Once a file has be opened it is possible to use commands to write data to the file from a program.”
189. 2.2.3 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.”
2.2 Programming fundamentals
“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.
190. 2.2.3 Record 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.”
191. 2.2.3 SQL “The language and syntax used to write and run database queries.”
“A SQL keyword used query (retrieve) data.”
Additional programming techniques
Defensive design
202. 2.3.1 Authentication “Verifying a user’s identity before they can use a system. Strong passwords over a certain length with symbols and mixed-case letters are advised.”
“Ensuring data input by a user meets specific criteria before processing. Range check (e.g., 1 – 31); type check (e.g., a number, not a symbol);
203. 2.3.1 Input validation
presence check (e.g., data has been input); format check (e.g., a postcode is written LLN(N) NLL). ”
204. 2.3.1 Maintainability “Techniques and methods that make code easier to debug, update and maintain.”
“Many programmers use defined naming conventions for variables, contents and procedures. Camel case is a popular one used in the industry
205. 2.3.1 Naming conventions
where the first word of an identifier uses all lower case and all subsequent words start with a capital letter – e.g., studentsFirstName.”
2.3 Producing robust programs
206. 2.3.1 Indentation “Makes it easier to see where structures begin and end. Conditions, iterations and code inside procedures and functions should be indented.”
207. 2.3.1 Commenting “Used to explains sections of code. Ignored by the compiler.”
“Assessing the performance and functionality of a program under various conditions to make sure it works. Programmers need to consider all the
208. 2.3.2 Testing
devices the program could be used on and what might cause it to crash.”
209. 2.3.2 Iterative testing “Each module of a program is tested as it is developed.”
210. 2.3.2 Final/terminal testing “Checking that all the modules of a program work together as expected and the program meets the expectations of users with real data.”
“Rules of the language have been broken, so the program will not run. Variables not being declared before use. Incompatible variable types (e.g.,
211. 2.3.2 Syntax error
sum = A); using assignments incorrectly (e.g., 2 + 2 = x); keywords misspelt (e.g., PRNT(“Hello”)).”
212. 2.3.2 Logical error “The program runs but does not give the expected output. Division by zero. Infinite loop. Memory full. File not found.”
Testing
213. 2.3.2 Test data “Values used to test a program – normal, boundary and erroneous.”
“Data supplied to a program that is expected. Using a program written to average student test scores as an example, if allowed scores are 0 – 100,
214. 2.3.2 Test data: Normal
normal test data would include all the numbers within that range.”
“Data supplied to a program designed to test the boundaries of a problem. Using a program written to average student test scores as an example, if
215. 2.3.2 Test data: Boundary
allowed scores are 0 – 100, boundary test data could be -1, 0, 1, 99, 100 and 101.”
“Data of the correct type but outside accepted validation limits. Using a program written to average student test scores as an example, if allowed
216. 2.3.2 Test data: Invalid
scores are 0 – 100, invalid test data could be -5, 150, etc.”
“Data of the incorrect type that should be rejected. Using a program written to average student test scores as an example, if allowed scores are 0 –
217. 2.3.2 Test data: Erroneous
100, erroneous data might be the string “hello”, the real number 3.725, etc.”
“A method of expression Boolean logic in a diagram using a set of standard symbols that represent the various logic gates – AND, NOT, OR, NAND,
218. 2.4.1 Logic diagram
etc.”
2.4 Boolean logic
219. 2.4.1 Logic gate “A symbol in a logic diagram that represents a single gate – e.g., AND, OR, NOT.”
Boolean logic
Logic gate: AND “Accepts two inputs and produces one output. Both inputs must be TRUE (1) for the output to be TRUE (1) – otherwise, the output will be FALSE
220. 2.4.1
(0).”
Logic gate: OR “Accepts two inputs and produces one output. At least one input must be TRUE (1) for the output to be TRUE (1) – otherwise, the output will be
221. 2.4.1
FALSE (0).”
Logic gate: NOT “Accepts one input and produces one output. If the input is TRUE (1), the output will be FALSE (0). If the input is FALSE (0), the output will be TRUE
222. 2.4.1
(1).”
223. 2.4.1 Truth table “A notation used in Boolean algebra to define the output of a logic gate or logic circuit for all possible combinations of inputs.”
2.5 Programming languages and
“Designed to allow the expression of a computer program in a way that reflects the problem being solved rather than the details of how the
224. 2.5.1 High-level language
solution is produced. One-to-many.”
Languages
225. 2.5.1 Low-level language “Close to machine code and closely related to the design of the machine. One-to-one.”
226. 2.5.1 Translator “Takes a program written in one programming language and converts it to another.”
227. 2.5.1 Compiler “Translates high-level language source code into a computer’s machine code.”
IDEs
228. 2.5.1 Interpreter “Translates and executes a program one statement at a time.”
The Integrated
Integrated Develop Environment: “A software application that provides comprehensive facilities for software development. Normally consists of a
Development
Environment