Notes
Notes
CPU Page 2
Storage and Memory Page 3
Types of Translators Page 4
Cyber security Page 6
Systems Software Page 8
Algorithms Page 9
Programming (variables, constants, data-types) Page 8
Data representation (images, sound, ASCII vs Unicode) Page 9
System software (operating system and utilities) Page 10
Backup (tertiary storage) Page 10
Legislation (5 laws) and open source vs proprietary Page 11
Algorithms and Computational Thinking Page 12
Programming (variables, constants, data-types) Page 13
Arrays (data structures) Page 14
SQL (databases) Page 14
Sub-routines (functions and procedures) Page 14
Defensive design (robustness, testing and validation) Page 15
Data representation (images, sound, ASCII vs Unicode) Page 16
Logic gates (AND, OR, NOT) Page 16
1 CPU-related Keywords
Von Neumann Architecture - any computer system that consists of input and output devices, with memory
and a central processor. It also refers to both the instructions and the data being stored in RAM together.
Page 1 of 13
System bus - a set of parallel wires that carry data and control signals between components connected to
the motherboard. The system bus consists of three parts:
• Control bus – carries control signals from the CPU’s Control Unit to other components (e.g. RAM)
• Address bus – carries the address of instructions to be fetched from RAM.
• Data bus – carries the actual instruction and data from RAM to the CPU for processing.
Instruction – the simplest part of a computer program that a CPU can understand and process. Instructions
are made up of two parts; the opcode and the operand.
Operand - the piece of data (e.g. a variable) that the opcode is performed on.
Instruction set - contains all of the instructions that a CPU can understand.
CPU Registers - temporary stores for instructions being processed. These include:
• Program Counter – keeps track of where the CPU is in the program. Points to the next instruction in the
cycle.
• Memory Address Register (MAR) – holds the address of the instruction to be fetched.
• Memory Data Register (MDR) – stores the instruction about to be executed.
• Accumulator – stores the most recent result of processing.
Main CPU components:
• Control Unit (CU) – controls the fetch, decode, execute cycle. Sends control signals to CPU components and
timing signals to coordinate the CPU.
• Arithmetic Logic Unit (ALU) – Carries out calculations and logical comparisons (e.g. greater than, less than).
• Cache – High speed memory, very close to the CPU, stores regularly used instructions for fast access.
Clock speed – How many fetch, decode, execute cycles the CPU can perform per second. The higher the
clock speed, the faster a CPU can process data. Usually measured in GHz.
Cores – each core is an independent processing unit. More cores = better performance
Multi-tasking – creating the illusion that many programs are running at the same time (rapidly switches
between programs)
Embedded systems - computer systems with a dedicated function within a larger system. For example a
computer system that controls a washing machine.
Page 2 of 13
Primary storage
(volatile memory )
Secondary stora ge
Random Access Memory (RAM) - a type of volatile primary storage that stores programs and files that are
currently in use.
Volatile - when the power is turned off, the contents are lost.
Virtual Memory - when a portion of the Hard Disk Drive (HDD) is used as though it is RAM (hence “virtual”).
When RAM fills up, it can use this to keep the programs running without having to close them.
Cache - very high speed memory next to the CPU that stores regularly used instructions.
Secondary Storage:
Secondary storage - non-volatile, long term storage for programs, files and other data. E.g. HDD/SSD,
CDs/DVDs.
Magnetic storage - Hard Disk Drives. It uses a moving read-write head that passes over magnetised
platters. HDDs can be a bit unreliable due to moving parts than can wear out and break.
Solid state - uses Flash chips which has no moving parts and is much faster and more durable than a Hard
Disk Drive.
Read-Only Memory (ROM) - a type of storage that can only be read from and not written to. The most
common use of ROM is to store the basic BIOS settings that boot up the computer.
Units of storage:
Characteristics of secondary storage that need to be considered when buying devices for certain scenarios:
Page 3 of 13
• speed (how fast data can be read and written to it)
• portability (how easy it is to carry about)
• durability (how difficult it is to break)
• reliability (how long it tends to last without going faulty)
• cost (per byte or Gigabyte)
Types of Translators
Translators - Convert high-level code such as Python (which is understandable by humans), into machine
code (binary) which is understood by computers.
Types of translator:
Cyber Security
Social Engineering - Any method that hackers use to trick PEOPLE into either downloading malicious
software or giving out personal information. Phishing is a form of social engineering.
1. Phishing – Similar to blagging, a phishing email will ask a person to send personal details, but pretends
to be from a business. They can often look convincing, but may contain spelling errors or URLs that do
not match the business's website.
Page 5 of 13
2. Pharming - Pharming is a type of cyberattack that redirects a user from a genuine website to a fake
one. The fake website will often look like the genuine one. When a person logs in, it sends their
username and password to someone who will use it to access their real accounts.
3. Shouldering - This is the simplest form of taking personal details. Shouldering is looking at someone’s
information over their shoulder, for example looking at someone enter their PIN in a shop or at a
cashpoint.
4. Blagging - when someone makes up a story to gain a person’s interest and uses this to encourage them
to give away information about themselves, or even send money.
Types of Malware:
1. Virus - A malicious piece of software that infects other files. It can only replicate if the file is
opened and run. A virus will replicate and infect other susceptible files, but requires human computer
users to spread them from computer to computer.
2. Worm - A complete standalone piece of malicious software that can spread by itself without any
human interaction.
3. Trojan - A piece of malicious software that tricks users into downloading by making it look like it is
something useful.
4. Spyware - Spyware is a type of malware that collects the activity on a computer system and sends the
data it collects to another person without the owner being aware.
Brute Force attack - Guessing thousands (or millions or even billions!) of password combinations until they
crack the password. This is sometimes called a “dictionary attack” because it goes through all the words of
the dictionary first.
Penetration testing - When companies pay professional hackers to hack into their systems and find
vulnerabilities. Any vulnerabilities (security weaknesses/holes) must be reported by the hacker. The
company can then fix these vulnerabilities to stop real hackers from hacking into the system
Firewall - blocks unwanted access to the network from the Internet. Firewalls inspect incoming data
packets to see if they are legitimate.
Network Policies - rules and guidelines on what users can and can’t do as well as the software to
implement these rules.
• User Access Policy – Making sure all users have accounts with usernames and passwords.
Page 6 of 13
• Acceptable Use Policy – Making sure users use the network appropriately and for example don’t access
personal email accounts that might result in viruses being downloaded.
• Backup and Recovery Policy – What happens in the event of a disaster
Encryption - scrambling data so that only the intended recipient can understand it. Anyone that tries to
steal the data will not be able to read it.
Page 7 of 13
7 Systems Software (OS and utilities) keywords
Systems software - software that controls and manages the hardware and performs useful tasks to keep
the computer running. System software includes the operating system and utilities (tools).
Operating system - a large piece of software that controls the operation of the computer and allows the
user to interact with the computer.
• Multi-tasking – allows the CPU to run many programs at the same time (it actually does this by rapidly
switching between programs to create the illusion that they are running at once).
• User interface – presents a Graphical User Interface (GUI) to the user so that they can easily interact with
the computer.
• Memory management – loads programs into (and out of) RAM and keeps track of where the data is while
the program is running. It also controls virtual memory.
• Peripheral management and drivers – allows devices to connect to the computer and allows the CPU to
understand the external devices.
• Security – provides a user logon system and file access permissions (e.g. one user might be able to only
access certain files).
Defragmentation utility - puts files back into sequential order on the hard disk drive which improves
performance.
Data compression utility - allows users to shrink file sizes so that files and programs take up less storage
space. Lossy compression shrinks the file down, but also loses some of the quality. Lossless compression
shrinks the file, but does not lose any quality.
Data backup:
Tertiary storage – backup storage devices.
Data redundancy - Storing copies of data on several drives in different locations. If one drive fails, the
others can take over.
Full backup - Backing up all of the data. Full backups take a long time to complete and are not done very
often.
Incremental backup - Only backing up the changes since the last full backup. These are quick to complete.
Page 8 of 13
9 Algorithms keywords
Algorithms - a step-by-step set of instructions to solve a problem. Algorithms can be written as
pseudocode or flowcharts.
Pseudocode - code written in English. The idea is that programmers can plan an algorithm before they
actually start programming it.
Flowcharts - another way to design algorithms that all programmers will be able to understand and
implement in their own programming language.
Searching algorithms:
Linear search – just looks through each item in the list until it finds it.
Binary search – finds the middle value of the list. Breaks the list in two, sees if it is above or below the
middle. If it is above, it will then discard the bottom half of the list. It will then break the top half in two.
Again, it checks if it is above or below, if it is below, it will discard the top half and so on until it finds the
item.
Sorting algorithms:
Bubble sort – swaps values in to order with each iteration until they are in order.
Merge sort – breaks the lists into smaller lists and rearranges and merges them into the correct order.
Insertion sort – takes the list values out and inserts them into the correct order.
Computational thinking
Being able to think how a computer could be used to solve a problem.
Abstraction – removing unnecessary details. Focusing only on the details you want.
Page 9 of 13
10 Programming keywords
Variable - A named container that stores a value in RAM that CAN change.
Mathematical operators:
• Addition: + Example: 5 + 15 = 20
• Subtraction: - Example: 10 – 3 = 7
• Multiplication: * Example: 3 * 8 = 24
• Division: / Example: 21 / 3 = 7
• Powers (indices or exponents): EXP or ** Example: 5 EXP 3 = 125 ( 5 x 5 x 5 = 125)
• Division that only gives remainder (Modulus division): MOD or % Example: 7 MOD 2 = 1
• Division that only gives integer part: DIV or // Example: 7 DIV 2 = 3
The three basic programming constructs used to control the flow of a program:
• sequence
• selection (IF/ELSE)
Page 10 of 13
Data structures (arrays)
Data structures - ways of storing and organising data in your computer programs.
The main data structure you use in Python are arrays (lists).
2D arrays are arrays inside of other arrays. 2D arrays are a bit like having rows and columns.
Sub-routines
Sub-routines (functions and procedures) - named blocks of code that perform a particular task inside your
main program.
Page 11 of 13
11 Data representation keywords
Characters - simply letters, numbers and symbols.
Character set - all the set of all characters (letters, numbers, symbols) that a computer can understand.
ASCII - uses 7-bits which could store 27 = 128 characters. ASCII was later upgraded to 8-bits which could
store 28 = 256 characters.
Unicode (16-bit and later 32-bit) - was brought in to allow other languages, with all their various letters
and symbols to be able to be represented in a computer system.
Images
Resolution - the number of bits per area of an image. Higher resolution = better quality (clearer).
Colour depth (bit-depth) – number of bits per pixel. Higher bit depth = more colours.
Sound
Sample rate/sampling frequency - The number of samples of the sound taken per second. The image
below shows that as the sampling frequency increases the analog wave is more accurately represented:
Bit depth or “sample size” - The number of frequencies/pitches that can be represented.
The higher the sampling frequency/sample rate and bit-depth/sample size the better the file will represent
the original analog sound.
Bit rate: The amount of data per second that is required to stream/play the sound back again.
Metadata: Data about data. For example, an image file might contain metadata that gives the resolution
and colour depth.
Page 12 of 13
OR gate - One OR both inputs can be 1 to give an output of 1.
Page 13 of 13