Search CSNewbs
Search this site
305 results found with an empty search
- Python | Extended Task 7 | CSNewbs
Test your ability to create a more complex program in Python based on a given scenario. Perfect for students learning GCSE Computer Science in UK schools. Extended Task 7 'Guess the Number' Multiplayer Game A primary school teacher wants to create a fun activity for their students to play when it is raining and they have to stay inside during break and lunch. Five pupils can play the game at once. Each player chooses a number between 1 and 100 . Then a random number is generated. Whoever was furthest from the random number is out of the game . The four remaining players then pick a new number . This continues with one player being removed each round until only one player is left and they are the winner. Add your own flair and additional features to your program as an extension, including preventing the same number being chosen by multiple players . For this task, you will need to create a document and include the following sections (with screenshots where appropriate): An introduction to explain the Purpose of your program . A List of Requirements for a successful program. Screenshots of your code (with comments in your code to show understanding). Testing – Create a plan to show how you will test your program and then explanations of any errors that you found and how they were fixed . An Evaluation of what worked, what didn’t, and how you met each of your requirements from your original list. Also, discuss further improvements that you could have made to improve your program. Reminders for this task: You will need to use loops to allow the users to enter their numbers. You may wish to use subroutines to decompose the problem into separate rounds. You will need to import the random library to generate a random number in each round. You will need to compare each number to the randomly selected answer using comparison operators such as > and <. There are multiple ways to approach this program, and your solution might look different from the example. Break the problem down and focus on one part at a time. Example solution: Introduction & Round One Round Two ⬅ Extended Task 6 (Word Game)
- 6.3 - Impacts | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the negative impacts that data loss will have on an organisation including reputation loss, fines and possible bankruptcy. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 6.3 - Impacts Exam Board: OCR Specification: 2016 - Unit 2 If a risk to data (see 6.2 ) occurs then there are a number of different impacts that may consequently negatively affect an organisation . Loss of Intellectual Property 'Intellectual property ' refers to anything that an organisation or individual has designed, developed or created themselves . For an individual, this could be a manuscript , artwork or piece of music . For an organisation, it could be primary data they have collected, blueprints for an upcoming design or a report following data analysis. The impact of having intellectual property lost depends on the property itself and how easy it would be for the victim to recreate or recollect the data . Competitors that stole intellectual property could use it at their advantage. Also, the effect of an upcoming announcement to the public would decrease if it was leaked ahead of time. In 2017 HBO suffered large property leaks when Game of Thrones episodes were stolen before air date resulting in pirated versions appearing online well before they were due to be shown on TV. Loss of Service and Access If usernames and passwords are stolen then individuals may be unable to access services that they have paid for, an example being if WiFi details were stolen so that a hacker can access the internet using someone else's account. If a hacker is permitted access to a system they can change the account settings such as the password to lock out the original owners of that account, leaving them without access. Other services can be targeted with malicious attacks like a DDOS attack so that users cannot log into a web page or online service. If users cannot access an account they may use alternative methods and providers , such as avoiding one type of cloud storage provider that has let them down and choosing another. Breach of Confidential Information Confidential information is of a highly sensitive nature and could lead to other negative impacts if it got into the hands of unauthorised people . Confidential information, such as medical histories, should be stored securely with multiple physical and logical protections in place to ensure that it keeps its integrity . If confidential information was breached then it could lead to a loss of reputation as the holder would be regarded as ineffective at protecting the data . Legal consequences would also follow as the Data Protection Act ( 2018 ) would be broken : fines, court cases and even imprisonment would be possible further impacts. An organisation would expect to see penalties from the Information Commissioner's Office (ICO) if they failed to protect personal details by breaking the DPA . Loss of Third Party Data Many organisations will store data not only for their own purposes but for other individuals and businesses too; a key example being cloud storage providers . Users can store data on public cloud services such as Google Drive or DropBox and access their information using the internet from any networked device they please. If services like cloud storage services are hacked or taken offline (e.g. because of an attack or network problems) and data is lost then customers, especially those that pay, will be furious. This will lead to a loss of reputation, trust and even legal proceedings if personal and sensitive data is lost. Larger businesses will use private cloud storage, hosted in data centres that they maintain themselves, to avoid relying on third parties . Loss of Reputation Organisations spend years to build up a reputation where customers trust them and want to use their products or services. Data loss can immediately destroy that reputation and cause once-loyal customers to look elsewhere and choose their competitors . Failing to keep data safe means that an organisation has been unable to follow their legal and moral duty of keeping information secure and could lead to a loss of trade , resulting in reduced earnings and sales . Identity Theft If an individual's personal information is stolen by attackers then one impact is identity theft - when the attacker uses the victim's data for fraud or impersonation . Identity theft can lead to financial loss to the victim if loans , products or services are purchased in their name . The victim may have to contact their bank and other organisations to cancel transactions and there is no guarantee their money will be returned. Credit checks may be affected, leading to future financial difficulty for the victim. Threat to National Security If data of a classified nature (such as military arrangements, security weak-points or upcoming government plans) is lost and falls into the hands (most probably by hacking) of those who intend to bring harm to the country then the consequences can be disastrous. Spies of foreign countries or terrorists could use classified information to target vulnerable locations or events resulting in casualties. Threats could also be economic in nature if large amounts of money are stolen or redirected to malicious bodies. Recent Examples of Security Failure Q uesto's Q uestions 6.3 - Impacts: 1. Describe how each of the impacts above could affect a bank storing large amounts of customer data including financial records. [12 ] 2. Research three recent hacking examples . For each situation describe the impacts that occurred as a result of data loss . [12 ] Click the icons to read BBC News articles about recent examples of hacks and security breaches . Virgin Media Boots Marriott Hotels Facebook Messenger 6.2 - Risks Topic List 6.4 - Protection Measures
- 8.4 - Validation & Verification - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about the six main validation checks - range, type, length, format, lookup table and presence. Also, discover three verification checks - double entry, proof-reading and check digits. Based on the 2020 Eduqas (WJEC) GCSE specification. 8.5: Validation & Verification Exam Board: Eduqas Specification: 2020 What are validation and verification checks? Validation is a process to check that data is reasonable or sensible before it is accepted . Verification is the process of checking that data is correct after it has been entered. Validation Checks 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/2001 25th March 01 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 Verification Checks Double Entry Typing in the data twice to make sure there were no spelling errors the first time. Password: fluffythecat123 flufythecat123 Proofreading Checking two copies of data to ensure they are exactly the same . Check Digit Similar to a checksum in a data packet, a check digit is calculated on barcodes to ensure the rest of the numbers are correct . Address: 11 Cherry Lane 11 Cherry Road Confirm Q uesto's Q uestions 8.4 - Validation & Verification: 1. Describe each type of validation check and give an example . a. Range Check [ 3 ] b. Type Check [ 3 ] c. Format Check [ 3 ] d. Presence Check [ 3 ] e. Lookup Table (List) [ 3 ] f. Length Check [ 3 ] 2. For the following data, suggest which validation check would be most suitable and why : a. Password [ 3 ] b. Country of Birth [ 3 ] c. Number of Tickets [ 3 ] d. Weight (in kilograms) [ 3 ] 3. Describe three types of verification check and give an example : a. Double Entry [ 3 ] b. Proofreading [ 3 ] c. Check Digit [ 2 ] 8.4 - Sorting & Searching Theory Topics 9.1 - IDE Tools
- 5.1 - Data Structures - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about different data structures such as arrays, lists and records. Also, the difference between static and dynamic data structures and how to design files. Based on the 2020 Eduqas (WJEC) GCSE specification. 5.1: Data Structures & File Design Exam Board: Eduqas Specification: 2020 What is a Data Structure? A data structure is a way of efficiently organising data . There are two general forms of data structures: Static Data Structures The size of a static data structure cannot change e.g. if a data structure has 20 elements, no additional elements can be added or removed. The values of the data elements can be changed, but memory size is fixed when allocated at compile time. Because a static data structure holds a certain number of data elements they are easier to program because the size of the structure and the number of elements never change. An array is an example of a static data structure. Examples: A static data structure could be an array of teams in the Premier League. The data elements will change each year when teams are relegated and promoted but there will always be 20 teams. Dynamic Data Structures The size of a dynamic data structure can change as the program is being run , it is possible to add or remove data elements. Dynamic data structures make the most efficient use of memory but are more difficult to program , as you have to check the size of the data structure and the location of the data items each time you use the data. A list is an example of a dynamic data structure. A dynamic data structure could be a list of all teams in the Premier League that won their last match. Data elements (teams) will be added or removed across the season. Types of Data Structures List A list is a dynamic data structure that has the data elements stored in the order they were originally added to memory . Every data structure starts at 0, not 1 . Lists store data elements in the order they were added, so the first doctor is 0 and the most recent doctor is 12. An example list of the main Doctor Who actors 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 data. The following steps uses Python as an example. Traversing an Array To traverse (' move through ') an array a for loop can be used to display each data element in order. '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 traversing: Example code for inserting: Output: 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 Example code for searching: 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. 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'. We 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 round 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. Data files are made up of records with the same structure. It would be most efficient for the fields in a record to be stored next to each other so that the data can be read into the record data structure in memory for processing by the CPU. In an exam you may be asked to state and design a data structure for a given scenario. If the data structure can hold values of the same data type you should draw an array , usually a 2D array for multiple rows and columns. Remember that a record is required to store values of different data types . Example questions: "A video gamer has recorded their three lap times in four Mario Kart courses." " State and design the most suitable data structure for this data." A two-dimensional array is most suitable because only one data type ( real ) is stored. "A vet surgery stores data on all dogs and cats including the animal's name, age (in years), weight (in kg) and whether or not it has been vaccinated." " State and design the most suitable data structure for this data for four animals ." A record is most suitable because the data structure requires different data types . Q uesto's Q uestions 5.1 - Data Structures: 1. Give two differences between static and dynamic data structures . [ 4 ] 2. Describe the differences between a list , 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 ] 4. State and design the most suitable data structure for these scenarios: a. For each book in a bookshop, the staff need to record the title, author, number of pages and whether or not it is a signed copy. Include data for three books. [ 3 ] b. Four dieters are recording how many kilograms they have lost each month for 5 months. [ 4 ] 5. Design a file that stores the first initial, surname, age and hair colour of each member of a family. [ 8 ] Designing Data Structures Data is stored in files when it needs to be kept after the program has stopped running . To learn how to write code for file handling (e.g. opening, writing to, reading from and closing files) in Python click here . Designing a file requires more than just the field name (e.g. Name) and data values (e.g. Rebecca). The data type (e.g. string) and any validation checks (e.g. format check) should also be considered. Below is an example file design for a bakery. Designing Files 4.8 Compression Theory Topics 6.1 - Operating Systems
- 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
- 3.2 - Protocols | F161 | Cambridge Advanced National in Computing | AAQ
Learn about protocols including FTP, HTTP, POP, SMTP, SNMP, TCP, UDP, ICMP, IP and the TCP/IP stack. 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 3.2 - Protocols Watch on YouTube: Protocols TCP/IP Stack You need to know the role and uses of specific common protocols (FTP , HTTP , POP , SMTP , SNMP , TCP , UDP , ICMP , IP ). You also need to understand the structure , content and use of the 4-layer TCP/IP stack . What You Need to Know Common Protocols A protocol is a set of rules that determines how data is communicated between devices over a network . FTP FTP (File Transfer Protocol ) is used to transfer files between computers over a network , typically between a client and a server . It is used when uploading or downloading files from a server , such as transferring website files to a web server . HTTP HTTP (HyperText Transfer Protocol ) is used to request and transfer webpages and other web content between a web browser and a web server . It is used when accessing websites or when web-based applications communicate with servers . However, HTTPS is the secure , encrypted version commonly used today. POP POP (Post Office Protocol ) is used by an email client to retrieve emails from a mail server , traditionally storing them on the user's device . It is used when emails need to be downloaded from a mail server for access through an email application , particularly where local or offline access is required . SMTP SMTP (Simple Mail Transfer Protocol ) is used to send and transfer email messages between email clients and mail servers and between mail servers . It is required when a user sends an email , including transferring that email between mail servers on its way to the recipient . SNMP SNMP (Simple Network Management Protocol ) allows network administrators and management software to monitor and manage devices on a network to collect information about their status . It is used to monitor devices such as routers , switches , servers and printers , for example checking whether a network device is operating correctly . TCP TCP (Transmission Control Protocol ) provides reliable and ordered delivery of data packets between devices . It checks that packets arrive correctly and retransmits missing packets when necessary. It is used when accuracy and reliability are more important than speed , such as transferring files , loading webpages and sending emails . UDP UDP (User Datagram Protocol ) sends data quickly , although without checking that every piece has arrived or is in the correct order , reducing delays . It is used when speed is more important than perfect delivery , such as live video/audio , online gaming and voice calls . ICMP ICMP (Internet Control Message Protocol ) is used to send network status , diagnostic and error messages between network devices . It is required when diagnosing network problems and checking whether another device can be reached , such as when using the ping command. IP IP (Internet Protocol ) addresses and routes data packets across networks by using IP addresses to uniquely identify devices . It is used when data needs to be sent between devices across networks , with IP helping packets travel from the source towards the correct destination using an appropriate route . TCP/IP Stack The TCP/IP stack is a four-layer model that describes how data is prepared , transmitted across networks and received by applications . When sending data , it travels down through the layers . When receiving data , it travels up through the layers . Different protocols are used at specific layers of the model. Application Layer This is the top layer , where network applications and services interact with the network . It includes protocols such as HTTP , FTP , SMTP , POP and SNMP . It determines how applications communicate and exchange specific types of data across a network . Example : A web browser uses HTTP to request content from a web server . Transport Layer This layer is responsible for transporting data between devices and includes TCP and UDP . It determines how data should be delivered , including whether reliability (using TCP ) or speed (using UDP ) is more important . Example : TCP can ensure that a downloaded file arrives completely and in the correct order , while UDP can prioritise speed during an online game . Internet Layer This layer is responsible for addressing and routing packets between networks and includes protocols such as IP and ICMP . It ensures packets can travel towards the correct destination using IP addresses . Example : IP is used to route packets across the internet to the destination device . Network Access Layer This is the lowest layer , concerned with how data is physically transmitted across the network using technologies such as Ethernet (a wired connection) and WiFi . It handles communication between a device and the network it is directly connected to . Example : A laptop could transmit data wirelessly to a local router using WiFi . Q uesto's Q uestions 3.2 - Protocols: 1. What is a network protocol , and why do you think protocols are needed when devices communicate ? [ 2 ] 2. State the role of FTP , HTTP , POP , SMTP and SNMP and give an example of when each would be used. [2 each ] 3. State the role of TCP , UDP , ICMP and IP and give an example of when each would be used. [2 each ] 4. Describe the structure and purpose of each of the four layers of the TCP/IP stack . [2 each ] 5. Explain how different protocols and layers of the TCP/IP stack can work together to transfer data across a network , such as sending an email on a wired connection . [ 4 ] Online games use UDP because receiving data quickly is often more important than receiving every single packet . A tiny amount of missing data may be preferable to the game pausing while it waits for it to be resent . D id Y ou K now? 3.1 - APIs Topic List 4.1 - Security Considerations
- 2.3 - Quality of Information | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the characteristics of information and the impacts of both good and poor quality information on customers and stakeholders. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 2.3 - Quality of Information Exam Board: OCR Specification: 2016 - Unit 2 Information Characteristics Valid Information This is correct, up-to-date and complete information that fits its purpose . For example, detailed end-of-year financial data in the form of graphs. Biased Information This is technically correct, but slanted , information that presents a one-sided view . For example, end-of year financial data that focuses on profits and ignores significant losses. Relevant Information Information should be appropriate for the required purpose . Irrelevant information may get in the way of correct decision making. Accurate Information Information should be carefully selected and entirely correct , inaccurate information can lead to unwanted consequences such as higher costs and missed deadlines. Reliable Information Information from a source that can be verified and confirmed to be correct . For example, BBC News is a more reliable information source than social media posts. Information Quality The quality of information that an organisation uses will have a significant impact on further processes and decisions. Good quality information that is accurate , valid or reliable can lead to better strategic decisions , meeting deadlines and innovation . Poor quality information that is biased , inaccurate or out of date may lead to negative consequences such as loss of customer trust , fines and legal challenges . Positive Effects of Good Quality Information Reliable information received by the management team . Good quality research information. Good quality sales information. Accurate cost projection information. Informed decisions with a higher chance of success . Can lead to innovation and better understanding . Strategic decisions and planning ahead . Projects will stay within their budget . Accurate time expectations . Projects will be completed on time . Negative Effects of Poor Quality Information Biased survey with inaccurate results . Inaccurate stock information. Out of date information received by management . Inaccurate data has led to poor reviews online . Inaccurate time expectations . Misinformed decisions , not responding to customers needs . ??? Inaccurate delivery times , customers unhappy . Too much / little stock. Miss out on opportunities , possible fall in profits . Loss of customer trust , loss of customers and reputation . Financial issues . Projects take longer , cost more , stakeholders unhappy . Possible project failure . Q uesto's Q uestions 2.3 - Quality of Information: 1. Describe 5 characteristics of information . [10 ] 2. Explain 5 positive impacts of good quality information . [10 ] 3. Explain 5 negative impacts of poor quality information . [10 ] 2.2 - Information Classification 2.4 - Information Management Topic List
- 2.1 - Logical Operators - Eduqas GCSE (2020 spec) | CSNewbs
Learn about the four logical operators - NOT, AND, OR and XOR - and truth tables. Based on the 2020 Eduqas (WJEC) GCSE specification. 2.1: Logical Operators & Truth Tables Exam Board: Eduqas Specification: 2020 What is a logical operator? Inside of each computer system are millions of transistors . These are tiny switches that can either be turned on (represented in binary by the number 1 ) or turned off (represented by 0 ). Logical operators are symbols used to represent circuits of transistors within a computer. The four most common operators are: NOT AND OR XOR What is a truth table? A truth table is a visual way of displaying all possible outcomes of a logical operator. The input and output values in a truth table must be a Boolean value - usually 0 or 1 but occasionally True or False. NOT A NOT logical operator will produce an output which is the opposite of the input . NOT is represented by a horizontal line . Boolean Algebra Notation written as NOT A A Truth Table AND An AND logical operator will output 1 only if both inputs are also 1 . AND is represented by a full stop. Boolean Algebra Notation written as A AND B A.B Truth Table OR An OR logical operator will output 1 if either input is 1 . OR is represented by a plus. Boolean Algebra Notation written as A OR B A+B Truth Table XOR An XOR (exclusive OR) logical operator will output 1 if the inputs are different and output 0 if the inputs are the same . XOR is represented by a circled plus. Boolean Algebra Notation written as A XOR B A B Truth Table Multiple Operations Exam questions will ask you complete truth tables that use more than one logical operator . Work out each column in turn from left to right and look carefully at which column you need to use. Simplification You may be asked to use a truth table to simplify an expression . This is actually really easy. Once you've completed the truth table see if any columns match the final expression . A+B and A+(A+B) both result in the same values , therefore: A+(A+B) can be simplified as just A+B. Q uesto's Q uestions 2.1 - Logical Operators: 1. Copy and complete the following truth tables: 1b. Simplify the expression in the second truth table. 2a. A cinema uses a computer system to monitor how many seats have been allocated for upcoming movies. If both the premium seats and the standard seats are sold out then the system will display a message. State the type of logical operator in this example. 2b. For the more popular movies, the cinema's computer system will also display a message if either the premium seats or the standard seats have exclusively been sold out. However, it will not output a message when both have been sold out. State the type of logical operator in this example. 1.6 - Additional Hardware 2.2 - Boolean Algebra Theory Topics
- HTML Guide 4 - Hyperlinks | CSNewbs
Learn how to link to other websites by using the anchor tag. 4. Hyperlinks HTML Guide Watch on YouTube: A hyperlink is a link to another web page . In this section, you will link your page to a real website, like Wikipedia. Hyperlinks require the anchor tags and Copy a URL Firstly you need to copy the full web address of the web page that you would like to link your page to. Choose an appropriate web page that relates to your chosen topic. Create the Anchor Tag 4. Close the start of the tag . 1. Open the start of the tag . 2. Type href (stands for hypertext reference ). 3. Paste the URL inside speech marks . 5. Type the text you want the user to click on . 6. Time to close the tag . When you save your webpage and run it in a browser you will be able to click highlighted text to open the website you have chosen. Add at least three different hyperlinks to your webpage. Try to add the 2nd & 3rd links without looking at this page - practise makes perfect. Add a Hyperlink within a Sentence You can also create an anchor tag within a sentence. Hyperlinks are important to link webpages together. Next is time for adding pictures! Either change one of your previous hyperlinks to be in the middle of a sentence or create a new one. 3. Text Tags HTML Guide 5. Images
- 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
- Cambridge Advanced National in Computing | CSNewbs
An explanation and introduction to the OCR Level 3 Cambridge Advanced National in Computing specification. This certificate (H029) or extended certificate (H129) is an Alternative Academic Qualification (AAQ). Level 3 Alternative Academic Qualification (AAQ) / Cambridge Advanced National In Computing Computing: Application Development Everything you need to know about this course: The Cambridge Advanced National in Computing: Application Development is a new course that began in September 2025 . It contains both exam and NEA (coursework ) units and focuses on developing software prototypes for applications such as websites , video games and even virtual reality . The video to the left explains all the key details of this new course, but remember, things can change so the OCR website will have the latest updates . Exam Units: Unit F160: Fundamentals of Application Development F160 YouTube Playlist Unit F161: Developing Application Software F161 YouTube Playlist These pages are based on content from the OCR Cambridge Advanced National in Computing (AAQ) specification .
- 2.4c - Character Storage - OCR GCSE (J277 Spec) | CSNewbs
Learn about the main character sets - ASCII (American Standard Code for Information Interchange) and Unicode. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.4c: Character Storage Exam Board: OCR Specification: J277 Watch on YouTube : Character Sets ASCII Unicode Text File Size What is a Character Set? A character set is a table that matches together a character and a binary value . Each character in a character set has a unique binary number matched with it . Character sets are necessary as they allow computers to exchange data and humans to input characters . Two common character sets are ASCII and Unicode : H = 01001000 ASCII Unicode ASCII (American Standard Code for Information Interchange ) is a common character set which does not take up much memory space . It is important to understand that the number of characters that can be stored is limited by the bits available - ASCII uses 1 byte (8 bits ) which only gives 256 possible characters . This is enough for the English language but it can’t be used for other languages or all punctuation symbols. Unicode is a more popular character set because it uses 2 bytes (16 bits ) that allow for 65,536 possible characters . The extra byte allows many different languages to be represented , as well as thousands of symbols and emojis . However Unicode requires more memory to store each character than ASCII as it uses an extra byte . Character sets are logically ordered . For example, the binary code for A is 01000001 , B is 01000010 and C is 01000011 as the code increases by 1 with each character. The file size of a text file is calculated as shown below: bits per character x number of characters Example: A small text file uses the ASCII character set (which uses 8 bits per character ). There are 300 characters in the file . 300 x 8 = 2,400 bits This could be simplified as 300 bytes or 0.3 kilobytes . File Size of Text Files 01101010 = 256 possible characters 8 bits (1 byte) 1000101101001111 = 65,536 possible characters 16 bits (2 bytes) Q uesto's Q uestions 2.4c - Character Storage: 1. What is a character set and why are they needed ? [ 2 ] 2. Describe 3 differences between ASCII and Unicode . [6 ] 3. The binary code for the character P in ASCII is 01010000 . State what the binary code for the character S would be. [1 ] 4a. A text file uses the ASCII character set and contains 400 characters . What would the file size be in kilobytes ? [ 2 ] 4b. A text file uses the Unicode character set and contains 150 characters . What would the file size be in kilobytes ? [ 2 ] 2.4b - Binary Addition & Shifts Theory Topics 2.4d - Image Storage






