Search CSNewbs
Search this site
304 results found with an empty search
- 4.1 - Security Considerations | F161 | Cambridge Advanced National in Computing | AAQ
Learn about security threats, including botnets and DDoS attacks and both physical and digital security mitigations. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 4.1 - Security Considerations Watch on YouTube: Security threats Physical security Digital security You need to know the risks that specific security threats pose to applications , including botnets , DDoS attacks , hacking and malware . You need to know how both physical security mitigations (e.g. biometrics , locks and RFID ) and digital security mitigations (e.g. encryption , firewalls and anti-malware ) protect application software against threats . What You Need to Know Security Threats Common threats to application software include: Botnet A botnet is a group of compromised devices that are remotely controlled by an attacker , often without their owners knowing , and used together to carry out malicious activities . DoS / DDoS Attack A Denial of Service (DoS ) attack attempts to make a system or service unavailable by overwhelming it with requests or traffic . A Distributed Denial of Service (DDoS ) attack does this using many devices at the same time , often through a botnet . Hacking Hacking is the process of gaining unauthorised access to a computer system , network or data . This potentially allows data to be viewed , changed , stolen or deleted . Lack of Supplier Support A lack of supplier support occurs when a developer no longer provides updates , security patches or technical assistance for its software , leaving newly discovered vulnerabilities potentially unfixed . Malicious Spam Malicious spam is unwanted messages sent to large numbers of users that contain harmful or deceptive content . This may include links designed to steal information or distribute malware . Malware Malware is software intentionally designed to damage , disrupt or gain unauthorised access to systems or data . Examples include viruses , worms , ransomware and spyware . Out-of-date Software Out-of-date Hardware Out-of-date Firmware Out-of-date software may contain known security vulnerabilities that newer versions have fixed , making it easier for attackers to compromise the system . Out-of-date hardware may lack modern security features , be incompatible with newer security software or no longer receive support from its manufacturer . Firmware is software built into a device that controls how its hardware operates . Out-of-date firmware may contain unpatched security vulnerabilities that attackers could exploit to access or interfere with the device . Physical Security Mitigations Physical security mitigations are measures used to prevent unauthorised physical access to systems that run application software . Biometrics Biometrics use unique physical characteristics, such as fingerprints or facial features , to verify a person's identity and prevent unauthorised users from physically accessing devices and application software . Cable Locks Cable locks physically secure devices such as laptops to a fixed object like a table , reducing the risk of equipment being stolen and the application software or data on it being accessed . Cameras Cameras like CCTV can monitor and record areas containing computer equipment , helping to deter unauthorised access or theft and providing evidence if a security incident occurs . Locks Locks restrict physical access to rooms , cabinets or equipment for unauthorised people , helping prevent devices and the application software they contain from being accessed , stolen or damaged . RFID Radio Frequency Identification (RFID ) uses radio waves to communicate wirelessly between an RFID tag or card and a reader . It can be used to identify authorised users and control physical access to restricted areas , such as server rooms . Safe A safe provides secure physical storage for devices or storage media , protecting them against unauthorised access , theft and potentially physical damage . Swipe Cards Swipe cards require users to swipe or scan an authorised card to enter restricted areas , preventing unauthorised people from physically accessing devices and systems containing application software . Digital Security Mitigations Digital security mitigations use software and technology to protect applications and data from security threats . Access Rights Access rights control what resources and actions different users are allowed to access , such as viewing , editing or deleting data . This helps prevent unauthorised access or changes . Anti-Malware Anti-malware is software that detects , blocks and removes malware , such as a virus or worm . It helps prevent malicious software from damaging applications , stealing data or gaining unauthorised access . Back-up A back-up creates a separate copy of data that can be restored if the original is lost , damaged or corrupted , for example following a malware attack or hardware failure . Cryptography Cryptography uses mathematical techniques to protect data and communications , helping keep data confidential , verify its authenticity and prevent unauthorised changes . 2FA Two-factor authentication (2FA ) requires a user to provide two different forms of authentication before gaining access , such as a password plus a code from another device . This makes unauthorised access more difficult if one factor is compromised . Encryption Encryption converts data (plaintext ) into an unreadable form (ciphertext ) that requires the correct key to decrypt . It prevents unauthorised users from understanding the data if they gain access . Encryption at rest protects stored data , such as files on a device or records in a database , if the storage is accessed or stolen . Encryption in transit protects data while it is being transferred across a network , reducing the risk of intercepted data being read . Firewall A firewall monitors and controls network traffic using security rules , helping prevent unauthorised or suspicious connections . A hardware firewall is a physical network device , often built into a router , that can protect multiple devices by filtering traffic entering or leaving a network . A software firewall is installed on a specific device that monitors and controls network traffic for that device and its applications . Q uesto's Q uestions 4.1 - Security Considerations: 1. Describe the following security threats : botnets , DoS/DDoS attacks , hacking , lack of supplier support , malicious spam and malware . [ 2 each ] 2. Explain why out-of-date software , hardware and firmware can create security risks for application software . [3 ] 3. Explain how physical security measures , including biometrics , cable locks , cameras , locks , RFID , safes and swipe cards , can protect application software and systems. [2 each ] 4. Explain how access rights , anti-malware , backups , cryptography , encryption , firewalls and 2FA can protect application software from security threats. [2 each ] 5. For an online mobile game , recommend suitable physical and digital security mitigations and justify how they would protect against specific threats . [6 ] The WannaCry ransomware attack of 2017 affected hundreds of thousands of computers worldwide , including NHS systems . It exploited a vulnerability in older or unpatched Windows systems and resulted in an estimated 19,000 NHS appointments and operations being cancelled . D id Y ou K now? 3.2 - Protocols Topic List 5.1 - Testing
- 4.1 - Security Threats - OCR GCSE (J277 Spec) | CSNewbs
Learn about different forms of cyber attacks online including malware, SQL injection, DoS attacks and social engineering. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 4.1: Security Threats Exam Board: OCR Specification: J277 Watch on YouTube : Malware Social Engineering, Brute-Force & DoS Interception & SQL Injection Types of Malware Malware is any type of harmful program that seeks to damage or gain unauthorised access to your computer system. Virus A virus can replicate itself and spread from system to system by attaching itself to infected files . A virus is only activated when opened by a human . Once activated, a virus can change data or corrupt a system so that it stops working . Worm A worm can replicate itself and spread from system to system by finding weaknesses in software . A worm does not need an infected file or human interaction to spread. A worm can spread very quickly across a network once it has infiltrated it. Trojan A trojan is a harmful program that looks like legitimate software so users are tricked into installing it . A trojan secretly gives the attacker backdoor access to the system . Trojans do not self replicate or infect other files. Spyware Spyware secretly records the activities of a user on a computer. The main aim of spyware is to record usernames, passwords and credit card information . All recorded information is secretly passed back to the attacker to use. Keylogger A keylogger secretly records the key presses of a user on a computer. Data is stored or sent back to the attacker. The main aim of a keylogger is to record usernames, passwords and credit card information . Keyloggers can be downloaded or plugged into the USB port . Ransomware Ransomware locks files on a computer system using encryption so that a user can no longer access them. The attacker demands money from the victim to decrypt (unlock) the data . ? ? ? ? Attackers usually use digital currencies like bitcoin which makes it hard to trace them. SQL Injection SQL ( Structured Query Language ) is a programming language used for manipulating data in databases . A SQL injection is when a malicious SQL query (command) is entered into a data input box on a website. If the website is insecure then the SQL query can trick the website into giving unauthorised access to the website’s database . An SQL injection can be used to view and edit the contents of a database or even gain administrator privileges . DoS Attack A DoS (Denial of Service ) attack is when a computer repeatedly sends requests to a server to overload the system . A server overload will slow the system and may take websites offline temporarily. A DDoS (Distributed Denial of Service ) attack is a coordinated attack using a botnet of infected systems to overload a server with requests . A botnet is a large group of devices controlled and used maliciously by an attacker. Brute-Force Attack Every possible combination is tested in order from start to finish . This is not a quick method but it should break the password eventually and can be sped up if multiple computer systems are used at the same time. Social Engineering Social engineering means to trick others into revealing their personal data by posing as a trusted source . For example, impersonating an IT technician of a school via email and asking for a student's username and password . Data Interception This is when data packets on a network are intercepted by a third party (e.g. a hacker) and copied to a different location than the intended destination. Software called packet sniffers are used to intercept and analyse data packets. Q uesto's Q uestions 4.1 - Security Threats: 1. What is malware ? [ 2 ] 2a. Describe three characteristics of a virus . [3 ] 2b. Describe three characteristics of a worm . [3 ] 2c. What is a trojan ? [ 3 ] 2d. Describe how spyware and keyloggers work. [ 4 ] 2e. Explain how ransomware works and why it is difficult to trace attackers . [ 3 ] 2f. In your opinion, which malware do you think is the most dangerous and why ? [ 2 ] 3. Describe what an SQL injection is and how an attacker would use it. [ 3 ] 4a. Describe what a DoS attack is and its impact . [2 ] 4b. Describe how a DDoS attack is different to a DoS attack . [2 ] 5a. Describe a brute-force attack. [ 2 ] 5b. Describe social engineering and give an example of when it might be used . [2 ] 5c. Describe interception . [2 ] 3.2b - Protocols & Layers Theory Topics 4.2 - Preventing Vulnerabilities
- 5.1.2 - Types of Device | F160 | Cambridge Advanced National in Computing AAQ
Learn about different types computers such a desktops, games consoles, laptops, smart speakers, smart TVs, smartphones, tablets, augmented reality (AR), virtual reality (VR) and mixed reality (MR) devices. Based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) (AAQ - Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 5.1.2 - Types of Device Watch on YouTube : Types of Device Applications can be developed for a range of different devices , each type of device having its own characteristics and common uses . The characteristics of popular devices, such as laptop and tablets , may be well known, but ensure you know the difference between augmented reality ( AR ), virtual reality ( VR ) and mixed reality ( MR ) devices. Types of Device Common Devices Desktops are powerful and customisable personal computers designed for use at a desk . Game consoles are designed specifically for playing video games , usually connected to a TV . Laptops are portable computers with a built-in screen and keyboard , suitable for work on the go . Smart speakers are voice-controlled devices that play music , answer questions and can control smart home gadgets . Smart TVs have internet access , interactive features and apps for streaming and browsing . Smartphones have internet , GPS and Bluetooth connectivity , apps and communication functions . Tablets use a touchscreen larger than a phone, they are more portable than a laptop and good for browsing and media . Augmented Reality (AR ) is technology that overlays digital images or information onto the real world . Virtual Reality (VR ) uses a computer-generated 3D environment that fully immerses the user , usually with a headset . Mixed Reality (MR ) is a blend of AR and VR where digital objects interact with the real world in real time . Q uesto's Q uestions 5.1.2 - Types of Device: 1. Explain the difference between the three types of 'reality ' devices . [3 ] 2. Justify which devices a streaming service should consider for an app . [4 ] 3. Describe the characteristics of any devices not covered in your responses to Q1 and Q2 . [ 5 ] The AR app Pokémon Go was so popular when it released in 2016 that within the first 6 months players had walked a combined 8.7 billion kilometres ( 200,000 trips around the Earth ). D id Y ou K now? 5.1.1 - Human-Computer Inter. Topic List 5.2 - Visual Design Considerations
- OCR CTech IT | Unit 1 | 3.1 - Server Types | CSNewbs
Learn about the role of different server types including file, application, print, email, mail servers and the hypervisor. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.1 - Server Types Exam Board: OCR Specification: 2016 - Unit 1 What is a server? A server is a powerful dedicated system on a network . It requires increased memory , storage and processing power than traditional computer systems to fulfill its role across the network. Servers need to be scalable - this means they must be adaptable and able to efficiently manage the needs of connected systems if more are added or some are removed . Servers have different roles so a company may use multiple , separate server types within their organisation, each with a specific purpose . Having separate servers is costly but beneficial as if one loses connection , others may still be usable . Also a server will be more efficient if it is only managing one resource (e.g. printers) at a time . File Server A file server centrally stores and manages files so that other systems on the network can access them. The server provides access security , ensuring that only users of the appropriate access level can access files. File servers can be used to automatically backup files , as per the organisation's disaster recovery policy. Using a file server frees up physical storage space within a business and can provide printing services too. Printer Server These servers control any printers on a network and manage printing requests by sending the document to an appropriate printer. Print servers use spooling to queue print jobs so that they are printed when the printer is ready. If a fault occurs with a certain printer, work can be automatically diverted to another available printer. Application Server These servers allow users to access shared applications on a network. All users will be able to access common applications like email software or word processing, but the server will also restrict certain applications to those with invalid access levels (such as hiding financial databases from employees outside of the finance department). Application updates can be simply deployed to the application server only , avoiding individual updates for each system and saving a lot of time . Installers can be hosted on an application server, allowing the software to be easily installed on other connected machines . Database Server These servers manage database software that users on the network can access and use to manipulate data . Data held on the server will be stored in a database accessible from multiple connected computers . The data can be modified using query languages such as SQL. Storing data on a database server, rather than individual computers, is more reliable . A database server for a business also allows for scaling - for example, the database can be increased in size if the customer base grows. Web Server A web server manages HTTP requests from connected devices to display web pages on web browsers . A request (e.g. csnewbs.com) is sent to the web server. The server contains a list of known URLs and their matching IP addresses . The server contacts the server where the web page is held and delivers the web page to the client . Mail Server These servers send and receive emails using email protocols (SMTP & POP) allowing email communication between other mail servers on other networks. The server makes sure emails are delivered to the correct user on the network. Email servers can store company address books making internal communication easier for organisations. The server may have anti-spam functions to reduce junk mail. Hypervisor A hypervisor allows a host machine to operate virtual machines as guest systems. The virtual machines share the resources of the host , including its memory, processing power and storage space. This type of technology is called virtualisation . The guest machines are isolated so if one failed, the other guests and the hosts are not affected - demonstrating good security . The hypervisor optimises the hardware of the host server to allow the virtual machines to run as efficiently as possible. Q uesto's Q uestions 3.1 - Server Types: 1a. What is a server ? Why does it need to be scalable ? [2 ] 1b. Give two reasons why a company may use multiple , separate servers . [2 ] 1c. State the 7 types of server . [1 each ] 2. A medium-sized animation company working on a movie are considering buying a server. Describe each type of server and the different roles they have. a. File Server b. Printer Server c. Application Server d. Database Server e. Web Server f. Mail Server g. Hypervisor [4 each ] 3. What type of technology does a hypervisor use to control multiple virtual machines? [1 ] 2.7 - Protocols Topic List 3.2 - Virtualisation
- 5.3 - HCI Designs, Documents, Diagrams | F160 | Cambridge Advanced National in Computing AAQ
Learn about designs, documents and diagrams related to human-computer interaction including processing and data handling, data flow diagrams (level 0 and level 1), flowcharts and user interface designs (visualisation and wireframe diagrams). Based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) (AAQ - Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 5.3 - Human Computer Interface Designs, Documents and Diagrams Watch on YouTube : Data flow diagrams Flowcharts Visualisation diagrams Wireframe diagrams There are four types of documents / diagrams you need to know that can be used to design human-computer interfaces : data flow diagrams (DFDs ), flowcharts , visualisation diagrams and wireframe designs . For each type of diagram , you need to know its components and conventions , when it is appropriate for use , and how to create it . Each diagram is also effective for different uses and you must be able to consider how specific diagrams can be made more effective . Human-Computer Interface Diagrams Data Flow Diagrams A data flow diagram (DFD ) is a visual representation of how data is transferred within a system or organisation . They do not show decision logic or sequencing , but focus on where data comes from , where it goes and how it is processed . DFDs are typically categorised into Level 0 and Level 1 formats, which differ based on complexity . Flowcharts A flowchart is a diagram that shows the sequence of steps in a process using specific symbols . Flowcharts can be used as a project planning tool (section 3.2 ) to visualise workflows , task order and decision-making paths . It is also useful as a human-computer interface diagram to show the steps and decisions users may take as they interact with the application . The video says ' 3.2d ' because flowcharts also appear in section 3.2 as a project planning tool . Visualisation Diagrams Visualisation diagrams are graphical representations used to show the layout , structure and appearance of a software application's interface . They're often used for planning , design and feedback purposes. Traditionally, they would be drawn on paper in pencil and annotated , but modern diagrams are mocked up on a computer so they can be easily shared with team members and clients . Wireframe Diagrams Wireframe diagrams are basic visual guides used to represent the structure and layout of a user interface (UI ) without any design styling . They focus on function , layout and interaction , not aesthetics . Wireframe diagrams are used in the early design stages to plan the UI layout before visual design begins. Q uesto's Q uestions 5.3 - Human Computer Interface Designs, Documents & Diagrams: 1. Explain what the purpose of data flow diagrams are, the difference between Level 0 and Level 1 and what makes them effective . [6 ] 2. Draw a wireframe diagram for the YouTube homepage . [3 ] 3. Explain how visualisation diagrams are created and how they can be made more effective . [ 5 ] The first type of flowchart , the ' flow process chart ', was developed by engineers Frank and Lillian Gilbreth in 1921 . The book (and original movie ) ' Cheaper by the Dozen ' is about this couple . D id Y ou K now? 5.2 - Visual Design Considerations Topic List 6.1 - Job Roles
- 1.3 - Input, Output & Storage | OCR A-Level | CSNewbs
Learn about different input and output devices, RAM (random access memory) and ROM (read only memory) and storage devices, including solid state, magnetic and optical types. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 1.3 - Input, Output & Storage Specification: Computer Science H446 Watch on YouTube : Input & output devices Storage devices RAM & ROM Virtual storage This topic covers the internal and external devices required to input data into computer systems , output from them and store data for both temporary and long-term use . Input & Output Devices Input devices , such as a keyboard , mouse , microphone or sensor , allow data to be entered into a computer system for processing . Input can be manual (e.g. typing on a keyboard ) or automatic (e.g. a temperature sensor taking readings ). Output devices , such as monitors , printers and speakers , present the results of processing in a form understandable to humans . Input and output are not limited to text - they may also be visual , audio or tactile (e.g. braille displays or printed paper ). Storage Devices Secondary storage is non-volatile storage used to permanently hold programs and data when not in use by the CPU . There are three types : Magnetic storage uses magnetised patterns on a disk or tape (e.g. hard disk drives or magnetic tape ) to store large amounts of data for a low cost per gigabyte . Solid-state storage uses flash memory with no moving parts (e.g. SSDs and USB drives ), making it very fast , durable and portable . Because there are no moving parts, it is the fastest to access data . Optical storage uses lasers to read and write data as pits and lands on a disc surface (e.g. CDs, DVDs, Blu-ray). Discs are cheap to mass produce , but they are not durable , slow to access and have a low capacity . RAM & ROM Primary storage is low-capacity , internal storage that the CPU can directly access . There are two types: Random Access Memory (RAM ) is volatile storage that temporarily holds both programs and data currently in use , including the operating system . It can be read from and written to , but all contents are lost when the power is turned off . Read Only Memory (ROM ) is non-volatile storage that normally cannot be changed . The contents of ROM are saved when the power is turned off . ROM stores the BIOS and firmware , including the instructions needed to boot the computer when it is switched on . Virtual Storage Virtual storage is the separation of logical storage from physical storage , such as when data is stored remotely and accessed over a network instead of being kept locally . A common example is cloud storage , where data is held on remote servers and accessed via the internet . Benefits are that it is scalable , enables easy collaboration , provides automatic backup and saves local storage space . Drawbacks include that it relies on a stable internet connection , poses security risks and reduces user control over data . Q uesto's K ey T erms Input & Output Devices Secondary Storage: magnetic, solid state, optical, portability, capacity, cost (per GB), access speed, reliability, durability, power consumption Primary Storage: RAM, ROM, volatile, non-volatile Virtual Storage: cloud storage D id Y ou K now? The first commercial hard disk drive , the IBM 305 RAMAC (released in 1956 ), was the size of two fridges , weighed around a tonne , and stored just 5 MB of data - about the same as one .mp3 song . 1.2 - Types of Processor A-Level Topics 2.1 - Systems Software
- 4.2 - Data Structures | OCR A-Level | CSNewbs
Learn about data structures including arrays, records, lists, tuples, linked-lists, graphs, stacks, queues, trees, binary search trees and hash tables. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 4.2 - Data Structures Specification: Computer Science H446 Watch on YouTube : Arrays Records Lists & tuples Stacks Queues Linked lists Trees Graphs Hash tables Data structures are used to organise and store data so it can be accessed and processed efficiently , often through the use of an index or reference . They can be static , meaning their size is fixed during program execution , or dynamic , allowing them to grow or shrink as data changes . Arrays An array is a data structure that stores a collection of items of the same data type , with each item accessed using an index . A one-dimensional (1D ) array is a simple sequence of values , such as test scores for a single person : scores = [12, 15, 18, 20] . A two-dimensional (2D ) array is like a table or grid , made up of rows and columns - for example, storing a timetable or test scores for a class . A three-dimensional (3D ) array stores data in multiple layers , like a series of 2D grids . For example, test scores for a class across multiple subjects . This page is under active development. Check here for the latest progress update. YouTube video uploading soon Records A record groups together related but different types of data under one name . Each individual piece of data within a record is called a field and each field can have a different data type (e.g. string , integer , Boolean ). For example, a student record might include fields such as Name (string ), Age (integer ) and Enrolled (Boolean ). Records are often used in databases or programming to represent real-world entities where multiple attributes need to be stored together . YouTube video uploading soon Lists & Tuples A list stores an ordered collection of items , which can be changed (mutable ) after creation. Items in a list can be added , removed or modified , and they can be of different data types . For example, in Python : myList = [10, "apple", True] . A tuple is similar to a list but is immutable , meaning its contents cannot be changed once created . Tuples are often used for fixed sets of data that should not be altered , such as coordinates or dates . For example: myTuple = (3, 5, 7) . YouTube video uploading soon Stacks A stack stores data in a last in , first out (LIFO ) order, meaning the most recently added item is the first one to be removed . It works much like a stack of plates - you can only add or remove from the top . Two integral functions are push and pop . The push operation adds (or “pushes”) a new item onto the top of the stack . The pop operation removes (or “pops”) the item from the top of the stack . Stacks are commonly used in undo features , function calls and expression evaluation , where tracking the most recent item first is important . YouTube video uploading soon Queues A queue stores items in a first in , first out (FIFO ) order, meaning the first item added is the first one removed . New items are added at the rear of the queue using an enqueue operation, and items are removed from the front using a dequeue operation. Queues are often used in task scheduling , print spooling and data buffering , where operations must occur in the same order they were requested . YouTube video uploading soon Linked Lists A linked list is a dynamic data structure made up of a series of elements called nodes , where each node contains data and a pointer to the next node in the sequence . Unlike arrays, linked lists do not store elements in contiguous memory locations , making it easy to insert or delete items without having to shift other elements . The head is the first node in the list , and the last node usually points to null , indicating the end of the list . YouTube video uploading soon Trees A tree is a hierarchical data structure made up of nodes connected by branches , starting from a single root node . Each node can have child nodes , and nodes without children are called leaf nodes . Trees are useful for representing data with natural hierarchies , such as file systems or organisational charts . A binary search tree is a special type of tree where each node has at most two children - a left and a right . All values in the left subtree are smaller than the parent node , and all values in the right subtree are larger . This structure allows for efficient searching , insertion and deletion of data , often much faster than in lists or arrays . YouTube video uploading soon Graphs A graph is made up of nodes (also called vertices ) connected by edges and is used to represent relationships between items. Graphs can be directed , where edges have a specific (one-way) direction , or undirected , where connections go both ways . They can also be weighted , where edges have values such as distance or cost , or unweighted , where all connections are equal . Graphs are widely used in computing, for example, in social networks (users and friendships ), maps (locations and routes ) and network routing algorithms . YouTube video uploading soon Hash Tables A hash table stores key–value pairs and allows for very fast data access . It uses a hash function to convert a key (such as a name or ID ) into an index (hash value ), which determines where the associated data (value ) is stored in memory . When retrieving data , the same hash function is applied to the key to find the value’s location instantly , making lookups close to constant time complexity on average . If two keys produce the same hash (a collision ), techniques such as chaining or linear probing are used to handle it . Hash tables are commonly used in databases , caches and programming languages for tasks like fast searching and indexing . YouTube video uploading soon Q uesto's K ey T erms Arrays: array, 1-dimensional, 2-dimensional, 3-dimensional, static Records: record, field, data type, primary key Lists and Tuples: list, tuple, mutable, immutable, dynamic Stacks and Queues: stack, queue, last in first out (LIFO), first in first out (FIFO), push, pop, enqueue, dequeue, pointer Linked Lists: linked list, null Trees & Graphs: tree, binary tree, binary search tree, root node, branch, graph, weights, directions Hash Table: hash table, key, value, collision, linear probing, chaining D id Y ou K now? Trees are used for dialogue options in narrative video games , displaying possible paths based on the player’s previous choices . The final ' suicide mission ' of Mass Effect 2 has hundreds of possible variations depending on ship upgrades , squad member loyalty , and assigned roles during the last mission . 4.1 - Data Types A-Level Topics 4.3 - Boolean Algebra
- 3.1 - Defensive Design - OCR GCSE (J277 Spec) | CSNewbs
Learn about defensive design considerations including validation checks, verification, anticipating misuse, maintainable code, authentication and input sanitisation. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 3.1: Defensive Design Exam Board: OCR Specification: J277 Watch on YouTube : Defensive Design Validation Checks Maintainability Defensive Design Considerations There are several things to consider when creating a program that is secure and robust , including: Anticipating Misuse Planning ahead to take steps against potential misuse (e.g the app X prevents the same tweet sent twice in a row as it might be spam ). Input Sanitisation Checking and cleaning up data that has been input , (e.g. removing special characters to prevent a SQL injection ). Validation Checking whether input data follows specific criteria and should be accepted (e.g. a length check on a password). Verification Checking whether data that has been entered is correct (e.g. double entry ). Authentication Ensuring only authorised users can gain access to a system (e.g. usernames and strong passwords ) . Maintainable code Allowing other programmers to easily read and quickly understand code that has been written (e.g. using comments , indentation and appropriate variable names ). Input Validation Validation is a process to check that data is reasonable or sensible before it is accepted . Range Check Checks data is within a certain range . Age: 34 203 Type Check Checks data is a certain data type . Height (in cm): 182 Two metres Format Check Checks data is entered in a certain way . Date of Birth (DD/MM/YYYY) 25/03/2011 25th March 11 Presence Check Checks that data has actually been entered and not left blank . Password: fluffythecat123 Lookup Table A table of acceptable entries , also known as a list . Length Check Checks the length of the input is within a certain amount. Telephone Number 08323877319 07383 Maintainability Programs should be written in a way that makes maintaining and understanding them as straightforward as possible. Examples of making a program maintainable include: Using subprograms to reuse code and make them easier to test . This is called modularisation . Appropriate variable names , using a naming convention , ensure the purpose of a variable is immediately understood. Using indentation to improve readability and clearly show each ‘block’ of code. Comments enable a programmer to understand the purpose of each line of code. Crucial when working in a team . Using constants is another method of improving maintainability. This keeps the program code consistent , which makes it easier to read and debug a program. Q uesto's Q uestions 3.1 - Defensive Design: 1. Describe the different considerations a programmer should make for a defensive design . [ 6 ] 2. Describe the each validation check and give a suitable example . [ 12 ] 3. Explain the different ways a program can be maintained . [ 5 ] 2.3 Additional Programming Theory Topics 3.2 - Testing
- OCR CTech IT | Unit 1 | 3.2 - Virtualisation | CSNewbs
Learn about the benefits and drawbacks of virtualization, as well as about cloud storage and virtual clients. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.2 - Virtualisation Exam Board: OCR Specification: 2016 - Unit 1 What is virtualisation? Virtualisation is the creation of a virtual version of a device , software , operating system or server . These virtual versions can then be run on a different physical computer system , such as a powerful server . There are many different types of virtualisation . Storage virtualisation combines multiple separate storage devices into acting and appearing like a single , central storage system . Using storage virtualisation improves scalability as further devices can join the storage system if more space is required . It also simplifies the management of storage across the network. Server virtualisation allows one physical server to be divided into and host multiple virtual servers , each running separately . Each virtual server operates independently , handling its own operating system and applications . This allows for resources to be used more effectively and improves the scalability and versatility of the physical server . Client Virtualisation (Virtual Clients) Client virtualisation is when several virtual desktops are run on a single server - think back to the hypervisor from 3.1 . A virtual client is a full desktop environment where the processing happens remotely . For example, where an operating system is managed and hosted centrally but displayed locally on a different computer. These are often known as 'dumb clients ' because the server does the processing for it , meaning it can have minimal resources like a slow processor and little memory / storage . General Benefits & Drawbacks of Virtualisation Benefits of virtualisation: Costs are cheaper in the long-term because money is saved by not purchasing multiple physical devices . Money is also saved due to less cabling and lower power consumption . If set up efficiently, it can be used for higher performance at a lower cost - "Do more with less" . Programs can be tested in a secure environment before main-system deployment. Simplified response to recover after a disaster because only the server needs to be fixed. Drawbacks of virtualisation: If not set up efficiently, users could face serious performance issues , as fewer servers do more work. If a single physical system fails , the impact will be greater . Initial set up is complex , requires technical knowledge and can cost a lot. Easier for hackers to take more information at once as the data is stored in the same place. Benefits of client virtualisation: All data is stored in one central location , making backup and disaster planning easier to manage . The whole system can be managed , secured and updated from the server , rather than from each individual system. Hardware costs will be reduced because the virtual clients do not store or process their own data , meaning they can be of a low spec . Users can have multiple virtual machines and log in remotely (from anywhere with internet access ). Drawbacks of client virtualisation: Users will be unable to work if network connectivity is lost . There is a high strain on the server as the virtual clients do not store or process data themselves . An increased load on the server might result in poor performance for each client, especially with multiple connections . As the data is stored in one location , there are security risks of unauthorised access if the server is not adequately protected . Server Virtual Clients Cloud Technology 'The cloud ' is storage that is accessed through a network , primarily the internet. A cloud server is an example of storage virtualisation as data may be stored across multiple physical devices . There are three different types of cloud storage: Private cloud is where a business will have its own data centre that employees can access. This allows for flexible and convenient data storage and gives the business control over data management and security . Users of the private cloud will not usually have to pay individually for access - but the company will need to spend a lot of money on set up and maintenance . Public cloud uses third-party service providers such as Google Drive or DropBox to provide storage over the internet . Public cloud is usually a pay-for-use service , where businesses will pay for specific amounts that they need. Data management and data security is maintained by the cloud provider and the business is dependent on them providing constant access and deploying effective security measures. Hybrid cloud uses a mix of on-site storage (private cloud) and third-party (public cloud) services . Organisations can move workloads between private and public clouds as their specific needs and costs change . A benefit of hybrid cloud is that it gives an organisation greater flexibility and data storage options. As an example, a company could use on-site or private cloud storage to hold sensitive information and third-party, public cloud services to hold less important data . Q uesto's Q uestions 3.2 - Virtualisation: 1. What is the difference between server and storage virtualisation ? [ 2 ] 2a. What is a virtual client ? [ 1 ] 2b. What are the advantages and disadvantages of client virtualisation ? [ 8 ] 3. Explain any further general advantages and disadvantages of using virtualisation , not covered in your answer to 2b. [4 ] 4. Describe the differences between private , public and hybrid cloud storage. [6 ] 3.1 - Server Types Topic List 3.3 - Network Characteristics
- 3.2a - Wired & Wireless Networks - OCR GCSE (J277 Spec) | CSNewbs
Learn about the differences between wired and wireless networks. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 3.2a: Wired & Wireless Networks Exam Board: OCR Specification: J277 Watch on YouTube : Wired Networks Wireless Networks Encryption Wired Connections Wireless Connections Wireless connections, such as WiFi or Bluetooth , use no cables but require a wireless network interface card (WNIC ). Wireless connections generally have a slower speed and can be affected by the computer's distance from the wireless router as well as obstacles like walls or bad weather. Wired connections use physical cables , such as copper or fibre optic wires , and require a network interface card (NIC ) to connect to a network. These wired connections use a wired connection protocol - most commonly Ethernet . Restricted Movement Faster More Secure NIC Required Freedom of Movement Slower Less Secure WNIC Required Encryption Wireless connections are less secure and require encryption . Encryption is the process of scrambling data into an unreadable format so that attackers cannot understand it if intercepted during transmission. The original data (known as plaintext ) is converted to scrambled ciphertext using an encryption key . Only at the correct destination will the encryption key be used to convert the ciphertext back into plaintext to be understood by the receiving computer. Q uesto's Q uestions 3.2a - Wired & Wireless Networks: 1. Briefly compare wired and wireless networks in terms of movement , transmission speed , security and required hardware . You could answer this in the form of a table. [ 8 ] 3.1b - Network Hardware & Internet Theory Topics 3.2b - Protocols & Layers
- Algorithms | CSNewbs
Learn how pseudocode and flowcharts are written as part of algorithms. This content is based on the 2016 Eduqas / WJEC GCSE Computer Science specification. Algorithms Pseudocode Pseudocode Pseudocode is not a specific programming language but a more general method of describing instructions . It should be unambiguous, and it should not resemble any particular kind of programming language (e.g. Python or Java), so it can theoretically be turned into real code in any language. Generally, pseudocode can be written in any way that is readable and clearly shows its purpose. However, the Eduqas exam board advises that pseudocode for the programming exam should follow the conventions below : Annotation { Write your comment in curly brackets} Define data type price is integer firstname is string Declare a variable's value set price = 100 set firstname = "Marcella" Input / output output "Please enter your first name" input firstname Selection (must have indentation) if firstname = "Steven" then output "Hello" + firstname elif firstname = "Steve" then output "Please use full name" else output "Who are you?" end if Iteration (while loop) while firstname ! = "Steven" output "Guess my name." input firstname repeat Iteration (for loop) for i in range 10 input item next i Define a subroutine Declare Sub1 [Subroutine content indented] End Sub1 Call a subroutine call Sub1 Flowcharts flowchart A flowchart can be used to visually represent an algorithm. The flowchart symbols are: Algorithm Example example Pseudocode {This is a program to see how many items you can buy in a supermarket before you spend over £100} total is integer, itemsentered is integer, itemprice is integer set total = 0 set itemsentered = 0 while total < 100 output "enter the price of the next item" input itemprice total = total + itemprice itemsentered = itemsentered + 1 repeat if itemsentered >= 20 then output "You are on your way to saving money." elif itemsentered => 30 then output "You're a real money saver." else output "Look for better deals next time." end if Stop Flowchart
- CSN+ Preview | CSNewbs
About CSNewbs Plus (CSN+) CSN+ is a premium collection of resources made for teachers that follows the Computer Science specifications covered on the website . Currently, these resources are in development , with the Eduqas GCSE resource pack arriving first, based on the Eduqas GCSE Computer Science 2020 specification . < Free zip folder download of all resources for Eduqas GCSE topic 1.1 (The CPU) *Updated Jan 2021* Resources included for each topic: Lesson Slides Starter activity (to print) Task resources (e.g. diagrams or worksheets to print) Task answers What is included in the CSNewbs+ GCSE collection? 39 presentation slides 39 starters 39 task answer documents 19 revision activity pages 7 topic tests & answers See below for more details: + Complete presentation slides for each of the 39 theory topics in the Eduqas GCSE 2020 specification . PowerPoint and Google Slides compatible. Activity resources to print . Including diagrams , tables and worksheets for lesson tasks . All answers included for teachers to use. Starter questions that recap the previous topic. For teachers to print before the lesson. All answers included in the lesson slides. 39 starters . Comprehensive answers for all lesson tasks . 39 task answer documents containing answers for over 100 lesson tasks for teachers to use . Revision templates for students to complete, to print on A3 paper . 19 pages and 7 revision lesson slides . Exercise book headings and the driving question (lesson focus) 7 end-of-topic tests with brand new questions . All answers included for teachers. What is included on the presentation slides? The following breakdown shows the presentation slides for 1.1 (The CPU): A title slide The content covered from the Eduqas GCSE specification Exercise book headings and the driving question (lesson focus) Answers to the starter activity questions Lesson objectives An explanation of the topic Clear explanations of the content First task. Students use slides or CSNewbs to complete. All answers on separate teacher document. Task 2. Table provided in teacher resource pack to print. Further explanations of the content Further explanations of the content with diagrams. Further explanations of the content with diagrams. Task 3. Answers in the teacher document. Plenary to check the students' understanding of the lesson topics. < Free zip folder download of all resources for Eduqas GCSE topic 1.1 (The CPU) *Updated Jan 2021*



