0% found this document useful (0 votes)
7 views

Notes

The document outlines key concepts in GCSE Computer Science, including CPU architecture, storage types, programming fundamentals, and cybersecurity principles. It details the functions of system software, various algorithms, and data representation methods. Additionally, it covers topics such as types of translators, data structures, and the importance of cybersecurity measures.

Uploaded by

megnakachhia
Copyright
© © All Rights Reserved
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Notes

The document outlines key concepts in GCSE Computer Science, including CPU architecture, storage types, programming fundamentals, and cybersecurity principles. It details the functions of system software, various algorithms, and data representation methods. Additionally, it covers topics such as types of translators, data structures, and the importance of cybersecurity measures.

Uploaded by

megnakachhia
Copyright
© © All Rights Reserved
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 13

GCSE Computer Science

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.

Opcode - tells the CPU what to do (commands).

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.

Central Processing Unit (CPU) - fetches, decodes and executes instructions.

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.

2 Storage and memory keywords:

Page 2 of 13
Primary storage
(volatile memory )

Secondary stora ge

Primary Storage (memory)


Primary storage - Volatile, short-term, fast memory. Includes registers, cache and RAM.

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.

Optical storage - CDs and 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:

• Bit = 1 or 0 (smallest unit of data).


• Nibble = 4 bits
• Byte = 8 bits
• KiloByte = 1024 Bytes
• MegaByte = 1024 x 1024 (roughly 1 million) Bytes
• GigaByte = 1024 x 1024 x 1024 (roughly 1 billion) Bytes
• TeraByte = 1024 x 1024 x 1024 x 1024 (roughly 1 trillion) Bytes

Characteristics of secondary storage that need to be considered when buying devices for certain scenarios:

• capacity (amount of data it can store)

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:

• Interpreter – translates code line-by-line into machine code (binary).


• Compiler – translates all of the code in one go and stores it as an executable file. Once the code is
compiled, it can be run by the processor whenever it is needed.
Page 4 of 13
• Assembler – translates low level assembly language into machine code.

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.

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

Ways of preventing Threats:

 Cover your PIN code


 Biometric methods – face ID/finger print recognition
 Untrusted source – educate about phishing email
 2 Factor/step authentication – identify authentication
 Encryption of files
 Strong password/change it often
 Anti-virus
 Firewall
 Testing – black box/white box

Other cyber Security threats

 Misconfigured access rights


 Weak/default password
 Removable media
 Unpatched/outdated software

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

Anti-Malware software - scans a computer system and alerts to any malware.

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.

Utilities (tools) - small pieces of software that perform a particular task.

Operating system functions:

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

Think MUMPS (Multi-tasking, User-interface, Memory management, Peripheral management, Security).

The OS also manages user accounts and file storage.

Utility system software:


Encryption software utility - encrypts (scrambles) data using a key that is known only to the sender and
receiver. It prevents anyone else from reading the data.

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.

Decomposition – breaking a problem down into smaller solvable sub-problems.

Algorithmic thinking – creating step-by-step instructions to solve a problem using computers.

Page 9 of 13
10 Programming keywords
Variable - A named container that stores a value in RAM that CAN change.

Constant - A value that CANNOT change.

Data-types - The type of data that is stored in a variable.

• String - Alphanumeric characters (e.g. $myPassword123)


• Integer - Whole numbers (e.g. 3)
• Real/float - Decimal numbers (e.g. 3.14159)
• Boolean -TRUE or FALSE
Binary shifts - Binary shifts or “bit-shifts” moves binary numbers to the left or right. A shift of 1 space left
will double the number. 1 shift right will halve it.

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

Logical (relational) operators:

The three basic programming constructs used to control the flow of a program:

• sequence

• selection (IF/ELSE)

• iteration (count-controlled/FOR loops and condition-controlled/WHILE loops)

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.

Another example of a 2D array:

Sub-routines
Sub-routines (functions and procedures) - named blocks of code that perform a particular task inside your
main program.

Functions - RETURN a value.

Procedures - do not return a value.

Structure diagrams - can be used to show how a program can


be DECOMPOSED into separate SUBROUTINES. The example below
shows a very simple 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.

Computational logic (logic gates)


NOT gate - Simply gives the opposite output (e.g. changes a 1 to a 0)

AND gate - BOTH inputs must be 1 to give an output of 1.

Page 12 of 13
OR gate - One OR both inputs can be 1 to give an output of 1.

Page 13 of 13

You might also like