top of page

Search CSNewbs

304 results found with an empty search

  • 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

  • OCR CTech IT | Unit 1 | 3.4 Connection Methods | CSNewbs

    Learn about the different types of LAN, MAN and WAN networks and how to draw network diagrams. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.4 - Connection Methods Exam Board: OCR Specification: 2016 - Unit 1 Local Area Network (LAN) A Local Area Network (LAN ) is a network in which the computer systems are all located geographically close to each other , for example, in the same building or on the same site , like a school or office . A type of LAN is a Wired Ethernet LAN ( technically Ethernet is a protocol that controls how data is transmitted over a LAN). Wired Ethernet LANs have a high bandwidth so data can be transferred quickly and because it uses cables the data is harder to intercept than a wireless network. Metropolitan Area Network (MAN) A Metropolitan Area Network (MAN ) connects several LANs together to cover the range of a town or city , for example a university campus network. MANs are usually very efficient at providing fast communication for cities , with high connection speeds through the use of fibre optic cables. Wide Area Network (WAN) A Wide Area Network (WAN ) is a network spanning a large geographical area , such as multiple cities or countries . The internet is the ultimate example of a WAN as it stretches across the entire world. Different types of WAN rules and standards are used: ADSL ADSL ( Asymmetric Digital Subscriber Line ) is a method of transferring data across copper wire telephone lines . ADSL is contended, which means that connection speeds are affected and slowed down by more systems that use the network at the same time . The old copper wires also affect data transfer over long distances and can cause data packet loss . Security is also an issue, as the line is shared with others, making data interception more likely . To improve security, a firewall and/or VPN (Virtual Private Network) may be used. Because ADSL uses the telephone system, a modem is require d at both the sending and receiving ends of the connection. A microfilter is also required to allow internet and telephone access at the same time . ADSL is contended - shared between sites. Internet Service Provider ADSL requires a modem Leased Line Leased Line is a method of providing an uncontended , fixed-bandwidth data connection . The user maintains a dedicated connection that is more secure and, because it is uncontended , will have the same speed all of the time , regardless of how busy the network is . Bandwidth is high , security is better , the connection speed is constant and the network is full-duplex (allowing for data transmission both ways simultaneously). These advantages come at a high cost - possibly hundreds of pounds per month - as well as an expensive installation that can take time to be put in place . As it is a complex configuration , a CSU/DSU (Channel Service Unit/Data Service Unit) device is required to properly terminate the leased line . Internet Service Provider Leased Line is dedicated. C A CSU/DSU is required for a leased line. ISDN ISDN (Integrated Services Digital Network ) transmits video and voice data simultaneously over traditional copper telephone wires . This method uses a circuit-switched network where all data packets take the same route between computer systems. Voice Networks Voice networks primarily transfer audio data using phones and telephone lines . PSTN PSTN (Public Switched Telephone Network ) is the global collection of wired public telephone networks that are used to transmit data over a long distance. PSTN is fixed into position using underground cables and therefore the connection quality is much more consistent than other voice networks. Using a wired connection like a PSTN is more reliable and communication will be clearer than alternatives such as cellular or satellite methods. Cellular Cellular networks require a cell tower (also called a transmitting tower ) to be in close proximity to the communication device. Cellular networks have a greater range than PSTN, but buildings and poor weather can disrupt this point-to-point communication method (where line of sight is necessary ). Each cell tower is also connected to the PSTN . Satellite Satellite networks use point-to-multipoint communication by using satellites above the Earth's atmosphere that receive a transmission and rebroadcast them back to Earth. Because of the distance between the communication device and the satellite (potentially thousands of miles ), there is a delay between data transmission and it being received . Satellite networks are beneficial in remote locations , such as natural disaster zones , where the cell tower may not be present or may be damaged. Transmitting large files using satellites may take longer , and it is not recommended for low-latency needs such as video gaming. There are different types of satellites used in communication and networking : Geostationary satellites are used for consistent communication over a specific region , such as TV broadcasts and weather monitoring . They can also be used to transfer data between remote locations . Low-Earth orbiting satellites are closer to the ground so they enable fast communication for internet services . Medium-Earth orbiting satellites are often used for GPS (Global Positioning System ) and other navigation systems . A global positioning satellite is an example of this type of satellite that provides time and geolocation data to GPS receivers back on Earth. Diagrammatical Representation In an exam, you may be asked to draw a diagram representing how networks are connected . This is different from drawing a network topology (e.g. ring or mesh) and refers to: Connection type (e.g. ADSL / Leased Line). Devices (e.g. router / modem), Security methods (e.g. firewall / VPN) Two LANs connected using a Leased line Two LANs connected using an ADSL line Rules for drawing a network diagram: Label each device and label your LANs . Use appropriate symbols and be neat . There are no set symbols, just be consistent (e.g. both modems are the same shape). ADSL must have a modem and VPN router + Firewall . (ADSL is not very secure so it needs to be protected with the VPN router and firewall. It also uses the telephone line across the internet so it requires a modem at both ends). Leased Line must have a router , a direct connection and CSU/DSU . (Leased line is a secure and direct connection - so it doesn’t need a firewall or VPN router and should be direct (not across the internet )). Q uesto's Q uestions 3.4 - Connection Methods: 1a. What is the definition of a LAN ? [ 2 ] 1b. Describe two benefits of using a wired Ethernet LAN . [ 4 ] 2. What is the definition of a MAN ? [ 2 ] 3a. What is the definition of a WAN ? [ 2 ] 3b. What is the difference between a contended and an uncontended network? [ 2 ] 3 c. Describe the differences between a leased line and ADSL . You should discuss security , connection speed and contention ( contended or uncontended ) . [6 ] 3d. Describe the use of any two network devices required for either a leased line and/or for ADSL . [ 4 ] 3e. Describe the purpose of ISDN . [ 2 ] 4a. Compare the use of PSTN and Cellular methods to make telephone calls . [ 4 ] 4b. Explain 1 way that a satellite network should be used and 1 way it shouldn't be used . [ 4 ] 5. Draw a diagram to show how a leased line or ADSL network can be set up between two existing LANs. [6 ] 3.3 - Network Characteristics Topic List 3.5 - Business Systems

  • 2.3 - Additional Programming Techniques - OCR GCSE (J277 Spec) | CSNewbs

    Learn about arrays, records and SQL (structured query language) including the SELECT, FROM and WHERE commands. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR Specification: J277 2.3: Additional Programming Techniques Watch on YouTube : String Manipulation File Handling Arrays Subprograms Random Numbers SQL This section of the specification includes programming topics that are outlined in 1.2 (Designing Algorithms). You must have an understanding of more complex programming techniques , such as how to manipulate strings , handle files and use subprograms . The best practice for learning is to try the tasks in the Python pages on this website (see the link to the right). Visit the Python section of CSNewbs ---> Subprograms What is a subprogram? Large programs are often broken down into smaller subprograms (also called subroutines ). Each subprogram focuses on a specific function of the code, helping to decompose a complex problem into more manageable chunks . Defining subprograms A subprogram is defined (identified) using the def command in Python. A program may use many subprograms , which are usually defined at the start of the code . Calling subprograms Running a line of code that includes the name of a subprogram will call (activate) it. When called , the program will run the subprogram code before returning back to the line that called it . Subprograms are only run when called , so depending on decisions made, a program may end without calling every (or any) subroutine. Parameters A parameter is a value that is passed into a subprogram when it is called , allowing the value to be used within the subprogram . A subprogram may not use a parameter , e.g. multiply() , or one parameter , e.g. multiply(num) , or several e.g. multiply(num1,num2) . Any parameters must be identified when the subprogram is defined , e.g. def multiply(num): Return The return command will send a value back to the line the subprogram was called on, allowing it to be used there . For example, the 'quad' subprogram in the example below returns the value of the 'result' variable back to the main program, allowing it to be printed . A subprogram will end either by reaching the last line of code within it, or when it reaches a return command . Subprograms that return a value are called functions . Subprogram example This subprogram is defined using the identifier 'quad ' with a parameter named number . The subprogram is called in the main program, multiplies the number passed in as a parameter by 4 and returns a value back to the main program to be printed. def quad (number): result = number * 4 return result #Main Program number = int ( input ( "Enter a number: " )) print ( "The number quadrupled is" , quad(number)) Enter a number: 5 The number quadrupled is 20 Functions and Procedures There are two types of subprograms . A function is a subprogram that returns a value , using the return command, which allows the value to be used in the line of code the function was called in. The 'divide' function below returns the value of the variable 'total' to the main program to be printed. A procedure is a subprogram that does not return a value . Example of a Procedure def multiply (num): total = num * 2 print ( "The number doubled is" , total) #Main Program num = int ( input ( "Enter a number: " )) multiply(num) Enter a number: 4 The number doubled is 8 Example of a Function def divide (num): total = num / 2 return total #Main Program num = int ( input ( "Enter a number: " )) print ( "The number halved is" , divide(num)) Enter a number: 9 The number halved is 4.5 Advantages of using subprograms Subprograms break a complex program down into smaller parts , making it easier to design and test . Each subroutine can be tested separately and abstraction can be used to simplify a complicated problem . Using subprograms allows code to be easily reused in other programs , as it has already been written , making it quicker to develop new programs or build on existing work. Using subprograms avoids code repetition , as they can be called as many times as necessary . This makes programs shorter and quicker to develop , making them easier to maintain and debug . Work can easily be split up between team members to work on different subprograms at the same time . Array An array is a static data structure that can hold a fixed number of data elements . Each data element must be of the same data type i.e. real, integer, string. The elements in an array are identified by a number that indicates their position in the array. This number is known as the index. The first element in an array always has an index of 0 . You should know how to write pseudo code that manipulates arrays to traverse , add , remove and search for data . The following steps use Python as an example, although Python does not use arrays and uses a similar data structure called a list (that can change in size as the program runs ). See the 8a and 8b Python pages for tasks on how to use lists . What Traversing an Array To traverse (' move through ') an array a for loop can be used to display each data element in order. Example code for traversing: Output: 'Inserting' a value In an array the size is fixed so you cannot insert new values, but you can change the value of elements that already exist. Overwriting the fourth element (Daphne) with a new value (Laura) will change it from Daphne to Laura. Example code for inserting: Output: 'Deleting' a value In an array the size is fixed so you cannot delete values, but you can overwrite them as blank . Overwriting the second element (Shaggy) with a blank space makes it appear deleted. Example code for deleting: Output: Searching an Array For large arrays a for loop is needed to search through each element for a specific value . This example checks each name to see if it is equal to Velma. Example code for searching: Output: Two-Dimensional Array Often the data we want to process comes in the form of a table . The data in a two dimensional array must still all be of the same data type , but can have multiple rows and columns . The two-dimensional array to the right shows the characters from Scooby Doo along with their associated colour and their species. Each value in the array is represented by an index still, but now the index has two values . For example [3] [0] is 'Daphne'. Unless stated in an exam , measure row first , then column . Searching a two-dimensional array: To print a specific data element you can just use the index number like Daphne above. To search for a specific value you will need two for loops , one for the row and another for the values of each row . The example to the right is looking for the value of ' Velma ' and when it is found it prints the associated data from the whole row . Example code for printing: Output: Example code for searching: Output: Records Unlike arrays, records can store data of different data types . Each record is made up of information about one person or thing . Each piece of information in the record is called a field (each row name). Records should have a key field - this is unique data that identifies each record . For example Student ID is a good key field for a record on students as no two students can have the same Student ID. A 2D array may be used to represent database tables of records and fields . SQL SQL (structured query language ) is a language that can be used to search for data in a database . The format of an SQL statement is: SELECT field1, field2, field3… FROM table WHERE criteria Example of an SQL statement using the Cars table: SELECT Make, Colour FROM Cars WHERE Miles > 1000 AND Age > 8 Cars table SQL uses wildcards which are symbols used to substitute characters . The * symbol represents ALL fields . Example: SELECT * FROM Cars WHERE Colour = “blue” < Click the banner to try a self-marking quiz (Google Form) about records and SQL. Q uesto's Q uestions 2.3 - Additional Programming Techniques: 1a. Describe what the following terms mean: subprogram , parameter , function , procedure . [ 2 each ] 1b. Describe three advantages of using subprograms . [ 6 ] 2. Describe the differences between a 1D array , 2D array and record . [ 3 ] 3. A one-dimensional array looks like this: TigerBreeds["Sumatran","Indian","Malayan,"Amur"] Write the code to: a. Print the element with the index of 3. [ 2 ] b. Change Indian to South China. [ 2 ] c. Remove the Amur element. [ 2 ] d. Search through the array for 'Malayan'. [ 2 ] 4a. Use the Cars table above to write the SQL statement to display the make and miles for cars that are grey OR blue . [ 3 ] 4b. Write an SQL statement to display all fields for cars that are 10 years old or less . [ 3 ] 2.2 Data Types Theory Topics 3.1 - Defensive Design

  • 3.1a - 3.1d - Algorithm Complexity | OCR A-Level | CSNewbs

    Learn about pseudocode, procedural programming, big O notation (constant, linear, polynomial (quadratic), exponential, linearithmic and logartihmic) and the complexity of different data structure, sorting and searching algorithms. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 3.1a - 3.1d - Algorithm Complexity Watch on YouTube : Pseudocode Procedural programming Big O notation Algorithm complexity Pseudocode Pseudocode is a simplified , language-independent way of writing algorithms that looks like programming but uses plain English to describe the steps clearly without worrying about exact syntax . The OCR A-Level Computer Science course uses a form of pseudocode unique to the exam board called 'OCR exam reference language ' that all code in exams will be written in . OCR exam reference language uses closing commands such as endif for an if statement and endwhile for a while loop . It also uses the word then instead of a colon like in Python . YouTube video uploading soon Procedural Language A procedural language , such as Python or Java , is a programming language that structures programs as sequences of step-by-step instructions grouped into procedures or functions . It focuses on breaking tasks into smaller , reusable blocks of code that operate on data , making programs easier to write , understand and maintain . This topic is in both Paper 1 and Paper 2 . YouTube video uploading soon Big O Notation O(n) Big O Notation is a way of describing how the time complexity (how long an algorithm takes ) and space complexity (how much memory it uses ) grows as the size of the input increases . This allows algorithms to be compared in terms of efficiency , using the letter n to refer to the size of the input . Complexity types: Constant - O(1) - The algorithm’s time or space stays the same no matter how large the input is . Linear - O(n) - The time or memory grows directly in proportion to the size of the input . Polynomial - O(n²) - The growth increases in proportion to the square of the input , often seen in algorithms with nested loops . Exponential - O(2ⁿ) - The time or memory doubles with each additional input element , becoming extremely slow very quickly . Logarithmic - O(log n) - The algorithm’s time grows very slowly as the input size increases , often achieved by repeatedly halving the data . Linearithmic - O(n log n) - A combination of linear and logarithmic behaviour, common in efficient sorting algorithms like merge sort . YouTube video uploading soon Algorithm Complexity Best-case , average-case and worst-case complexity describe how an algorithm performs under different input conditions . Best-case complexity is the time or space required when the algorithm meets the most favourable input , allowing it to finish as quickly or efficiently as possible . Average-case complexity represents the expected performance across typical or random inputs , giving a realistic view of how the algorithm behaves in normal use . Worst-case complexity is the maximum time or space the algorithm could ever require , used to guarantee performance even in the least favourable situation . Sorting and searching algorithms often have different case complexities for time and space . YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Pseudocode Procedural Language: input, output, comments, variables, casting, count-controlled iteration, condition-controlled iteration, logical operators, selection, string handling, subroutines, arrays, files Big O Notation: time complexity, space complexity, constant, linear, polynomial, exponential, logarithmic, linearithmic, best-case, average-case, worst-case D id Y ou K now? Minecraft doesn’t load the entire world at once ; instead, it divides the world into chunks and only generates or loads the chunks near the player . Finding , saving and retrieving these chunks uses data structures like trees and hash maps , which allow the game to look up a chunk in about O(log n) or even O(1) time , minimising lag even in large worlds . 2.2 - Computational Methods A-Level Topics 3.1e - Data Structure Algorithms

  • Python | 1d - Using Variables | CSNewbs

    Learn how to use variables in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 1d - Using Variables Printing Variables Within Sentences Join sentences and variables together using a plus symbol (+ ). Joining strings together like this is called concatenation . name = "Marina" print( "Hello " + name + ", nice to meet you." ) = Hello Marina, nice to meet you. Remember to use speech marks for your printed statements but no speech marks for variable names . You need to use the + symbol before and after each variable. direction = "north" country = "Wales" print ( "Have you been to the " + direction + " of " + country + "?" ) = Have you been to the north of Wales? Commas can be used an alternative to the + symbol but they will automatically add a space . day = "Saturday" print ( "My birthday is on a" + day + "this year." ) print ( "My birthday is on a" , day , "this year." ) = My birthday is on aSaturdaythis year. My birthday is on a Saturday this year. Using Variables Task 1 ( Pizza Toppings) Use a variable named topping1 and another named topping2. Print a sentence that uses both variables names. Example solution: My favourite pizza is ham and mushroom. Printing Number Variables Within Sentences To join strings and number values then you must use a comma as a plus will not work: cookies = 4 print ( "Munch! There's only" , cookies , "left." ) = Munch! There's only 4 cookies left. You need to use a comma before and after each variable. Using Variables Task 2 ( Stars ) Make a variable named stars and set it to a large number. Print a sentence with the stars variable. Example solution: I think there are 827392012 stars in the sky! Using Variables Task 3 ( Age & Month) Use a variable named age and set it to your current age. Make a variable named month and set it to the month you were born. Remember to use speech marks for text , e.g. month = "August" but no speech marks for numbers (your age). Print a sentence that uses both variables names . Example solution: I am 14 and I was born in August. Using f-Strings Another method of using variables within a printed sentence is to use f-strings . Type the letter f before your output and place your variable names in curly brackets - { } Variables of any data type can be used with f-strings. name = "Tony Stark" alias = "Iron Man" print( f"Did you know {name} is actually {alias} ?" ) = Did you know Tony Stark is actually Iron Man? Using Variables Task 4 ( F-Strings) Create and give a value to three variables : movie_name actor year Use an f-string to print a sentence that uses all three variables. Example solution: Did you know that Harry Potter and the Order of the Phoenix stars Daniel Radcliffe and was released in 2007? ⬅ 1c - Creating Variables Sec tion 1 Practice Tasks ➡

  • 3.9 - Protection Against Threats - GCSE (2020 Spec) | CSNewbs

    Learn about network forensics, penetration tests and methods of protection including anti-malware, firewalls, encryption and two-factor authentication. Based on the 2020 Eduqas (WJEC) GCSE specification. 3.9: Protection Against Threats Exam Board: Eduqas Specification: 2020 Network Forensics & Penetration Testing What is network forensics? Network forensics is the monitoring of a network to identify unauthorised intrusions . Network forensics is used to record and analyse attacks on a network and to gather other information about how the network is performing. It is important for organisations to identify weaknesses in their networks so that they can fix them and be prepared for any type of attack or malware. Footprinting - Footprinting is one method of evaluating a network’s security . This is when a security team puts itself in the attacker’s shoes by obtaining all publicly available information about the organisation and its network . Footprinting allows the company to discover how much detail a potential attacker could find out about a system. The company can then limit the technical information about its systems that is publicly available . Penetration Tests Penetration tests are carried out as part of ethical hacking. Ethical hacking is when an organisation gives permission to specific 'good ' hackers to try and attack a system so that the weak points can be highlighted and then fixed. The purpose of a penetration test is to review the system's security to find any risks or weaknesses and to fix them . There are four main types of penetration tests : Internal tests are to see how much damage could be done by somebody within the company with a registered account. External tests are for white hat hackers to try and infiltrate a system from outside the company . Blind tests are done with no inside information , to simulate what a real attacker would have to do to infiltrate the system. + Targeted tests are conducted by the company's IT department and the penetration team cooperating together to find faults in the system. Anti-Malware & Firewalls Anti-Malware Software Anti-malware software is used to locate and delete malware, like viruses, on a computer system. The software scans each file on the computer and compares it against a database of known malware . Files with similar features to malware in the database are identified and deleted . There are thousands of known malware, but new forms are created each day by attackers, so anti-malware software must be regularly updated to keep systems secure. Other roles of anti-malware software: Checking all incoming and outgoing emails and their attachments . Checking files as they are downloaded . Scanning the hard drive for viruses and deleting them . Firewall A firewall manages incoming and outgoing network traffic . Each data packet is processed to check whether it should be given access to the network by examining the source and destination address . Unexpected data packets will be filtered out and not accepted to the network. Other roles of a firewall include: Blocking access to insecure / malicious web sites . Blocking certain programs from accessing the internet . Blocking unexpected / unauthorised downloads . Preventing specific users on a network accessing certain files . Other Methods of Protection Double Authentication Also known as two-factor authentication (2FA ), this is a method of confirming someone's identity by requiring two forms of authorisation , such as a password and a pin code sent to a mobile. 4392 Secure Passwords Usernames must be matched with a secure password to minimise the chances of unauthorised users accessing a system. Passwords should contain a mix of uppercase and lowercase letters , punctuation and numbers . Passwords should be of a substantial length (at least 8 characters) and should be regularly changed . ******** User Access Levels Access levels are used to only allow certain users to access and edit particular files. ' Read-Only ' access is when a user can only view a file and is not allowed to change any data . For example, a teacher might set homework instructions as read-only for students to view. ' Read and Write ' access allows a user to read and edit the data in a file. For example, a teacher might set an online workbook as read and write access for students to fill in. It is important to set access levels so that only authorised users can view and change data. The more users who have access to a file, the more likely it is to be compromised. Certain users may also have no access to a file - when they can't view or edit it. 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. A very simple method of encryption is to use the XOR logical operator . XOR is used on the plaintext and key together to create the ciphertext . Using XOR again on the ciphertext and key will reverse the encryption to reveal the plaintext . Encryption using XOR Plaintext = 00110100 Key = 10100110 XOR Ciphertext = 10010010 Decryption using XOR Ciphertext = 10010010 / Key = 10100110 XOR Plaintext = 00110100 Q uesto's Q uestions 3.9 - Protection Against Threats: 1a. What is network forensics ? Why is it important ? [ 3 ] 1b. Explain what is meant by footprinting and why companies do it . [ 2 ] 2. What is an ethical hacker ? [2 ] 3a. Describe the purpose of penetration tests . [2 ] 3b. Describe each type of penetration test . [ 8 ] 4. Describe the purpose of anti-malware software and its different roles . [ 4 ] 5. Describe the purpose of a firewall and its different roles . [ 4 ] 6a. Describe double authentication . [2 ] 6b. State three rules for choosing a strong password . [ 3 ] 7. Describe the three types of access level . [6 ] 8a. Describe the purpose of encryption . [ 2 ] 8b. Explain how encryption works, using the terms plaintext , key and ciphertext . [ 4 ] 3.8 - Cyber Threats Theory Topics 4.1 - Number Systems

  • 1.2 - The FDE Cycle - Eduqas GCSE (2020 spec) | CSNewbs

    Learn about the seven steps of the fetch-decode-execute cycle and important registers in the CPU. Based on the 2020 Eduqas (WJEC) GCSE specification. 1.2: The FDE Cycle Exam Board: Eduqas Specification: 2020 The Fetch - Decode - Execute (FDE) cycle is performed by the CPU millions of times every second. This cycle is how the CPU processes data and instructions for each program or service that requires its attention. Important Registers A register is a small storage space for temporary data in the CPU . Each register has a specific role . There are five essential registers used in the FDE cycle : Program Counter (PC) A register that tracks the RAM address of the next instruction to be fetched . Memory Address Register (MAR) A register that tracks the RAM address of the instruction that is to be fetched . Memory Data Register (MDR) The MDR stores the instruction that has been transferred from RAM to the CPU . Current Instruction Register (CIR) A register that stores the instruction that has been fetched from RAM , and is about to be decoded or executed . Accumulator (ACC) The ACC stores the result of mathematical or logical calculations . Fetch - Decode - Execute Cycle The essential idea of the FDE cycle is that instructions are fetched from RAM , to be decoded (understood) and executed (processed) by the CPU . 1. The Program Counter (PC ) register displays the address in RAM of the next instruction to be processed . This value is copied into the Memory Address Register (MAR ). 0054 2. The PC register is increased by 1 . This prepares the CPU for the next instruction to be fetched. 0055 3. The CPU checks the address in RAM which matches the address held in the MAR . 0054 4. The instruction in RAM is transferred to the Memory Data Register (MDR ). 5. The instruction in the MDR is copied into the Current Instruction Register (CIR ). MDR MDR CIR 6. The instruction in the CIR is decoded (understood) and executed (processed). Any result of an execution is stored in the Accumulator (ACC ) register. CIR ACC 7. The cycle repeats by returning to the first step and checking the program counter for the address of the next instruction . Q uesto's Q uestions 1.2 - The Fetch - Decode - Execute (FDE) Cycle: 1 . What is the purpose of the registers ? [1 ] 2 . Describe the purpose of each register : a. The Program Counter (PC) [ 1 ] b. The Memory Address Register (MAR) [ 1 ] c. The Memory Data Register (MDR) [ 1 ] d. The Current Instruction Register (CIR) [ 1 ] e. The Accumulator (ACC) [ 1 ] 3. Draw a diagram of the seven steps of the Fetch - Decode - Execute cycle . [7 ] 1.1 - The CPU 1.3 - Primary Storage Theory Topics

  • 8.3 - Writing Algorithms - Eduqas GCSE (2020 Spec) | CSNewbs

    Learn about how to write algorithms, including pseudocode and the different flowchart symbols. Based on the 2020 Eduqas (WJEC) GCSE specification. 8.3: Writing Algorithms Exam Board: Eduqas Specification: 2020 Pseudocode Reminder 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 Writing Algorithms In an exam you may be asked to write an algorithm using pseudocode . Previous exams have offered up to 10 marks for a single algorithm . While this may seem daunting, it means you can still gain marks for an incomplete program , so don't leave it blank no matter what! You must decompose the problem and break it down into more manageable chunks . Here's an example question : “A teacher is marking tests. Write an algorithm that allows the teacher to input the number of tests to mark and then the mark of each test. Output the average mark, highest mark and lowest mark. The tests are marked out of 100.” This specific algorithm can be broken down into pre-code and three main parts : Part 0: Declare and assign variables. Part 1: Input the number of tests to mark. Part 2: Input the mark of each test. Part 3: Output the average, lowest and highest marks. Part 0: Variables Read the question carefully and work out the variables you will need in your algorithm. I have highlighted them in blue below: “A teacher is marking tests. Write an algorithm that allows the teacher to input the number of tests to mark and then the mark of each test . Output the average mark , highest mark and lowest mark . The tests are marked out of 100.” There is an additional variable to track as the average mark can only be worked out if we also know the total marks . number_of_tests is integer test_mark is integer average_mark is real highest_mark is integer lowest_mark is integer total is integer number_of_tests = 0 test_mark = 0 average_mark = 0 highest_mark = -1 lowest_mark = 101 total = 0 Before you write the actual program, you must declare the variables you will need and assign values to them. Firstly, declare the data type of each variable . A whole number is an integer and a decimal number is a real . The average must be a real data type because it is the result of division (total ÷ number_of_tests) and could be a decimal number . When assigning values, most numerical variables will be 0 . Most string values would be " " . However this question is a bit more complicated - the highest mark must start as a really low value and the lowest mark must start as a really high value . This is ensure the first mark entered becomes the highest and lowest mark - this will make sense later. Part 1: Input Number of Tests output “Enter the number of tests to mark: ” input number_of_tests After declaring and assigning your variables the next parts will depend on the algorithm you need to write. This example requires the user to input the number of tests . Part 2: Input Each Mark (Loop) for i = 1 to number_of_tests output “Enter the test mark: ” input test_ mark For part 2 we need the teacher to enter each test’s mark . This is best done as a loop as we do not know how many tests the teacher has to mark until they have typed it in (part 1). All code within the loop must be indented . if test_mark > highest_mark then highest_mark = test_mark endif if test_mark < lowest_mark then lowest_mark = test_mark endif We also need to work out what the highest and lowest marks are. This must be done within the loop as the test marks are entered. The test mark is compared to the current highest and lowest marks . If it is higher than the current highest mark it becomes the new highest mark . If it is lower than the current lowest mark it becomes the new lowest mark . This is why we set the highest_mark and lowest_mark to extreme values at the start - so the first mark entered becomes the new highest and lowest . total = total + test_mark next i The final steps of part 2 are to update the total marks and to close the loop . The total is increased by the test mark that has been entered. The ‘next i ’ command states that the current iteration has ended . The indentation has now stopped. Part 3: Outputs average_mark = total / number_of_tests output “The average mark is:” , average_mark output “The highest mark is:” , highest_mark output “The lowest mark is:” , lowest_mark Before the average can be output, it must be calculated by dividing the total by the number of tests . Then the average , highest and lowest marks can be output . Full Answer number_of_tests is integer test_mark is integer average_mark is real highest_mark is integer lowest_mark is integer total is integer number_of_tests = 0 test_mark = 0 average_mark = 0 highest_mark = -1 lowest_mark = 101 total = 0 output “Enter the number of tests to mark: ” input number_of_tests for i = 1 to number_of_tests output “Enter the test mark: ” input test_ mark if test_mark > highest_mark then highest_mark = test_mark endif if test_mark < lowest_mark then lowest_mark = test_mark endif total = total + test_mark next i average_mark = total / number_of_tests output “The average mark is:” , average_mark output “The highest mark is:” , highest_mark output “The lowest mark is:” , lowest_mark This example is slightly more complicated than some of the recent previous exam questions for writing algorithms. Remember to decompose the problem by identifying the variables you need first. Q uesto's Q uestions 8.3 - Writing Algorithms: 1. A violin player performs a piece of music 8 times . They record a score out of 5 how well they think they performed after each attempt. Write an algorithm using pseudocode that allows the violinist to enter the 8 scores and displays the highest score , lowest score and average score . An example score is 3.7. [10 ] 2. A cyclist wants a program to be made that allows them to enter how many laps of a circuit they have made and the time in seconds for each lap . For example they may enter 3 laps, with times of 20.3 , 23.4 and 19.8 seconds . The program should output the quickest lap time , slowest lap time , total amount of time spent cycling and the average lap time . Create an algorithm using pseudocode for this scenario. [10 ] 8.2 - Understanding Algorithms Theory Topics 8.4 - Sorting & Searching

  • 6.1 - Operating Systems - Eduqas GCSE (2020 Spec) | CSNewbs

    Learn about the eight roles of an operating system including CPU management, security, managing interrupts and the user interface. Based on the 2020 Eduqas (WJEC) GCSE specification. 6.1: Operating Systems Exam Board: Eduqas Specification: 2020 What is an Operating System? An operating system (OS ) is software that helps to manage the resources of a computer system . There are eight main roles of an operating system: Manage the CPU A critical role of the OS is to manage the CPU so that applications and processes can be run efficiently . The CPU is effectively managed by performing three further roles: Manage Memory (RAM) The OS reserves memory space in RAM for stored programs to be copied into. The FDE cycle is executed continuously to carry out the instructions. The OS also ensures that programs are appropriately managed so that data is stored in correct memory locations and not corrupted . Manage Interrupts A interrupt is an alert signal sent to the CPU when an application or hardware device requires immediate attention . The OS must efficiently manage interrupts so that a problem can be dealt with quickly if one occurs. Manage Multi-Tasking The OS manages tasks so instructions can be executed by the CPU in turn - this is called scheduling . The OS prevents processes from interfering with others and crashing. Tasks should appear to run simultaneously even though only one process can be executed at a time. Manage Backing Store The backing store is another term for secondary storage devices such as the magnetic hard disk drive , optical drives or solid state memory sticks. The OS ensures data is stored correctly and can be efficiently retrieved from the backing store. Files are organised in a hierarchical (logical) structure . Manage Peripherals A peripheral is an external device connected to a computer system to input or output data . The OS manages the receiving of data from input devices (such as a keyboard or mouse) and the transfer of data to output devices (such as a monitor or speaker). Manage Security The OS allows users to create, manage and delete accounts with different permissions. It also permits multiple users to log in and change passwords . Antivirus and firewall software is managed by the OS as well as some data encryption processes. Manage the User Interface The final function of an operating system is to provide a user interface , allowing a human to interact with the computer system . The way in which a user can navigate a computer system is known as human-computer interaction ( HCI ). Graphical User Interface (GUI) The most common type of user interface is a graphical user interface (GUI ) which can be presented in the following ways: Icons are displayed to represent shortcuts to applications and files. Multiple windows can be opened at the same time and switched between. A folder and file system is displayed and manipulated allowing for copying , searching , sorting and deleting data. The interface can be customised , such as changing font sizes and the desktop background . The taskbar allows shortcuts to be pinned for quick access . Menus can be opened from the Start button to display files and shortcuts. System settings can be accessed such as network and hardware options . Q uesto's Q uestions 6.1 - Operating Systems: 1. Describe each role of the operating system : 1. Manage the CPU [ 2 ] 2. Manage memory [ 2 ] 3. Manage interrupts [ 2 ] 4. Manage multi-tasking [ 2 ] 5. Manage backing store [ 2 ] 6. Manage peripherals [ 2 ] 7. Manage security [ 2 ] 8. Manage the user interface [ 2 ] 2. Describe 5 different ways the operating system can provide a graphical user interface (GUI) . [5 ] 3. Describe two advantages and two disadvantages of using the following types of human-computer interaction (HCI) : a. Command-Line interface [ 4 ] b. Touch-Sensitive interface [ 4 ] c. Menu-Driven interface [ 4 ] d. Voice-Driven interface [ 4 ] Command-Line Interface Other types of user interface do exist, such as a command-line interface (CLI ). This type of interface is entirely text-based and requires users to interact with the system by typing commands . This is a complicated process and mistakes could easily accidentally delete data. There are many commands to learn so only experts who have been trained t o learn this interface will be able to efficiently make use of it. Menu-Driven Interface A menu-driven interface displays data in a series of linked menus . Examples include cash machines (ATMs) and old iPods . This type of interface is generally user friendly and easy to use as commands do not need to be memorised. However it can be annoying to find specific data through a large number of menus without a search feature. Touch-Sensitive Interface Another type of user interface is a touch-sensitive interface , used with smartphones and tablets . A human interacts with the device by pressing on a touchscreen , making it very intuitive and suitable for most users without training. Touch-sensitive interfaces may not work with dirty or wet fingers and it will take longer to write text compared to using a keyboard. Voice-Driven Interface A voice-driven interface can be controlled by speaking commands aloud to a listening device. Examples include Amazon's Alexa devices, Apple's Siri technology and Google Home . This interface is intuitive , can be used hands-free and helps to speed up processes . However commands may be misheard or limited in what can be performed. 5.1 - Data Structures Theory Topics 6.2 - Utility Software

  • Python | Section 6 Practice Tasks | CSNewbs

    Test your understanding of for loops and while loops in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 6 Practice Tasks Task One: Odd Numbers Use a for loop to print all odd numbers between 50 and 70 . You will need to use three values in the range brackets, including a step . Requirements for full marks: A comment at the start to explain what a for loop is. Use just two lines of code. Example solution: 51 53 55 57 59 61 63 65 67 69 Task Two: Fish Rhyme Use two separate for loops and some additional print lines to output this nursery rhyme: "1, 2, 3, 4, 5, Once I caught a fish alive, 6, 7, 8, 9, 10 then I let it go again" in the format shown . Requirements for full marks: Two for loops and two additional print lines (6 lines total). Example solution: 1 2 3 4 5 Once I caught a fish alive. 6 7 8 9 10 Then I let it go again. Task Three: Username & Password Create a program using a while loop that keeps asking a user to enter a username and a password until they are both correct . It may be easier to use a while True loop . You will need to use the and command in an if statement within the loop. Requirements for full marks: A comment at the start to explain what a while loop is. Example solution: Enter username: Ben43 Enter password: hamster Incorrect, please try again. Enter username: Ben44 Enter password: ben123 Incorrect, please try again. Enter username: Ben43 Enter password: ben123 Correct Correct login. Welcome Ben43 Task Four: Colour or Number Use a while True loop to let the user enter either A , B or C . A lets them guess a secret colour . B lets them guess a secret number . C breaks the loop , ending the program. Example solution: Enter A to guess a colour, B to guess a number, C to quit: A Guess the colour: green Incorrect! Enter A to guess a colour, B to guess a number, C to quit: A Guess the colour: pink Correct! Enter A to guess a colour, B to guess a number, C to quit: B Guess the number: 4 Incorrect! Enter A to guess a colour, B to guess a number, C to quit: C Quitting program... ⬅ 6b - W hile Loops 7a - Procedures ➡

  • 4.2 - Signed Binary - Eduqas GCSE (2020 Spec) | CSNewbs

    Learn about two methods of representing negative numbers in binary - sign and magnitude and two's complement. Based on the 2020 Eduqas (WJEC) GCSE specification. 4.2: Signed Binary Exam Board: Eduqas Specification: 2020 What are Sign and Magnitude and Two's Complement? Sign and Magnitude and Two's Complement are both methods of writing positive and negative binary values . Sign and Magnitude is simpler but will cause incorrect answers if used in binary calculations . Two's Complement is more complex but will generate correct answers when used in binary calculations . Sign & Magnitude The most significant bit (MSB ) is the largest bit of a binary number - the one furthest to the left . The MSB is the sign - it represents whether the binary value is positive or negative . If the sign is 0 then the binary number is positive . If the sign is 1 then the binary number is negative . The other bits represent the magnitude - the value of the binary number. For an 8-bit binary number , the range is -127 to 127 , because only 7 bits are used to define the magnitude. Sign & Magnitude: Problems Sign and magnitude is not commonly used by computers for two main reasons: Performing binary addition and subtraction (see section 4.3 ) will often cause a wrong result . In the example below, -7 + 3 should equal -4 but the result given is 2. + Sign and magnitude creates two different values for 0 - positive 0 and negative 0 which is incorrect. Two's Complement Two's complement is a method of representing positive and negative binary values. It is used often by computers because binary calculations will work correctly and there is only one value for zero. Two's Complement: Denary to Binary To represent a negative value using two's complement follow these steps: Write out the positive value in binary . Start on the right-hand side and move along, copy all 0s until you get to the first 1 . The first 1 is copied too. After the first 1 invert each value (change to its opposite ). So 0 becomes 1 and 1 becomes 0 . 1. 2. 3. Two's Complement: Binary to Denary To convert a binary number to denary using two's complement you must remember that the MSB is a negative value . Just add the numbers with 1 together to work out the denary value . Q uesto's Q uestions 4.2 - Signed Binary: Sign & Magnitude 1. Using sign and magnitude , convert the following values to denary : a. 00011101 b. 11100011 c. 10110110 d. 01001111 [1 each ] 2. Using sign and magnitude , convert the following values to binary : a. 83 b. -13 c. -102 d. -24 [1 each ] 3. Describe two problems when using sign and magnitude . [ 4 ] 4. Using sign and magnitude , the range of numbers that can be represented in 6 bits is from - 31 to + 31 . State the range of numbers that can be represented using sign and magnitude in the following bits: a. 8 bits b. 4 bits [1 each ] Two's Complement 1. Using two's complement , convert the following values to binary : a. -20 b. -49 c. -87 d. -113 [2 each ] 2. Using two's complement , convert the following values to denary : a. 10110010 b. 11101110 c. 01101011 d. 10011111 [2 each ] Watch the video to learn how sign and magnitude is used to represent negative numbers in binary . Watch the video to learn how two's complement is used to represent negative numbers in binary . Watch on YouTube Watch on YouTube 4.1 - Number Systems Theory Topics 4.3 - Binary Calculations

  • HTML Guide | CSNewbs

    Learn how to create your own web page in HTML. The guide features 10 easy to follow steps from setting up the basic tags to adding images, videos and more pages. When you see the checklist icon, complete the task in order to make your own HTML web page. HTML Guide 1. Setting up the web page 2. Essential tags 3. Text tags 4. Hyperlinks 5. Images 6. Organisation tags 7. Head tags 8. Videos 9. Colours & Fonts 10. More pages Watch on YouTube: These steps will show you how to make a HTML fanpage so get thinking of an appropriate topic - maybe your favourite book, movie or sports team? Download Notepad++ at home

© CSNewbs 2026

The written, video and visual content of CSNewbs is protected by copyright. © 2026
bottom of page