CS Full Summary.docx
IGCSE Edexcel Computer Science
Contributions: AC, RL
Table of Contents
Topic 3: Data | Topic 4: Computers | Topic 5: Communication & Internet | Topic 6: The Bigger Picture |
---|
Binary
Binary is a base-2 numeral system.
It is used to represent data and program instructions.
Each digit is a bit, or a binary digit.
Binary in 1s and 0s are represented by transistors by enabling or disabling current.
Signed Integers
Negative integers are known as signed integers.
Binary holds signed integers in sign and magnitude or two’s complement.
The leftmost bit is the Most Significant Bit (MSB).
In 8-bit binary, the MSB represents the denary 128.
Sign and Magnitude
A MSB of 0 shows that it is positive.
A MSB of 1 shows that it is negative.
Two’s Complement
A MSB of 0 shows that it is positive.
A MSB of 1 deducts by 128.(1)
Simplification: only in 8-bit binary. A MSB of 1 in Two’s complement
would be the negative equivalent of the positive.
Ex. 4-bit Two’s complement “1000” is denary -8 because the MSB positive is 8.
Arithmetic Shifts
Shifts are used to multiply and divide binary.
Logical shifts are used for unsigned integers.
Arithmetic shifts are used for Two’s complement signed integersONLY.
Logic Shift
Shifting the binary pattern left by n multiplies it by 2n.
Shifting the binary pattern right by n divides it by 2n.
Arithmetic Shift
Always keep the MSB the same.
Shifting the binary pattern left by n multiplies it by 2n.
Shifting the binary pattern right by n divides it by 2n.
Shifting right causes the MSB to replace the leftmost positions.
Overflow error
This occurs when the value given is greater than 255(2).
This causes the MSB to be discarded.
This causes crashes and unreliable results.
Simplification: only in 8-bit binary.
Should be “greater than the maximum value able to be stored.”
Hexadecimal
Hexadecimal notation is a base-16 numeral system.(3)
It is used to store larger numbers with fewer digits.
It is used because it is easier to understand.
Consisting of 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F.
Not going over conversion as it is widely taught.
See Hexadecimal - BBC Bitesize for more details.
ASCII
ASCII is a 7-bit character set which encodes text data.
ASCII uses 7 bits to represent characters.
It can represent 128 characters.
The MSB is an unused parity bit to check for errors.(4)
ASCII in full uses 8-bits, or a byte.
Extended ASCII
This is where the MSB is used.
This extension makes it a 8-bit character set.
It can represent 256 characters.
Python Conversion
The ord() function converts characters into the ASCII denary equivalent.
The chr() function converts ASCII denary into the character equivalent.
‘A’ - ‘Z’ is from 65-90, ‘a’ - ‘z’ is from 97-122.(5)
Check by using function: print(ord(A),ord(Z),ord(a),ord(z))
Unicode
Unicode is a character set which encodes all characters.
Unicode uses 8-bit, 16-bit or 32-bit encoding.
Unicode can represent more characters than ASCII.
Unicode demands more memory than ASCII.
Bitmap Images
Bitmap images consist of many pixels.
Pixels are tiny squares representing a colour.
The resolution is the total number of pixels.
The colour depth is the number of bits used to encode a pixel colour.
The file size is found by multiplying the resolution by the colour depth.
Sound to Analog
Sound waves are fluctuating air pressures.
Air pressures are recorded with a microphone diaphragm.
The diaphragm converts air pressures into analog(6) voltage changes.
This is stored in vinyl recordings or magnetic tape.
Analog to Digital
Computers cannot store analog as it is infinitely detailed.
Computers sample frequent analog data using an analog-to-digital recorder (ADR).
The sample rate in Hz is the number of samples per second.
The bit depth is the number of bits stored per sample.
File size
File size in bits is measured by:
Sample Rate * Bit Depth * Duration (in Seconds) * Number of Channels (1 or 2)
Divide to obtain bytes and other prefixes.
Analog is the American word. Analog is representing information
using a continuously variable physical quantity.
A bit is a binary digit.
1 nibble is 4 bits.
1 byte is 8 bits.
From 10, Increasing by powers of 3 1 kilobyte is 103 bytes. 1 megabyte is 106 bytes. 1 gigabyte is 109 bytes. 1 terabyte is 1012 bytes. | From 2 (bi), Increasing by powers of 10 1 kibibyte is 210 bytes. 1 gibibyte is 230 bytes. 1 tebibyte is 240 bytes. |
---|
Data Compression
Data compression reduces the number of bits used to store data.
Data compression is split into lossy and lossless.
Lossy Compression
Lossy compression causes data loss.
The original file cannot be fully restored.
Lossy compression reduces more file size.
JPEG files involve reducing colour depth.
MP3 files involve limiting sample rate, bit depth and frequency(7).
Lossy compression cannot be used for text files.
MP3 files normally limit frequencies to 20Hz to 20kHz
to cater to human listeners.
Lossless Compression
Lossless compression does not cause data loss.
The original file can be fully restored.
Lossless compression reduces less file size.
PNG files involve rewriting a more efficient file using an algorithm.
Run-length encoding shortens repeated characters into 2 bytes(8).
Example: AAABBBCCC would be 3A3B3C.
Advantages
Data compression reduces transmission times.
Data compression reduces storage needed.
Data compression reduces network bandwidth.
Data compression takes advantage of human hearing ranges.
Disadvantages
Data compression takes time to compress and decompress.
Data compression can permanently remove data.
Data compression decreases the quality of the file.
Data Encryption
Data encryption is the scrambling of data to make it unreadable to unauthorised users.
The decrypted text is plaintext.
The encrypted text is ciphertext.
Each letter in ciphertext is unique to one letter in plaintext.
Data encryption does not prevent interception.
Asymmetric Encryption
Asymmetric encryption is the encryption and decryption of data with public and private keys(9).
The public key encrypts the message, the private key decrypts the message.
Asymmetric encryption is used by HTTPS (Hypertext Transfer Protocol) connections in the initial handshake phase between server and client.(10)
Symmetric Encryption
Symmetric encryption is the encryption and decryption of data with a single key.
Symmetric encryption is used by HTTPS connections to exchange data with a secret key between server and client.(10)
Handshake - Transfer Layer Security
The TLS handshake allows the client and server to establish secret keys for communication.
Both client and server use asymmetric encryption to send their digital certificates.
A client uses asymmetric encryption to send a random byte string for computing the secret key.
The secret key is used to exchange data with symmetric encryption.
TLS is used by HTTPS to protect data relays over the internet.
Not specified in the specification, however appears in Edexcel BBC Bitesize.
Find more on the SSL/TLS handshake here; there is an image summary named Figure 1.
Input-Process-Output Model
The IPO model describes the structure of an information processing program.
The input level uses physical devices like a keyboard to input info.
The process level uses algorithms like a running OS to process info.
The output level uses output devices like speakers to output info.
Computational models
A computational model is a system used to study and describe algorithms.
Sequential model
The sequential model executes instructions in order.
Parallel model
The parallel model executes instructions between multiple processors.
The parallel model requires multiple independent processors.
The parallel model requires software to distribute instructions equally.
Multi-agent model
The multi-agent model executes tasks using multiple agents.
Agents are independent.
Agents cooperate through coordination.
Central Processing Unit
The Central Processing Unit (CPU) manages the fetch-decode-execute (FDE) cycle.
Main Memory
The main memory is the primary storage that the CPU is able to directly access.
Main memory includes the RAM and ROM.
Secondary Storage
The secondary storage is where unused data and programs are stored.
The secondary memory can be any non-volatile storage device.
(HDD, SDD, FLASH DRIVE, NAS, CLOUD)
Input & Output Devices
Any device that transfers data to or from a computer.
Random Access Memory
RAM is part of the main memory.
RAM stores actively used programs.
RAM can be read and written to.
RAM cannot store a lot of data and needs virtual memory.
RAM contents are lost when power is turned off; volatile.
Read Only Memory
ROM is part of the main memory.
ROM stores programs, or firmware that run when the computer is turned on.
ROM can only be read.
ROM stores around 4-8MB of data.
ROM does not lose contents when turned off; non-volatile.
Cache
Cache stores frequently used instructions.
Cache increases processing speed.
Cache can keep up with CPU decodes and executes.
Virtual Memory
Virtual memory is a temporary extension of RAM in the secondary storage.
Virtual memory is used when RAM is full.
Virtual memory swaps unused data between the RAM and the secondary storage.
Advantages
Virtual memory lets more programs run.
Virtual memory increases physical memory efficiency.
Disadvantages
Virtual memory causes performance decline from swap speed.
Virtual memory causes disk thrashing due to rapid read/write operations.
Virtual memory disk thrashing causes poor performance.
Von Neumann Model
The Von Neumann principle is storing programs as data and instructions in the same memory.
The Von Neumann Model includes the fetch-decode-execute cycle.
Fetch-decode-execute cycle(11)
A processor follows the FDE cycle to process instructions.
Fetch
The control unit puts the memory address of the next instruction on the address bus.
The control unit sends a control signal on the control bus requesting to read from memory.
The memory receives the signals and looks up the memory address.
The data is copied onto the data bus.
The data is sent to a special register/MDR.
Decode
The control unit analyses the contents of the register/MDR.
The control unit sends signals ordering the other parts of the CPU.
Execute
The instruction is completed by the other parts of the CPU.
The ALU is normally used to perform arithmetic and logic operations.
The result may be transported to a register by the data bus.
Reference: Pearson Edexcel IGCSE Computer Science Student Book.
It seems like there is no need to learn the specific registers involved –
only the buses.
Control Unit
The control unit executes instructions.
The control unit generates control signals sent by the control bus.
The control unit ensures components are in sync through clock signals.
Arithmetic Logic Unit
The arithmetic logic unit performs calculations.
The arithmetic logic unit performs logical operations.
Clock
The clock generates clock signals to sync actions of the CPU.
The clock signals determine the speed of the FDE cycle.
Register
The register is a short-term memory store.
The register is very close to the CPU.
Accumulator | Holds calculations of ALU. |
---|---|
Program Counter | Holds memory address of next instruction. |
Current Instruction Register | Holds currently executed instruction. |
Memory Address Register | Holds memory address of current instruction. |
Memory Data Register | Holds data found at memory address. |
Buses
The buses are cables that carry data between different parts of the computer.
Address Bus
The address bus carries memory addresses from the CPU to the RAM.
The address bus is one directional, or unidirectional.
Data Bus
The data bus carries instructions and data.
The data bus is two directional, or bidirectional.
Examples include input and output devices.
Control Bus
The control bus carries control signals for certain functions.
The control bus is two directional, or bidirectional.
Clock Speed
Clock speed determines the speed of the FDE cycle.
Clock speed is measured in Hz.
Processor Cores
Processor cores increase the components of the CPU.
Processor cores can work together on the same program; parallel processing.
Processor cores can multitask.
Cache Size
Cache size is a bottleneck of the FDE cycle.
More cache size lowers the chance of cache misses.
More cache size increases CPU efficiency.
Cache Types
Caches are divided into levels.
L1 has the fastest speed and the smallest memory.
L3 has the slowest speed and the biggest memory.
Magnetic Storage
Magnetic storage uses a metal spinning disk to represent binary.
Magnetised sections are 1 and demagnetised areas are 0.
A read-write head reads magnetic sections.
A read-write head writes, magnetising sections.
This is synonymous with hard disk drives.
Positives
Magnetic storage has a low cost per GB.
Magnetic storage is durable.
Negatives
Magnetic storage is not portable.
Magnetic storage is weak to magnetic fields.
Optical Storage
Optical storage uses a metal/plastic spinning disk to represent binary.
Lands are 1 and pits are 0.
A laser and sensor read; laser reflects on lands only.
A laser writes, burning pits on the spinning disk.
Positives
Optical storage has a lower cost per GB.
Optical storage is durable.
Optical storage is portable (smaller).
Negatives
Optical storage is easily scratched.
Solid State Storage
Solid state storage uses transistors to represent binary.
Transistors without electrons are 1 and trapping electrons are 0.
A voltage reads; voltage passes empty transistors only.
A higher voltage writes, adding and removing electrons from pools.
Positives
Solid state storage is silent (no moving parts).
Solid state storage has fast access times.
Solid state storage is durable.
Solid state storage is portable (lighter).
Negatives
Solid state storage has a high cost per GB.
Cloud
Cloud storage stores data among multiple servers.
Cloud storage is hosted by a hosting company.
Positives
Cloud storage has cybersecurity and automation; auto-sync.
Cloud storage can be accessed anywhere with internet.
Negatives
Cloud storage providers can sell your data.
Cloud storage can be hacked.
Network Attached Servers (NAS)
NAS is a dedicated file storage device connected to a network.
Positives
NAS can have automatic backups.
Devices on the network can access the server.
Negatives
NAS can be hacked when connected to the internet.
NAS requires complex maintenance by owners.
Embedded Systems
Embedded systems are systems designed to do a specific job.
Embedded systems are cheap and low-power.
Embedded systems have sensors and minimal UI.
Embedded systems are now interconnected by the Internet (Internet of Things).
Examples
Security systems (Camera)
Home appliances (Fridge)
Office equipment (Printer)
Payment systems (ATMs)
Operating System
The OS is a system software.
The OS is a collection of programs that manage the computer.
The OS manages files, processes, hardware and the user interface.
Managing Files
The OS manages files stored in directories and folders.
The OS assigns metadata to each file.
Managing Memory
The OS manages checking and allocating file sizes.
The OS manages virtual memory when RAM is full by paging.
The OS manages multitasking of memory and caching.
Managing Processors
The OS manages CPU processors by scheduling.
Scheduling can include:
First come first serve, Round robin, and Shortest job first scheduling.
The OS changes scheduling depending on the type of task.
User Interface Management
The OS provides graphical user interfaces / UI for users to use the computer.
GUI varies between hardware, with windows, icons, menus and pointers. (WIMP)
Some OS have text command-line interfaces but it is hard to use.
Peripheral Management
The OS translates commands to and from the peripherals.
The OS facilitates the downloading and usage of device drivers.
The OS facilitates plug-and-play devices.
Utility software
Utility software are useful programs that are not essential for the OS.
File tools
File tools include software that manipulates files.
Functionalities include repair, conversion, compression and defragmentation.
Defragmentation
Defragmentation speeds up hard disk drives.
Defragmentation sorts and orders clusters, creating larger regions of space.
This allows larger files to be stored without splitting.
Security tools
Security tools include anti-malware, firewall and encryption software.
Anti-malware programs neutralise viruses or spyware.
Firewall software controls the flow of data in and out of the network.
Encryption software only allows the intended recipient to read sent data.
Software can simulate aspects of the real world.
This is often used to test hypotheses that would be costly in real life.
This can include flight simulators or gravity simulations.
Simulation requires powerful processors for complex data and calculations.
Incorrect data and assumptions produce inaccurate simulations.
System Software
System software are programs that let the computer run.
System software includes the OS and BIOS (Basic Input and Output System).
Application Software
Application software are programs that do physical tasks.
Application software includes note-taking and photography software.
Programming languages
Programming languages allow writing instructions for computers to execute.
All languages need to be converted to machine code to run.
High Level Languages
High level languages have strong abstraction.
High level languages are easy for programmers to understand.
High level languages have structure and syntax similar to English.
High level code requires compilers or interpreters to execute.
Low Level Languages
Low level languages have little abstraction/close to machine code.
Low level languages are fast and efficient.
Low level languages are difficult for programmers to understand.
Low level languages have structure and syntax similar to machine code.
Assembly language requires an assembler to execute.
Language Processors
Language processors convert source code into machine code.
Compilers
Compilers translate the entire program into object code.
Object code can be converted into machine code.
The most recognised object files are .exe files.
Compilers allow quick distribution of code.
Compilers protect source code as object code is difficult to reverse engineer.
Compilers are difficult to debug as all bugs are reported at once.
Interpreters
Interpreters translate and execute the program one line at a time.
Interpreters translate lines into machine code.
Interpreters require machine-specific software to be installed.
Interpreters are easy to debug as bugs are located.
Interpreters are slow and less efficient than compilers.
Assemblers
Assemblers convert assembly language to machine code.
Assemblers create one machine code instruction for each assembly instruction.
Networks
Networks are connections between two or more electronic devices.
Networks are connected for communication.
Networks allow software, file and hardware sharing.
Networks allow centralised updates, security and monitoring.
Disadvantages
Network equipment is costly.
Big networks require specialist management.
Networks allow the spread of malware.
Networks can be hacked.
Local Area Networks (LANs)
LANs cover a small geographical area.
WLANs use a wireless router for wireless connections.
Wide Area Networks (WANs)
WANs cover a wide geographical area.
WANs are made of several LANs.
The Internet is a WAN.
Personal Area Networks (PANs)
PANs connect personal devices together.
WPANs use Bluetooth for wireless connections (<10m).
Client-server Network
Client-server networks have servers and clients.
Clients send requests to servers through the server address.
Servers authenticate and share data and services to client computers.
Peer-to-Peer Network
Each connected device acts as clients and servers.
All devices can directly request or provide a service.
Wired Connections
Wired connections use copper or fibre-optic cables to transmit data.
Copper wires are twisted pair or coaxial.
Fibre-optic cables carry light signals by Total Internal ReflectionPHY.
Advantages
Wired connections are faster.
Wired connections are not restricted by physical objects.
Wired connections are the same strength at all distances.
Wired connections are more secure.
Disadvantages
Devices need to be physically connected.
Devices are harder to install.
Devices are less portable.
Wires are trip hazards.
Wireless Connections
Wireless connections use radio waves to transmit data.
Wireless connections are transmitted by transmitters.
Advantages
Wireless connections do not require cable.
Wireless connections are easy to add.
Wireless devices are portable.
Disadvantages
Wireless connections are slower.
Wireless connections are blocked by physical objects.
Wireless connections can be intercepted and blocked.
Wireless connections are less secure.
NOTE: 5.1.5 is heavily intertwined with 5.1.6.
5.1.6 is a near-summary of 5.1.5.
Network Protocols
Network protocols define communication rules between devices.
Hypertext Transmission Protocol / Secure (HTTP/HTTPS)
HTTP/S is in the application layer.
HTTP standardises formatting of data between web browsers and servers.
HTTPS encrypts all data sent between server and browser.(12)
Via Asymmetric and symmetric encryption,
See here.
File Transfer Protocol (FTP)
FTP is in the application layer.
FTP was used to transfer files over TCP/IP stacks(13).
FTP was used to transfer files from developer laptops to web servers.
FTP transfer is unencrypted.
FTP is getting phased-out and is inferior to modern transfer protocols.
Network stacks are a family of protocol groups.
IMAP, POP3 and SMTP (Email [Application] Protocols)
IMAP, POP3, and SMTP are on the application layer.
Internet Message Access Protocol stores messages on an email server.
IMAP allows different devices to read emails from the email server.
Post Office Protocol downloads and deletes messages from the email server.
POP3 is inferior to IMAP.
Simple Mail Transfer Protocol standardises the sending and receiving email format.
Transmission Control Protocol (TCP)
TCP is in the transport layer.
TCP breaks down data into smaller packets.
TCP assigns packets a sequence number.
TCP makes sure packets sent are the same as packets received.
TCP determines whether content is correct.
TCP requests resending lost or damaged packets.
TCP reassembles packets into the correct order.
TCP passes reassembled packets into the application layer.
Internet Protocol (IP)
IP is in the internet/network layer.
IP assigns source and destination IP addresses.
IP assigns packet headers.
IP passes packets onto the transport layer.
IP moves packets onto network nodes.
Ethernet
Ethernet is in the link layer.
Ethernet is a family of protocols for wired LANs.
Ethernet protocols standardise physical and data link layers of the LAN.
Ethernet protocols standardise data transmission speeds.
Wi-Fi
Wi-Fi is on the link layer.
Wi-Fi is a digital communication protocol.
Wi-Fi standardises WLAN data transmission.
TCP/IP model
The TCP/IP is a set of protocols that are the foundation of internet communication.
Networking Layers
Networking layers split the TCP/IP model into specialised sections.
Networking layers include the application, transport, internet and link layer.
Networking layers allow identifying and correcting network errors.
Networking layers are a universal standard for hardware and software manufacturers.
Application Layer
The application layer standardises messages for both sender and recipient devices.
Protocols here include the HTTP/S, FTP, IMAP, POP3 and SMTP.
Transport Layer
The transport layer sends, assembles and checks packets.
Packets are small units of information.
Protocols here include the TCP.
Internet/Network Layer
The internet layer adds IP addresses and other packet metadata.
Protocols here include the IP.
Link Layer
The link layer enables the physical transfer of packets between nodes.
Nodes are devices connected to a network.
Protocols here include Ethernet and Wi-Fi.
Bus Topology
Devices are connected by a single cable.
Terminals absorb signals on cable ends.
Collisions are managed by CSMA/CD.
Advantages
Few cables means low installation cost.
Devices can be added/removed without affecting the network.
Disadvantages
Network fails if the main cable or terminator fails.
Performance degrades as more devices are added.
Ring Topology
Devices are connected in a closed loop configuration.
All messages travel in the same direction; no collisions.
Advantages
Adding devices are easy and do not affect network performance.
Disadvantages
Ring network requires more cable than bus.
Ring network fails if the cable/device is damaged.
Network shuts down when devices are added or removed.
Ring topology makes it difficult to identify faults in a network.
Ring topology is insecure.
Star Topology
Devices are connected to a single central point.
The central point is usually a hub or a switch.
Advantages
No data collisions occur.
Network still functions with a damaged cable.
Devices can be added/removed without affecting the network.
Disadvantages
Star networks are dependent on the central point.
Star networks require lots of cable ($).
Mesh Topology
Devices are connected to many others/all others.
Mesh topology can be wired or wireless.
The internet is a large mesh network.
Advantages
Mesh topology can route packets for maximum speed.
Mesh topology can reroute packets when a device fails.
Mesh topology has fast performances.
Mesh network ranges increase with each node.
Disadvantages
Mesh topologies are difficult and expensive to install.
Mesh topologies are difficult to manage.
Mobile networks
A mobile/cellular network is a wireless network.
Cell towers / base stations offer coverage.
Handover switches control to the most powerful cell tower when the user moves.
Bandwidth
The max amount of data transmitted over an internet connection in a set time.
3G
Third generation of mobile technology.
3G allows wireless access to the Internet.
3G uses broadband.
4G
Fourth generation of mobile technology.
4G is around 30 times faster than 3G.
4G uses ultrabroadband.
5G
Fifth generation of mobile technology.
5G is around 10-100 times faster than 4G.
Low latency (~1ms).
5G is the most encrypted; the most secure.
Frequency band
More frequency means more data transmitted in set time.
More frequency means more bandwidth.
More frequency means transmission is more stable.
Disadvantages of mobile networks
Mobile networks do not cover the whole globe.
Mobile networks can be interfered with.
Mobile networks have significant differences in download and upload speeds.
Mobile networks may have other health risks.
Network security
A network needs security to protect valuable data.
Data may be secured for legal, moral or financial reasons.
Authentication/validation
Authentication is checking the identity of a user.
Validation is checking if data is correct.
Access control
Access control refers to controlling user permissions.
No access, read-only access and modify access.
Physical security
Physical security refers to allowing authorised people to access data.
Includes locking room and equipment.
Firewalls
Firewalls are network security systems that monitor data in/out of the network.
Firewall rulesets are known as firewall policies.
Firewalls can stop protocols, block data in/out or disallow suspicious activity.
Firewalls can be hardware or software based.
Cyberattacks
Cyber attacks are electronic attacks on computer systems with malicious intent.
Phishing
An attempt to get sensitive information through fake calls, messages etc.
Shoulder Surfing
An attempt to get sensitive information by observing a user.
Pharming
An attempt to get sensitive information through redirecting to fraudulent websites.
Unpatched software
Unpatched software have vulnerabilities which can be used to gain access.
USB Devices
USB devices can contain malware which can auto-run to compromise devices.
Eavesdropping
Eavesdropping involves intercepting data which can be decrypted.
Eavesdropping is worse if data is not encrypted.
Penetration testing
Involves hacking IT systems to find weaknesses.
Usually performed by an ethical hacker who makes a report.
Commercial analysis tools
Involves software to scan systems for vulnerabilities internally and externally.
Costs money.
Network and user policies
Involves rules determining how employees should use the network.
Determines response to network faults/vulnerabilities.
Audit trails
Audit trails are records of computer system activities.
Used to identify suspicious activity.
Used to increase accountability.
Used to trace problems to perpetrators.
Securing OS
Use secure OS that are designed with security in mind.
Secure coding
Use secure programming languages.
Use good programming habits to reduce mistakes.
Code reviews
Code review by other senior programmers to check for vulnerabilities.
Modular testing
Testing each block of code independently.
Network security provision
Make sure users have the minimum level of access necessary.
Internet
The Internet is a global network of connected devices.
The Internet is connected through fibre optic links and satellites.
It is also known as the interconnected network.
Domain names
Domain names are used to identify different IP addresses.
bbc.co.uk is the domain name; the IP address is 212.58.244.27.
Domain name systems
DNS (domain name systems) servers translate domain names into IP addresses.
DNS servers are mostly free and distributed across the world.
DNS servers will ask other servers if they cannot find the domain name.
IP Address
Public IP addresses are allocated by the IANA.
IANA stands for Internet Assigned Numbers Authority – an organisation.
Private IP addresses are allocated by the network administrator.
The IETF (Internet Engineering Task Force) designates IP ranges for private use.
World wide web (WWW)
The world wide web is a collection of web pages accessed from the Internet.
Web browsers
Web browsers are used to access web pages by the client-server model.
Web browsers translate web server data into readable formats.
Internet service providers (ISP)
ISP provides internet access through telephone lines.
Networks part of the Internet are connected by routers.
Hypertext Transmission Protocol / Secure (HTTP/HTTPS)
HTTP/S is in the application layer.
HTTP standardises formatting of data between web browsers and servers.
HTTPS uses certificates and encrypts all data sent between server and browser.
Hypertext markup language (HTML)
HTML is a web browser format used to display documents in a web browser.
The Uniform Resource Locator is the full link.
IP addresses
IP addresses identify devices connected to the internet.
Addresses need to be standardised so that they can be sufficiently unique.
IPv4
IPv4 uses 4 bytes to represent addresses.
There are 8 bits in each segment.
255.255.255.255
IPv6
IPv6 uses 16 bytes in hexadecimal to represent addresses.
There are 16 bits in each segment.
FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
Modem
Modems convert digital data and electrical signals.
Modems are the intermediary between the Internet and the router.
Router
Routers route data packets between networks until it reaches destination.
Routers can handle wired and wireless connections.
Routers are the intermediary between the modem and the switch.
Switch
Switches connect devices within a LAN.
All cables feed into the switches.
Switches filter data packets according to devices.
Switches are efficient and reduce traffic.
Wireless Access Points
Allow wireless devices to connect to wireless networks.
Modern routers have WAPs built in.
Manufacturing
Demand for computational devices increases as the world becomes more digital.
Takes up lots of energy (from burning fossil fuels) so the impact is global warming.
Manufacturing devices also involves non-renewable natural resources e.g sand for glass, oil for plastics.
Radioactive metals e.g Uranium and Thorium are used, which can contaminate air.
Semiconductors are also used.
Usage
Lots of energy needed to keep billions of devices running.
Tasks like gaming/3D modelling use lots of energy.
Disposal of devices
Recycling rates increased by 20%
Landfill stores e-waste
Could contaminate air, inhale toxins
Toxic substances leak into ground and contaminate supplies + surroundings
Positive environmental impacts of technology
Climate change: NASA used satellite data to study glacier movement to gain info for climate change.
Warning systems: Sensor networks used to detect tropical storms// communication to issue timely warnings.
Conservation: GPS and satellite used to monitor species to improve conservation strats
Energy: Adjust electricity usage to make it more efficient.
Personal data:
Concerns that the internet stores a lot of identifiable personal info, which is an invasion of privacy.
Data protection legislation established.
Data is often gathered without the user's permission.
Insecure data is vulnerable to hackers/phishing attacks.
Social media apps collect data to create a more appealing and personalised service.
Surveillance
CCTV, satellite imagery etc monitor people’s activities without consent
But it is useful for monitoring criminals and deter crimes
Locational based services
Used to track current location
Allows to track phone, arrange to meetup with people, find a way to a destination etc
But it allows unwanted people to track your movements
Privacy enhancing tools
Encryption: Prevents unauthorised agents from reading your data
Cookie cleaners: Refers to software that detects and removes cookies
(cookies are small data files that keep record of browsing history)
Anti-spyware program: Software that defends against spyware
Identity management service: Third party which issues you with an identifier that allows you to conduct transactions without revealing personal info
Digital Inclusion
Providing everyone with affordable access to computing and tech
Digital divide is present in the world
Caused by bans, can’t afford, no access to it
Governments provide programs which trains ICT skills
Ways to include:
Give access to wider range of individuals
Access to individuals with a common interest and promotes feeling of belonging
Provide services for those with constraints
Adaptive tech for disabled
Professionalism
Workers must behave ethically by abiding to the code of conduct by the British Computer society
Intellectual property
A unique creative product created by the human mind which has commercial value
Legislations for plagiarism
Networks/ forums/ websites allow ppl to download their IP illegally as the creator does not receive the money
Protected through copyrights
Copyrights protect the source code for your application, but does not stop people from using another source code or creating a source code similar to your’s
Licensing
Terms to specify the copies that you can use
Prevents reselling
Open/ closed software
Open is freely available on internet
Can be modified by any user and be built on to benefit the community
Allows criminals to exploit vulnerabilities in source code
Proprietary (closed) software is protected and cannot be modified
Computer misuse act:
Improves cyber security: illegal to gain access to a computer system without permission
AI
Machines that can perform tasks at the same level as intellectual beings e.g humans
Machine learning is the ability for computers to learn without explicitly being programmed
Uses: Analyse medical tests, health, consultation for patients etc
Ethical issues: Data sample could be racist or sexist, produces biassed data
Risk of AI taking over jobs
DNA Computing
Using nitrogenous bases from DNA to store data due to DNA’s ability to replicate at a microscopic size
Instead of binary, four character genetic alphabet is used instead
Calculations done through chemical reactions instead of electrical states in computers
DNA computers can replaces silicon-based: DNA supply is practically unlimited and does not require toxic materials for microprocessors much smaller than silicon ones
If storage is cool and dry through a good storage medium, it can survive for hundreds/ thousands of years
DNA much faster, massive parallel processing
DNA computing relatively new, not work until years later
Nanotech
Reduce size of transistors, as they have problems if they are too close.
Scientists tried using carbon nanotubes: smaller, faster and use less energy than silicon chips
Uses: Self-cleaning glass, clothing, scratch resistant clothes, medicine
Quantum computing
Use qubits (subatomic particles which obey quantum mechanics)
Superposition: Where a qubit can be at multiple places at the same time but it converges into 1 or 0 when measured
Can carry out calculations much faster\\ can represent 2^n states at once and entanglement
Require conditions colder than deep space, quiet environment
Uses: analysing chemical compounds, predictions and optimisation problems
IGCSE Edexcel Computer Science
Contributions: AC, RL
Table of Contents
Topic 3: Data | Topic 4: Computers | Topic 5: Communication & Internet | Topic 6: The Bigger Picture |
---|
Binary
Binary is a base-2 numeral system.
It is used to represent data and program instructions.
Each digit is a bit, or a binary digit.
Binary in 1s and 0s are represented by transistors by enabling or disabling current.
Signed Integers
Negative integers are known as signed integers.
Binary holds signed integers in sign and magnitude or two’s complement.
The leftmost bit is the Most Significant Bit (MSB).
In 8-bit binary, the MSB represents the denary 128.
Sign and Magnitude
A MSB of 0 shows that it is positive.
A MSB of 1 shows that it is negative.
Two’s Complement
A MSB of 0 shows that it is positive.
A MSB of 1 deducts by 128.(1)
Simplification: only in 8-bit binary. A MSB of 1 in Two’s complement
would be the negative equivalent of the positive.
Ex. 4-bit Two’s complement “1000” is denary -8 because the MSB positive is 8.
Arithmetic Shifts
Shifts are used to multiply and divide binary.
Logical shifts are used for unsigned integers.
Arithmetic shifts are used for Two’s complement signed integersONLY.
Logic Shift
Shifting the binary pattern left by n multiplies it by 2n.
Shifting the binary pattern right by n divides it by 2n.
Arithmetic Shift
Always keep the MSB the same.
Shifting the binary pattern left by n multiplies it by 2n.
Shifting the binary pattern right by n divides it by 2n.
Shifting right causes the MSB to replace the leftmost positions.
Overflow error
This occurs when the value given is greater than 255(2).
This causes the MSB to be discarded.
This causes crashes and unreliable results.
Simplification: only in 8-bit binary.
Should be “greater than the maximum value able to be stored.”
Hexadecimal
Hexadecimal notation is a base-16 numeral system.(3)
It is used to store larger numbers with fewer digits.
It is used because it is easier to understand.
Consisting of 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F.
Not going over conversion as it is widely taught.
See Hexadecimal - BBC Bitesize for more details.
ASCII
ASCII is a 7-bit character set which encodes text data.
ASCII uses 7 bits to represent characters.
It can represent 128 characters.
The MSB is an unused parity bit to check for errors.(4)
ASCII in full uses 8-bits, or a byte.
Extended ASCII
This is where the MSB is used.
This extension makes it a 8-bit character set.
It can represent 256 characters.
Python Conversion
The ord() function converts characters into the ASCII denary equivalent.
The chr() function converts ASCII denary into the character equivalent.
‘A’ - ‘Z’ is from 65-90, ‘a’ - ‘z’ is from 97-122.(5)
Check by using function: print(ord(A),ord(Z),ord(a),ord(z))
Unicode
Unicode is a character set which encodes all characters.
Unicode uses 8-bit, 16-bit or 32-bit encoding.
Unicode can represent more characters than ASCII.
Unicode demands more memory than ASCII.
Bitmap Images
Bitmap images consist of many pixels.
Pixels are tiny squares representing a colour.
The resolution is the total number of pixels.
The colour depth is the number of bits used to encode a pixel colour.
The file size is found by multiplying the resolution by the colour depth.
Sound to Analog
Sound waves are fluctuating air pressures.
Air pressures are recorded with a microphone diaphragm.
The diaphragm converts air pressures into analog(6) voltage changes.
This is stored in vinyl recordings or magnetic tape.
Analog to Digital
Computers cannot store analog as it is infinitely detailed.
Computers sample frequent analog data using an analog-to-digital recorder (ADR).
The sample rate in Hz is the number of samples per second.
The bit depth is the number of bits stored per sample.
File size
File size in bits is measured by:
Sample Rate * Bit Depth * Duration (in Seconds) * Number of Channels (1 or 2)
Divide to obtain bytes and other prefixes.
Analog is the American word. Analog is representing information
using a continuously variable physical quantity.
A bit is a binary digit.
1 nibble is 4 bits.
1 byte is 8 bits.
From 10, Increasing by powers of 3 1 kilobyte is 103 bytes. 1 megabyte is 106 bytes. 1 gigabyte is 109 bytes. 1 terabyte is 1012 bytes. | From 2 (bi), Increasing by powers of 10 1 kibibyte is 210 bytes. 1 gibibyte is 230 bytes. 1 tebibyte is 240 bytes. |
---|
Data Compression
Data compression reduces the number of bits used to store data.
Data compression is split into lossy and lossless.
Lossy Compression
Lossy compression causes data loss.
The original file cannot be fully restored.
Lossy compression reduces more file size.
JPEG files involve reducing colour depth.
MP3 files involve limiting sample rate, bit depth and frequency(7).
Lossy compression cannot be used for text files.
MP3 files normally limit frequencies to 20Hz to 20kHz
to cater to human listeners.
Lossless Compression
Lossless compression does not cause data loss.
The original file can be fully restored.
Lossless compression reduces less file size.
PNG files involve rewriting a more efficient file using an algorithm.
Run-length encoding shortens repeated characters into 2 bytes(8).
Example: AAABBBCCC would be 3A3B3C.
Advantages
Data compression reduces transmission times.
Data compression reduces storage needed.
Data compression reduces network bandwidth.
Data compression takes advantage of human hearing ranges.
Disadvantages
Data compression takes time to compress and decompress.
Data compression can permanently remove data.
Data compression decreases the quality of the file.
Data Encryption
Data encryption is the scrambling of data to make it unreadable to unauthorised users.
The decrypted text is plaintext.
The encrypted text is ciphertext.
Each letter in ciphertext is unique to one letter in plaintext.
Data encryption does not prevent interception.
Asymmetric Encryption
Asymmetric encryption is the encryption and decryption of data with public and private keys(9).
The public key encrypts the message, the private key decrypts the message.
Asymmetric encryption is used by HTTPS (Hypertext Transfer Protocol) connections in the initial handshake phase between server and client.(10)
Symmetric Encryption
Symmetric encryption is the encryption and decryption of data with a single key.
Symmetric encryption is used by HTTPS connections to exchange data with a secret key between server and client.(10)
Handshake - Transfer Layer Security
The TLS handshake allows the client and server to establish secret keys for communication.
Both client and server use asymmetric encryption to send their digital certificates.
A client uses asymmetric encryption to send a random byte string for computing the secret key.
The secret key is used to exchange data with symmetric encryption.
TLS is used by HTTPS to protect data relays over the internet.
Not specified in the specification, however appears in Edexcel BBC Bitesize.
Find more on the SSL/TLS handshake here; there is an image summary named Figure 1.
Input-Process-Output Model
The IPO model describes the structure of an information processing program.
The input level uses physical devices like a keyboard to input info.
The process level uses algorithms like a running OS to process info.
The output level uses output devices like speakers to output info.
Computational models
A computational model is a system used to study and describe algorithms.
Sequential model
The sequential model executes instructions in order.
Parallel model
The parallel model executes instructions between multiple processors.
The parallel model requires multiple independent processors.
The parallel model requires software to distribute instructions equally.
Multi-agent model
The multi-agent model executes tasks using multiple agents.
Agents are independent.
Agents cooperate through coordination.
Central Processing Unit
The Central Processing Unit (CPU) manages the fetch-decode-execute (FDE) cycle.
Main Memory
The main memory is the primary storage that the CPU is able to directly access.
Main memory includes the RAM and ROM.
Secondary Storage
The secondary storage is where unused data and programs are stored.
The secondary memory can be any non-volatile storage device.
(HDD, SDD, FLASH DRIVE, NAS, CLOUD)
Input & Output Devices
Any device that transfers data to or from a computer.
Random Access Memory
RAM is part of the main memory.
RAM stores actively used programs.
RAM can be read and written to.
RAM cannot store a lot of data and needs virtual memory.
RAM contents are lost when power is turned off; volatile.
Read Only Memory
ROM is part of the main memory.
ROM stores programs, or firmware that run when the computer is turned on.
ROM can only be read.
ROM stores around 4-8MB of data.
ROM does not lose contents when turned off; non-volatile.
Cache
Cache stores frequently used instructions.
Cache increases processing speed.
Cache can keep up with CPU decodes and executes.
Virtual Memory
Virtual memory is a temporary extension of RAM in the secondary storage.
Virtual memory is used when RAM is full.
Virtual memory swaps unused data between the RAM and the secondary storage.
Advantages
Virtual memory lets more programs run.
Virtual memory increases physical memory efficiency.
Disadvantages
Virtual memory causes performance decline from swap speed.
Virtual memory causes disk thrashing due to rapid read/write operations.
Virtual memory disk thrashing causes poor performance.
Von Neumann Model
The Von Neumann principle is storing programs as data and instructions in the same memory.
The Von Neumann Model includes the fetch-decode-execute cycle.
Fetch-decode-execute cycle(11)
A processor follows the FDE cycle to process instructions.
Fetch
The control unit puts the memory address of the next instruction on the address bus.
The control unit sends a control signal on the control bus requesting to read from memory.
The memory receives the signals and looks up the memory address.
The data is copied onto the data bus.
The data is sent to a special register/MDR.
Decode
The control unit analyses the contents of the register/MDR.
The control unit sends signals ordering the other parts of the CPU.
Execute
The instruction is completed by the other parts of the CPU.
The ALU is normally used to perform arithmetic and logic operations.
The result may be transported to a register by the data bus.
Reference: Pearson Edexcel IGCSE Computer Science Student Book.
It seems like there is no need to learn the specific registers involved –
only the buses.
Control Unit
The control unit executes instructions.
The control unit generates control signals sent by the control bus.
The control unit ensures components are in sync through clock signals.
Arithmetic Logic Unit
The arithmetic logic unit performs calculations.
The arithmetic logic unit performs logical operations.
Clock
The clock generates clock signals to sync actions of the CPU.
The clock signals determine the speed of the FDE cycle.
Register
The register is a short-term memory store.
The register is very close to the CPU.
Accumulator | Holds calculations of ALU. |
---|---|
Program Counter | Holds memory address of next instruction. |
Current Instruction Register | Holds currently executed instruction. |
Memory Address Register | Holds memory address of current instruction. |
Memory Data Register | Holds data found at memory address. |
Buses
The buses are cables that carry data between different parts of the computer.
Address Bus
The address bus carries memory addresses from the CPU to the RAM.
The address bus is one directional, or unidirectional.
Data Bus
The data bus carries instructions and data.
The data bus is two directional, or bidirectional.
Examples include input and output devices.
Control Bus
The control bus carries control signals for certain functions.
The control bus is two directional, or bidirectional.
Clock Speed
Clock speed determines the speed of the FDE cycle.
Clock speed is measured in Hz.
Processor Cores
Processor cores increase the components of the CPU.
Processor cores can work together on the same program; parallel processing.
Processor cores can multitask.
Cache Size
Cache size is a bottleneck of the FDE cycle.
More cache size lowers the chance of cache misses.
More cache size increases CPU efficiency.
Cache Types
Caches are divided into levels.
L1 has the fastest speed and the smallest memory.
L3 has the slowest speed and the biggest memory.
Magnetic Storage
Magnetic storage uses a metal spinning disk to represent binary.
Magnetised sections are 1 and demagnetised areas are 0.
A read-write head reads magnetic sections.
A read-write head writes, magnetising sections.
This is synonymous with hard disk drives.
Positives
Magnetic storage has a low cost per GB.
Magnetic storage is durable.
Negatives
Magnetic storage is not portable.
Magnetic storage is weak to magnetic fields.
Optical Storage
Optical storage uses a metal/plastic spinning disk to represent binary.
Lands are 1 and pits are 0.
A laser and sensor read; laser reflects on lands only.
A laser writes, burning pits on the spinning disk.
Positives
Optical storage has a lower cost per GB.
Optical storage is durable.
Optical storage is portable (smaller).
Negatives
Optical storage is easily scratched.
Solid State Storage
Solid state storage uses transistors to represent binary.
Transistors without electrons are 1 and trapping electrons are 0.
A voltage reads; voltage passes empty transistors only.
A higher voltage writes, adding and removing electrons from pools.
Positives
Solid state storage is silent (no moving parts).
Solid state storage has fast access times.
Solid state storage is durable.
Solid state storage is portable (lighter).
Negatives
Solid state storage has a high cost per GB.
Cloud
Cloud storage stores data among multiple servers.
Cloud storage is hosted by a hosting company.
Positives
Cloud storage has cybersecurity and automation; auto-sync.
Cloud storage can be accessed anywhere with internet.
Negatives
Cloud storage providers can sell your data.
Cloud storage can be hacked.
Network Attached Servers (NAS)
NAS is a dedicated file storage device connected to a network.
Positives
NAS can have automatic backups.
Devices on the network can access the server.
Negatives
NAS can be hacked when connected to the internet.
NAS requires complex maintenance by owners.
Embedded Systems
Embedded systems are systems designed to do a specific job.
Embedded systems are cheap and low-power.
Embedded systems have sensors and minimal UI.
Embedded systems are now interconnected by the Internet (Internet of Things).
Examples
Security systems (Camera)
Home appliances (Fridge)
Office equipment (Printer)
Payment systems (ATMs)
Operating System
The OS is a system software.
The OS is a collection of programs that manage the computer.
The OS manages files, processes, hardware and the user interface.
Managing Files
The OS manages files stored in directories and folders.
The OS assigns metadata to each file.
Managing Memory
The OS manages checking and allocating file sizes.
The OS manages virtual memory when RAM is full by paging.
The OS manages multitasking of memory and caching.
Managing Processors
The OS manages CPU processors by scheduling.
Scheduling can include:
First come first serve, Round robin, and Shortest job first scheduling.
The OS changes scheduling depending on the type of task.
User Interface Management
The OS provides graphical user interfaces / UI for users to use the computer.
GUI varies between hardware, with windows, icons, menus and pointers. (WIMP)
Some OS have text command-line interfaces but it is hard to use.
Peripheral Management
The OS translates commands to and from the peripherals.
The OS facilitates the downloading and usage of device drivers.
The OS facilitates plug-and-play devices.
Utility software
Utility software are useful programs that are not essential for the OS.
File tools
File tools include software that manipulates files.
Functionalities include repair, conversion, compression and defragmentation.
Defragmentation
Defragmentation speeds up hard disk drives.
Defragmentation sorts and orders clusters, creating larger regions of space.
This allows larger files to be stored without splitting.
Security tools
Security tools include anti-malware, firewall and encryption software.
Anti-malware programs neutralise viruses or spyware.
Firewall software controls the flow of data in and out of the network.
Encryption software only allows the intended recipient to read sent data.
Software can simulate aspects of the real world.
This is often used to test hypotheses that would be costly in real life.
This can include flight simulators or gravity simulations.
Simulation requires powerful processors for complex data and calculations.
Incorrect data and assumptions produce inaccurate simulations.
System Software
System software are programs that let the computer run.
System software includes the OS and BIOS (Basic Input and Output System).
Application Software
Application software are programs that do physical tasks.
Application software includes note-taking and photography software.
Programming languages
Programming languages allow writing instructions for computers to execute.
All languages need to be converted to machine code to run.
High Level Languages
High level languages have strong abstraction.
High level languages are easy for programmers to understand.
High level languages have structure and syntax similar to English.
High level code requires compilers or interpreters to execute.
Low Level Languages
Low level languages have little abstraction/close to machine code.
Low level languages are fast and efficient.
Low level languages are difficult for programmers to understand.
Low level languages have structure and syntax similar to machine code.
Assembly language requires an assembler to execute.
Language Processors
Language processors convert source code into machine code.
Compilers
Compilers translate the entire program into object code.
Object code can be converted into machine code.
The most recognised object files are .exe files.
Compilers allow quick distribution of code.
Compilers protect source code as object code is difficult to reverse engineer.
Compilers are difficult to debug as all bugs are reported at once.
Interpreters
Interpreters translate and execute the program one line at a time.
Interpreters translate lines into machine code.
Interpreters require machine-specific software to be installed.
Interpreters are easy to debug as bugs are located.
Interpreters are slow and less efficient than compilers.
Assemblers
Assemblers convert assembly language to machine code.
Assemblers create one machine code instruction for each assembly instruction.
Networks
Networks are connections between two or more electronic devices.
Networks are connected for communication.
Networks allow software, file and hardware sharing.
Networks allow centralised updates, security and monitoring.
Disadvantages
Network equipment is costly.
Big networks require specialist management.
Networks allow the spread of malware.
Networks can be hacked.
Local Area Networks (LANs)
LANs cover a small geographical area.
WLANs use a wireless router for wireless connections.
Wide Area Networks (WANs)
WANs cover a wide geographical area.
WANs are made of several LANs.
The Internet is a WAN.
Personal Area Networks (PANs)
PANs connect personal devices together.
WPANs use Bluetooth for wireless connections (<10m).
Client-server Network
Client-server networks have servers and clients.
Clients send requests to servers through the server address.
Servers authenticate and share data and services to client computers.
Peer-to-Peer Network
Each connected device acts as clients and servers.
All devices can directly request or provide a service.
Wired Connections
Wired connections use copper or fibre-optic cables to transmit data.
Copper wires are twisted pair or coaxial.
Fibre-optic cables carry light signals by Total Internal ReflectionPHY.
Advantages
Wired connections are faster.
Wired connections are not restricted by physical objects.
Wired connections are the same strength at all distances.
Wired connections are more secure.
Disadvantages
Devices need to be physically connected.
Devices are harder to install.
Devices are less portable.
Wires are trip hazards.
Wireless Connections
Wireless connections use radio waves to transmit data.
Wireless connections are transmitted by transmitters.
Advantages
Wireless connections do not require cable.
Wireless connections are easy to add.
Wireless devices are portable.
Disadvantages
Wireless connections are slower.
Wireless connections are blocked by physical objects.
Wireless connections can be intercepted and blocked.
Wireless connections are less secure.
NOTE: 5.1.5 is heavily intertwined with 5.1.6.
5.1.6 is a near-summary of 5.1.5.
Network Protocols
Network protocols define communication rules between devices.
Hypertext Transmission Protocol / Secure (HTTP/HTTPS)
HTTP/S is in the application layer.
HTTP standardises formatting of data between web browsers and servers.
HTTPS encrypts all data sent between server and browser.(12)
Via Asymmetric and symmetric encryption,
See here.
File Transfer Protocol (FTP)
FTP is in the application layer.
FTP was used to transfer files over TCP/IP stacks(13).
FTP was used to transfer files from developer laptops to web servers.
FTP transfer is unencrypted.
FTP is getting phased-out and is inferior to modern transfer protocols.
Network stacks are a family of protocol groups.
IMAP, POP3 and SMTP (Email [Application] Protocols)
IMAP, POP3, and SMTP are on the application layer.
Internet Message Access Protocol stores messages on an email server.
IMAP allows different devices to read emails from the email server.
Post Office Protocol downloads and deletes messages from the email server.
POP3 is inferior to IMAP.
Simple Mail Transfer Protocol standardises the sending and receiving email format.
Transmission Control Protocol (TCP)
TCP is in the transport layer.
TCP breaks down data into smaller packets.
TCP assigns packets a sequence number.
TCP makes sure packets sent are the same as packets received.
TCP determines whether content is correct.
TCP requests resending lost or damaged packets.
TCP reassembles packets into the correct order.
TCP passes reassembled packets into the application layer.
Internet Protocol (IP)
IP is in the internet/network layer.
IP assigns source and destination IP addresses.
IP assigns packet headers.
IP passes packets onto the transport layer.
IP moves packets onto network nodes.
Ethernet
Ethernet is in the link layer.
Ethernet is a family of protocols for wired LANs.
Ethernet protocols standardise physical and data link layers of the LAN.
Ethernet protocols standardise data transmission speeds.
Wi-Fi
Wi-Fi is on the link layer.
Wi-Fi is a digital communication protocol.
Wi-Fi standardises WLAN data transmission.
TCP/IP model
The TCP/IP is a set of protocols that are the foundation of internet communication.
Networking Layers
Networking layers split the TCP/IP model into specialised sections.
Networking layers include the application, transport, internet and link layer.
Networking layers allow identifying and correcting network errors.
Networking layers are a universal standard for hardware and software manufacturers.
Application Layer
The application layer standardises messages for both sender and recipient devices.
Protocols here include the HTTP/S, FTP, IMAP, POP3 and SMTP.
Transport Layer
The transport layer sends, assembles and checks packets.
Packets are small units of information.
Protocols here include the TCP.
Internet/Network Layer
The internet layer adds IP addresses and other packet metadata.
Protocols here include the IP.
Link Layer
The link layer enables the physical transfer of packets between nodes.
Nodes are devices connected to a network.
Protocols here include Ethernet and Wi-Fi.
Bus Topology
Devices are connected by a single cable.
Terminals absorb signals on cable ends.
Collisions are managed by CSMA/CD.
Advantages
Few cables means low installation cost.
Devices can be added/removed without affecting the network.
Disadvantages
Network fails if the main cable or terminator fails.
Performance degrades as more devices are added.
Ring Topology
Devices are connected in a closed loop configuration.
All messages travel in the same direction; no collisions.
Advantages
Adding devices are easy and do not affect network performance.
Disadvantages
Ring network requires more cable than bus.
Ring network fails if the cable/device is damaged.
Network shuts down when devices are added or removed.
Ring topology makes it difficult to identify faults in a network.
Ring topology is insecure.
Star Topology
Devices are connected to a single central point.
The central point is usually a hub or a switch.
Advantages
No data collisions occur.
Network still functions with a damaged cable.
Devices can be added/removed without affecting the network.
Disadvantages
Star networks are dependent on the central point.
Star networks require lots of cable ($).
Mesh Topology
Devices are connected to many others/all others.
Mesh topology can be wired or wireless.
The internet is a large mesh network.
Advantages
Mesh topology can route packets for maximum speed.
Mesh topology can reroute packets when a device fails.
Mesh topology has fast performances.
Mesh network ranges increase with each node.
Disadvantages
Mesh topologies are difficult and expensive to install.
Mesh topologies are difficult to manage.
Mobile networks
A mobile/cellular network is a wireless network.
Cell towers / base stations offer coverage.
Handover switches control to the most powerful cell tower when the user moves.
Bandwidth
The max amount of data transmitted over an internet connection in a set time.
3G
Third generation of mobile technology.
3G allows wireless access to the Internet.
3G uses broadband.
4G
Fourth generation of mobile technology.
4G is around 30 times faster than 3G.
4G uses ultrabroadband.
5G
Fifth generation of mobile technology.
5G is around 10-100 times faster than 4G.
Low latency (~1ms).
5G is the most encrypted; the most secure.
Frequency band
More frequency means more data transmitted in set time.
More frequency means more bandwidth.
More frequency means transmission is more stable.
Disadvantages of mobile networks
Mobile networks do not cover the whole globe.
Mobile networks can be interfered with.
Mobile networks have significant differences in download and upload speeds.
Mobile networks may have other health risks.
Network security
A network needs security to protect valuable data.
Data may be secured for legal, moral or financial reasons.
Authentication/validation
Authentication is checking the identity of a user.
Validation is checking if data is correct.
Access control
Access control refers to controlling user permissions.
No access, read-only access and modify access.
Physical security
Physical security refers to allowing authorised people to access data.
Includes locking room and equipment.
Firewalls
Firewalls are network security systems that monitor data in/out of the network.
Firewall rulesets are known as firewall policies.
Firewalls can stop protocols, block data in/out or disallow suspicious activity.
Firewalls can be hardware or software based.
Cyberattacks
Cyber attacks are electronic attacks on computer systems with malicious intent.
Phishing
An attempt to get sensitive information through fake calls, messages etc.
Shoulder Surfing
An attempt to get sensitive information by observing a user.
Pharming
An attempt to get sensitive information through redirecting to fraudulent websites.
Unpatched software
Unpatched software have vulnerabilities which can be used to gain access.
USB Devices
USB devices can contain malware which can auto-run to compromise devices.
Eavesdropping
Eavesdropping involves intercepting data which can be decrypted.
Eavesdropping is worse if data is not encrypted.
Penetration testing
Involves hacking IT systems to find weaknesses.
Usually performed by an ethical hacker who makes a report.
Commercial analysis tools
Involves software to scan systems for vulnerabilities internally and externally.
Costs money.
Network and user policies
Involves rules determining how employees should use the network.
Determines response to network faults/vulnerabilities.
Audit trails
Audit trails are records of computer system activities.
Used to identify suspicious activity.
Used to increase accountability.
Used to trace problems to perpetrators.
Securing OS
Use secure OS that are designed with security in mind.
Secure coding
Use secure programming languages.
Use good programming habits to reduce mistakes.
Code reviews
Code review by other senior programmers to check for vulnerabilities.
Modular testing
Testing each block of code independently.
Network security provision
Make sure users have the minimum level of access necessary.
Internet
The Internet is a global network of connected devices.
The Internet is connected through fibre optic links and satellites.
It is also known as the interconnected network.
Domain names
Domain names are used to identify different IP addresses.
bbc.co.uk is the domain name; the IP address is 212.58.244.27.
Domain name systems
DNS (domain name systems) servers translate domain names into IP addresses.
DNS servers are mostly free and distributed across the world.
DNS servers will ask other servers if they cannot find the domain name.
IP Address
Public IP addresses are allocated by the IANA.
IANA stands for Internet Assigned Numbers Authority – an organisation.
Private IP addresses are allocated by the network administrator.
The IETF (Internet Engineering Task Force) designates IP ranges for private use.
World wide web (WWW)
The world wide web is a collection of web pages accessed from the Internet.
Web browsers
Web browsers are used to access web pages by the client-server model.
Web browsers translate web server data into readable formats.
Internet service providers (ISP)
ISP provides internet access through telephone lines.
Networks part of the Internet are connected by routers.
Hypertext Transmission Protocol / Secure (HTTP/HTTPS)
HTTP/S is in the application layer.
HTTP standardises formatting of data between web browsers and servers.
HTTPS uses certificates and encrypts all data sent between server and browser.
Hypertext markup language (HTML)
HTML is a web browser format used to display documents in a web browser.
The Uniform Resource Locator is the full link.
IP addresses
IP addresses identify devices connected to the internet.
Addresses need to be standardised so that they can be sufficiently unique.
IPv4
IPv4 uses 4 bytes to represent addresses.
There are 8 bits in each segment.
255.255.255.255
IPv6
IPv6 uses 16 bytes in hexadecimal to represent addresses.
There are 16 bits in each segment.
FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
Modem
Modems convert digital data and electrical signals.
Modems are the intermediary between the Internet and the router.
Router
Routers route data packets between networks until it reaches destination.
Routers can handle wired and wireless connections.
Routers are the intermediary between the modem and the switch.
Switch
Switches connect devices within a LAN.
All cables feed into the switches.
Switches filter data packets according to devices.
Switches are efficient and reduce traffic.
Wireless Access Points
Allow wireless devices to connect to wireless networks.
Modern routers have WAPs built in.
Manufacturing
Demand for computational devices increases as the world becomes more digital.
Takes up lots of energy (from burning fossil fuels) so the impact is global warming.
Manufacturing devices also involves non-renewable natural resources e.g sand for glass, oil for plastics.
Radioactive metals e.g Uranium and Thorium are used, which can contaminate air.
Semiconductors are also used.
Usage
Lots of energy needed to keep billions of devices running.
Tasks like gaming/3D modelling use lots of energy.
Disposal of devices
Recycling rates increased by 20%
Landfill stores e-waste
Could contaminate air, inhale toxins
Toxic substances leak into ground and contaminate supplies + surroundings
Positive environmental impacts of technology
Climate change: NASA used satellite data to study glacier movement to gain info for climate change.
Warning systems: Sensor networks used to detect tropical storms// communication to issue timely warnings.
Conservation: GPS and satellite used to monitor species to improve conservation strats
Energy: Adjust electricity usage to make it more efficient.
Personal data:
Concerns that the internet stores a lot of identifiable personal info, which is an invasion of privacy.
Data protection legislation established.
Data is often gathered without the user's permission.
Insecure data is vulnerable to hackers/phishing attacks.
Social media apps collect data to create a more appealing and personalised service.
Surveillance
CCTV, satellite imagery etc monitor people’s activities without consent
But it is useful for monitoring criminals and deter crimes
Locational based services
Used to track current location
Allows to track phone, arrange to meetup with people, find a way to a destination etc
But it allows unwanted people to track your movements
Privacy enhancing tools
Encryption: Prevents unauthorised agents from reading your data
Cookie cleaners: Refers to software that detects and removes cookies
(cookies are small data files that keep record of browsing history)
Anti-spyware program: Software that defends against spyware
Identity management service: Third party which issues you with an identifier that allows you to conduct transactions without revealing personal info
Digital Inclusion
Providing everyone with affordable access to computing and tech
Digital divide is present in the world
Caused by bans, can’t afford, no access to it
Governments provide programs which trains ICT skills
Ways to include:
Give access to wider range of individuals
Access to individuals with a common interest and promotes feeling of belonging
Provide services for those with constraints
Adaptive tech for disabled
Professionalism
Workers must behave ethically by abiding to the code of conduct by the British Computer society
Intellectual property
A unique creative product created by the human mind which has commercial value
Legislations for plagiarism
Networks/ forums/ websites allow ppl to download their IP illegally as the creator does not receive the money
Protected through copyrights
Copyrights protect the source code for your application, but does not stop people from using another source code or creating a source code similar to your’s
Licensing
Terms to specify the copies that you can use
Prevents reselling
Open/ closed software
Open is freely available on internet
Can be modified by any user and be built on to benefit the community
Allows criminals to exploit vulnerabilities in source code
Proprietary (closed) software is protected and cannot be modified
Computer misuse act:
Improves cyber security: illegal to gain access to a computer system without permission
AI
Machines that can perform tasks at the same level as intellectual beings e.g humans
Machine learning is the ability for computers to learn without explicitly being programmed
Uses: Analyse medical tests, health, consultation for patients etc
Ethical issues: Data sample could be racist or sexist, produces biassed data
Risk of AI taking over jobs
DNA Computing
Using nitrogenous bases from DNA to store data due to DNA’s ability to replicate at a microscopic size
Instead of binary, four character genetic alphabet is used instead
Calculations done through chemical reactions instead of electrical states in computers
DNA computers can replaces silicon-based: DNA supply is practically unlimited and does not require toxic materials for microprocessors much smaller than silicon ones
If storage is cool and dry through a good storage medium, it can survive for hundreds/ thousands of years
DNA much faster, massive parallel processing
DNA computing relatively new, not work until years later
Nanotech
Reduce size of transistors, as they have problems if they are too close.
Scientists tried using carbon nanotubes: smaller, faster and use less energy than silicon chips
Uses: Self-cleaning glass, clothing, scratch resistant clothes, medicine
Quantum computing
Use qubits (subatomic particles which obey quantum mechanics)
Superposition: Where a qubit can be at multiple places at the same time but it converges into 1 or 0 when measured
Can carry out calculations much faster\\ can represent 2^n states at once and entanglement
Require conditions colder than deep space, quiet environment
Uses: analysing chemical compounds, predictions and optimisation problems