top of page

Search CSNewbs

Search this site

304 results found with an empty search

  • Python | 6b - While Loops | CSNewbs

    Learn how to create and use 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 6B - While Loops Types of Loop The third construct of programming (after Sequence and Selection) is Iteration . If you iterate something, then you repeat it. There are two key loops to use in Python: for loops and while loops . A for loop is count controlled – e.g. “For 10 seconds I will jump up and down”. The loop will continue until the count (e.g. 10 seconds) has finished . A while loop is condition controlled – e.g. “While I am not out of breath, I will jump up and down.” The loop will continue as long as the condition remains true . Simple While Loops A while loop keeps repeating as long as the starting condition is true . If the condition of the while loop becomes false , the loop ends . In this example, the number variable is increased by 1 inside of the loop until it is no longer less than or equal to 10 . number = 1 while number <= 10: print (number) number = number + 1 1 2 3 4 5 6 7 8 9 10 Comparison Operators == equal to != not equal to < less than <= less than or equal to > greater than >= greater than or equal to It is important to give the variable a value before you start the while loop . I have assigned number as 1. The last line increases the number by 1 otherwise the number would stay at 1 and the loop would repeat forever . While Loops Task 1 (Countdown from 100 ) Example solution (shortened): Create a simple while loop that starts at 100 and prints each number down to 1 . Think about the comparison operator you will need to check you have reached 1. 100 99 98 ... ... 3 2 1 Inputs Inside While Loops If you want the user to keep entering an input until they give a certain answer then you need to put the input inside the while loop : age = 0 while age < 18: print ( "Only adults allowed to the casino." ) age = int ( input ( "Enter your age: " )) print ( "Welcome and enjoy your visit." ) Only adults allowed to the casino. Enter your age: 14 Only adults allowed to the casino. Enter your age: 18 Welcome and enjoy your visit. month = " " while month != "July" : month = input ( "Guess the month I'm thinking of: " ) print ( "Correct! It was July!" ) Guess the month I'm thinking of: August Guess the month I'm thinking of: June Guess the month I'm thinking of: July Correct! It was July! Notice that the variable in the condition (age or month in these examples) has to be given a value first before it can be used in a while condition. The program will crash if the variable is not declared and assigned a value - for example, the age cannot be checked to see if it less than 18 if there is no age variable! For string variables like month in the example above then a blank default value like " " can be used. For integer variables often 0 will be used. While Loops Task 2 (Guess the Colour ) Example solution: Use a variable named colour and a while loop that allows the user to keep entering colours until a specific one (your choice) has been input. Guess the colour: blue Guess the colour: purple Guess the colour: yellow Correct! It was yellow! While Loops Task 3 (Integer Trivia ) Use a while loop to ask a question that has an integer (whole number) as an answer , such as "How many James Bond films did Daniel Craig appear in?" or "In which year did Wigan Athletic win the FA Cup?". Remember that integers do not use speech marks , e.g. year = 0 Example solution: Which year was the first Iron Man movie? 2010 Which year was the first Iron Man movie? 2009 Which year was the first Iron Man movie? 2008 Correct! It was 2008! While True Loops A while True loop will repeat indefinitely , only stopping when the break command is used to end the loop . While True loops are often preferred because you do not need to set default values for any variables before the loop begins. while True : password = input ( "Enter the password: " ) if password == "icecream21" : print ( "Correct Password!" ) break Enter the password: vanilla32 Enter the password: chocolate83 Enter the password: strawberry100 Enter the password: icecream21 Correct Password! The program below has been adapted to record the number of attempts made . The value is increased by 1 each time the loop restarts. guesses = 0 while True : guesses = guesses + 1 password = input ( "Enter the password: " ) if password == "goat7" : print ( "Correct Password! It took" ,guesses, "attempts!" ) break else : print ( "Incorrect. Try again!" ) Enter the password: sheep3 Incorrect. Try again! Enter the password: cow4 Incorrect. Try again! Enter the password: horse5 Incorrect. Try again! Enter the password: goat7 Correct Password! It took 4 attempts! The continue command will move to the next iteration (it can be considered as starting the loop again ). The program below allows numbers to be entered and keeps track of a running total. Entering 1 inputs a number, 2 displays the total and 3 stops the program. total = 0 while True : choice = input ( "\nType 1 to enter, 2 for a total and 3 to stop: " ) if choice == "1" : number = int ( input ( "Enter a number: " )) total = total + number continue elif choice == "2" : print ( "The total is" , total) continue elif choice == "3" : break print ( "\nProgram finished." ) Type 1 to enter, 2 for the total and 3 to stop: 1 Enter a number: 40 Type 1 to enter, 2 for the total and 3 to stop: 1 Enter a number: 35 Type 1 to enter, 2 for the total and 3 to stop: 2 The total is 75 Type 1 to enter, 2 for the total and 3 to stop: 3 Program finished. While Loops Task 4 (Guess the Planet ) Example solution: Use a while True loop to keep asking a user to input a planet . Keep track of the number of guesses that have been made and output the total when they input the correct planet. Use the second example in the 'While True Loops ' section above to help you. Enter a planet: Mars Incorrect guess, try again! Enter a planet: Mercury Incorrect guess, try again! Enter a planet: Neptune Correct it was Neptune! While Loops Task 5 (Up to 100 ) Create a while True loop that asks the user to enter a number . Add the number to a total variable and print it. When the total reaches 100 or more , stop the program. Don't forget to set the total variable to 0 at the start and to add the number entered by the user to the total. Example solution: Enter a number: 34 The current total is: 34 Enter a number: 29 The current total is: 63 Enter a number: 18 The current total is: 81 Enter a number: 22 The current total is: 103 Over 100! ⬅ 6a - F or Loops Section 6 Practice Tasks ➡

  • 5.1 - Computing Legislation | OCR A-Level | CSNewbs

    Learn about the laws related to computing - the Data Protection Act, Computer Misuse Act, Copyright Design and Patents Act and Regulation of Investigatory Powers Act. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 5.1 - Computing-related Legislation Watch on YouTube : Data Protection Act Computer Misuse Act Copyright Design and Patents Act Regulation of Investigatory Powers Act Several key UK laws govern the ethical and legal use of computers and digital information including the Data Protection Act and Computer Misuse Act . Each act is designed to protect data , users or intellectual property in the digital age. Data Protection Act (2018) The Data Protection Act is a UK law designed to ensure that personal data is collected , stored and used responsibly . It gives individuals (data subjects ) rights over their personal information and sets rules for organisations that process it . Introduced in 1998 , it was updated in 2018 to align with the EU’s General Data Protection Regulation (GDPR ). The Data Protection Act's key principles include that data must be processed lawfully , fairly and transparently , used for specific purposes , kept accurate and up to date , stored securely and not kept longer than necessary . It also gives data subjects rights such as accessing their data , correcting inaccuracies , objecting to processing and requesting deletion . Organisations that break the law can face heavy fines and legal action from the Information Commissioner’s Office (ICO ). YouTube video uploading soon Computer Misuse Act (1990) The Computer Misuse Act (1990 ) is a UK law created to make unauthorised access and use of computer systems illegal . It was introduced in response to the rise of hacking and other cybercrimes as computers became more common . This act defines several offences , including: Unauthorised access to computer material , such as hacking into a system without permission . Unauthorised access with the intent to commit further offences , such as fraud or data theft . Unauthorised modification of data or programs , for example, spreading viruses or deleting files . Making , supplying or obtaining tools used for committing these offences . Penalties range from fines to imprisonment , depending on the severity of the crime . This act helps protect individuals , organisations and data from malicious attacks and misuse . YouTube video uploading soon Copyright, Designs & Patents Act (1988) The Copyright, Designs and Patents Act (1988 ) is a UK law that protects people’s creative and intellectual work from being copied or used without permission . It gives creators automatic legal rights over their original work , such as books , music , films and software . The act states that the copyright owner controls how their work is used , including the rights to copy , distribute or adapt it. Anyone wishing to use the work must get permission or a licence from the owner. It also includes exceptions , allowing limited use for purposes like education or research . This act helps ensure that creators are fairly rewarded for their work and that their intellectual property is legally protected . YouTube video uploading soon Regulation of Investigatory Powers Act (2000) The Regulation of Investigatory Powers Act (RIPA ) (2000 ) is a UK law that governs how public bodies and law enforcement can carry out surveillance and access electronic communications . It was introduced to balance national security and crime prevention with individuals’ right to privacy . RIPA allows authorised agencies , such as the police , intelligence services and local councils , to monitor communications , intercept phone calls or emails and use covert surveillance , but only with proper legal authorisation . It also regulates the use of informants and access to encrypted data . This act aims to ensure that surveillance is done lawfully , proportionately and for legitimate purposes , such as preventing or detecting serious crime or protecting public safety . YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Legislation: Data Protection Act (2018) Computer Misuse Act (1990) Copyright Design and Patents Act (1988) Regulation of Investigatory Powers Act (2000) D id Y ou K now? In 1985 , two journalists were arrested for ‘ hacking ’ into the emails of the Duke of Edinburgh ( Prince Philip ) after discovering an engineer’s username was ‘ 2222222222 ’ and password was ‘ 1234 ’. They were acquitted in court because no UK laws covered hacking , exposing a major legal gap that led to the creation of the Computer Misuse Act ( 1990 ) . 4.3 - Boolean Algebra A-Level Topics 5.2 - Moral & Ethical Issues

  • OCR CTech IT | Unit 1 | 2.2 - Applications Software | CSNewbs

    Learn about the different types of applications software including productivity programs, business tools and IDEs. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.2: Applications Software Exam Board: OCR Specification: 2016 - Unit 1 What is applications software? Don't confuse applications software and apps . Apps generally have a single purpose , such as a game like Angry Birds or the torch tool on a phone. Applications software can be used for a number of different functions depending on the user's needs and their purpose. Productivity Software This is general use software for completing a range of tasks accurately and efficiently . Key examples include word processors (e.g. Microsoft Word or Google Docs), presentation software (e.g. Microsoft PowerPoint or Google Slides) and web browsers (e.g. Microsoft Edge or Google Chrome). Email applications (e.g. Microsoft Outlook or Gmail) are beneficial to organisations because staff can send information to many customers at once which is a simpler and less costly method of communication than something like sending letters or leaflets in the mail. Emails can also include attachments of important documents and include multimedia elements like images and videos to make communication more interesting . Databases and Spreadsheets Database tables and spreadsheets can store both numerical and textual data ready for analysis . Examples include simple database tables and financial spreadsheets of a company's profits each year. Microsoft Access is an example of database software that uses tables of records and Microsoft Excel is an example of spreadsheet software . Data can be sorted numerically or alphabetically for both software types but graphs can be created from spreadsheets to visualise data . When using spreadsheets (or databases) records can be locked ('record locking' ) so that only one person can make edits to a specific record at any one time. Edits will be saved before unlocking the file. This will stop data being incorrectly overwritten and will ensure that the data in the spreadsheet is up-to-date, accurate and fit for purpose. Development Tools These are tools for programmers who are creating or modifying software . An integrated development environment ( IDE ) is software used to create , edit and debug (fix) programs . An IDE features a number of tools , including: A source code editor to type program code into. It may contain features such as error highlighting and automatic formatting . Because IDEs use high-level languages like Python or Java , a translator is required to convert the source code into machine code ( binary ) so that it can be understood and processed by the CPU . A compiler is a type of translator that converts instructions into machine code (binary) in one go . An interpreter is a type of translator that converts instructions into machine code (binary) line by line . A debugger is used to test code and display errors . Other development tools aid programmers with developing and maintaining websites and apps for phones / tablets. An advantage of databases over spreadsheets is that data can be atomised - meaning it can be stored in separate tables (e.g. one for patients and one for doctors ) with records linked through relationships . This minimises data redundancy (duplication ), meaning there is a lower chance of making errors , and it is easier to search through the table as each record will only appear once . A search through a database is called a 'query '. Business Software This is specialist software for businesses , often made bespoke for an organisation based on their needs . Types of business software: Project management software allows teams of workers to collaborate and split large projects into manageable tasks with clear deadlines and assigned roles . A management information system (MIS ) processes a large amount of data and organises it for use in decision-making and general data analysis . See more about an MIS in section 3.5 . Multimedia programs such as video editors or animation suites can be used to create high-quality videos with images , audio and video clips . Collaboration tools for businesses allow employees to share ideas and resources in real-time . Publishing software allows users to implement text and images into eye-catching designs such as posters , leaflets or static adverts to include on a website. Expert systems use large databases for automatic decision-making , often making use of AI to quickly solve complex problems . A healthcare example of an expert system is a medical diagnosis program that may suggest possible illnesses when a patient's symptoms are input . CAD / CAM One example of business software used for the design and manufacture of a product is CAD / CAM (C omputer-A ided D esign / C omputer-A ided M anufacturing). CAD is used to create highly detailed digital designs and CAM translates these designs into instructions for manufacturing machines to make the product physically. These software packages use 3D modelling and image rendering along with exact measurements to create precise designs ready to be manufactured . Engineers use them to design and make mechanical parts and architects use them to create detailed building models and blueprints . Q uesto's Q uestions 2.2 - Applications Software: 1. State four different kinds of productivity software and briefly describe how each could be used . For example: "Word processors can be used to type up a letter in an office or write an essay for school." [8 ] 2. Describe two differences between database and spreadsheet software. [2 ] 3a. What is an Integrated Development Environment ? [1 ] 3b. Describe three tools used in an IDE. [6 ] 4. Giving brief examples of how they can be used, state four different types of business software . [8 ] 5. Suggest how a website design company could use each of the three types of applications software (Productivity Software , Development Tools and Business Software ). [ 6 ] 2.1 - Types of Software Topic List 2.3 - Utility Software

  • Python | 5a - Random | CSNewbs

    Learn how to use random commands in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 5a - Random Importing Section 5 looks at additional commands that you can import and use from Python’s code libraries . A library is a collection of different commands that automatically come with Python but are separate from the main file. They can be imported (brought in) to your program by using the import command at the start of your program . Imagine Python’s library to be similar to an actual library. There are different sections in a real library (such as History, Geography, Reference) and different sections in Python’s library (such as random or time ). Each real library has many individual books in each section, just like commands in Python. randint() choice() sample() shuffle() random sleep() ctime() strftime() time from random import randint from time import ctime You can import a specific command from one of Python's libraries using the from and import commands at the top of your program . Random Numbers To generate random numbers , first import the randint command section from Python’s random code library on the first line of the program. The randint command stands for random integer . In brackets, state the number range to randomly choose from. The random value should be saved into a variable . from random import randint number = randint(1,100) print ( "A random number between 1 and 100 is" , number) = A random number between 1 and 100 is 39 = A random number between 1 and 100 is 73 = A random number between 1 and 100 is 4 The randint range does not have to be fixed values and could be replaced by variables . Below is a program where the user selects the upper and lower values of the range: from random import randint lower = int ( input ( "What is the lowest number? " )) upper = int ( input ( "What is the highest number? " )) number = randint(lower,upper) print ( "A random number between" , lower , "and" , upper , "is" , number) = What is the lowest number? 1 What is the highest number? 50 A random number between 1 and 50 is 36 = What is the lowest number? 500 What is the highest number? 1000 A random number between 500 and 1000 is 868 Random Numbers Task 1 ( Ice Comet) A special comet made of ice passes the Earth only once every one hundred years , and it hasn't been seen yet in the 21st century . Use the randint command to randomly print a year between the current year and 2099 . Example solutions: Did you know it won't be until 2032 that the ice comet will next pass Earth!? Did you know it won't be until 2075 that the ice comet will next pass Earth!? Random Numbers Task 2 ( Guess the Number) Use randint to generate a random number between 1 and 5 . Ask the user to enter a guess for the number with int and input . Print the random number and use an if statement to check if there is a match , printing an appropriate statement if there is and something different if there is not a match . Example solutions: Enter a number between 1 and 5: 4 Computer's number: 5 No match this time! Enter a number between 1 and 5: 3 Computer's number: 3 Well guessed! It's a match! Choice - Random Word Rather than just numbers, we can also randomly generate characters or strings from a specified range by using the choice command. You must first import the choice command from the random library. Choice works well with a list of values , which require square brackets and commas separating each word . Below is a program that randomly chooses from a list of animals : from random import choice animals = [ "cat" , "dog" , "horse" , "cow"] randomanimal = choice(animals) print ( "A random animal is" , randomanimal) = A random animal is cat = A random animal is horse Choice - Random Character Instead of using a list you can randomly select a character from a string . The program below randomly selects a character from the variable named 'letters ' which is the alphabet . from random import choice letters = "abcdefghijklmnopqrstuvwxyz" randomletter = choice(letters) print ( "A random letter is" , randomletter) = A random letter is e = A random letter is y Random Choice Task 1 ( Holiday Destinations ) Harriet can't decide where to go on holiday and needs help deciding. Make a list of at least 6 destinations (see the animal example above ) and use the choice command (don't forget to import it from the random library ) to print a random destination . Example solutions: Why don't you go to Paris on holiday? Why don't you go to Barcelona on holiday? Random Choice Task 2 ( Vowels ) Use the choice command to randomly select a vowel (look at the alphabet example above ). Ask the user to input a vowel and use an if statement to check if the user's letter matches the randomly selected letter . Print a suitable statement if they match and something else if they don't . Example solutions: Enter a vowel: i Random vowel: i The vowels matched! Enter a vowel: o Random vowel: u The vowels didn't match! Sample - Random Strings To choose more than one value from a set of data, use the sample command. Sample is used with a list of values and a number representing how many from that list to pick. The code sample(days,2) picks two random values from the list called days . Both examples below perform the same task but, as with most code, there is no one way to solve a problem. from random import sample days = [ "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" ] two_days = sample(days , 2) print ( "You will be set homework on:" , *two_days) A separate list and then a sample . = You will be set homework on: Thursday Monday = You will be set homework on: Friday Tuesday from random import sample two_days = sample([ "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" ] , 2) print ( "You will be set homework on:" , *two_days) The list and sample is combined on one line. The sample command actually makes a new list with the number of values selected (e.g. ["Tuesday" , "Thursday"] in the examples above). You can use an asterisk - * - directly before the sampled variable to print just the list values , otherwise the brackets and apostrophes will be printed too. from random import sample names = sample([ "Bob" , "Ben" , "Jen" , "Ken" ] , 2) print ( "The names are:" , names) from random import sample names = sample([ "Bob" , "Ben" , "Jen" , "Ken" ] , 2) print ( "The names are:" , *names) The names are: ['Bob', 'Jen'] The names are: Bob Jen Sample - Random Numbers You can also use the sample command to choose several integers from a given range. By implementing the range command you don’t need to individually write out each number. from random import sample numbers = sample( range (1,100) , 5) print ( "Five random numbers between 1 and 100 are:" , *numbers) Five random numbers between 1 and 100 are: 53 42 11 8 20 Five random numbers between 1 and 100 are: 74 52 51 1 6 Random Samples Task 1 ( Frost Comets) The ice comet from a previous task has broken up into four smaller frosty comets that could pass the Earth anytime from next year to the year 2095 . Print four random years in that range . Example solutions: I predict the frost comets will be seen in these years: 2093 2036 2027 2091 I predict the frost comets will be seen in these years: 2076 2033 2053 2085 Random Samples Task 2 ( Baby Boy ) Aunt Meredith is having a baby boy . Create a program that randomly selects 3 male names from a list of 10 possible names . Example solutions: Hey Aunt Meredith, how about these names: Charlie Eddie Frank Hey Aunt Meredith, how about these names: George Harold Bill ⬅ Section 4 Practice Tasks 5b - Sleep ➡

  • 3.2b - Protocols & Layers - OCR GCSE (J277 Spec) | CSNewbs

    Learn about the different protocols used on networks - HTTP, HTTPS, TCP, IP, FTP and SMTP. Also learn about protcol layers in the 4-layer TCP/IP model. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 3.2b: Protocols & Layers Exam Board: OCR Specification: J277 Watch on YouTube : IP & MAC Addresses Protocols & Standards Common Protocols Protocol Layers Protocols A protocol is a set of rules that allow devices on a network to communicate with each other . TCP / IP (Transmission Control Protocol / Internet Protocol) TCP / IP is actually two separate protocols that combine together. TCP is a protocol that allows packets to be sent and received between computer systems. It breaks the data into packets and reorders them back into the original data at the destination. IP is a protocol in charge of routing and addressing data packets . This ensures data packets are sent across networks to the correct destination . It is also an addressing system - every device on a network is given a unique IP address so data packets can be sent to the correct computer system. HTTP is used to transfer web pages over the Internet so that users can view them in a web browser . All URLs start with either HTTP or HTTPS (e.g. https://www.csnewbs.com). HTTPS is a more secure version of HTTP that works with another protocol called SSL ( Secure Sockets Layer ) to transfer encrypted data . You should see a padlock symbol in the URL bar if your connection to that website is secure. HTTP/HTTPS (Hypertext Transfer Protocol) Transfer Protocols FTP ( File Transfer Protocol ) is used to transfer files across a network. It is commonly used to upload or download files to/from a web server . SMTP ( Simple Mail Transfer Protocol ) is a protocol used to send emails to a mail server and between mail servers . POP ( Post Office Protocol ) and IMAP (Internet Message Access Protocol ) are both protocols for receiving and storing emails from a mail server. POP will delete an email from the email server once it has been downloaded to a device . Pop! IMAP syncs the message with an email server so it can be accessed by different devices . IP Address & MAC Address There are two versions of IP addressing currently used - IPv4 and IPv6 . IPv4 is a 32-bit address , represented in denary , that allows for over 4 billion unique addresses . It has four 8-bit segments of denary values (from 0 to 255) separated by full stops . IPv4 example: 145.13.218.102 IPv6 is a 128-bit address , represented in hexadecimal , that allows for an undecillion unique addresses . It has eight 16-bit segments of four hexadecimal values (0000 - FFFF), separated by colons . IPv6 example: 736E:1029:A4B3:902D:77B2:72FF:AE62:0912 A MAC address is a unique hexadecimal number assigned to each network interface card/controller inside a networked device such as a router or laptop . A MAC address is a 48-bit address made up of six 8-bit pairs in hexadecimal , separated by dashes . While an IP address may change , the MAC address can’t be changed . MAC stands for Media Access Control . Network Interface Card (NIC) MAC example: 19-C2-D1-47-AA-38 Networking Standards Networking standards are rules that allow computer systems to communicate across networks . Standards have been created to ensure devices can exchange data and work together by interpreting signals in the same way , regardless of the manufacturer . TCP/IP Stack & Layers What is TCP/IP? TCP/IP (Transmission Control Protocol / Internet Protocol ) is a set of protocols that operate on different layers . These two protocols are used together to allow computers to communicate on a network . What is a protocol layer? A layer is a division of network functionality - each layer provides a specific function to assist the transmission of the data that is being sent. TCP/IP is split into four layers (named Application , Transport , Internet and Link ). Important Note: You do not need to know any layer names or the purpose of any specific layers in the OCR GCSE J277 specification , just what layers are and why they’re used . Why are protocol layers used? Layers are self-contained , so they allow different developers to concentrate on one aspect of the network at a time . A layer can be taken out and edited without affecting other layers . Protocol layers are used to visualise the different parts of a network , as each of the four layers of TCP/IP has a specific role and is associated with different protocols . Protocols are broken down into well-defined , specific layers to simplify design , making it easier to identify errors (known as troubleshooting ). Each layer uses specific protocols , so layering ensures these protocols are applied in a specific order . This process uses abstraction and layers only communicate with adjacent layers for easy compatibility . Q uesto's Q uestions 3.2b - Protocols & Layers: 1. Describe each of the following protocols . It might be helpful to also draw an icon or small diagram for each one: a. TCP [ 2 ] b. IP [ 2 ] c. HTTP & HTTPS [ 3 ] d. FTP [ 2 ] e. SMTP [ 2 ] f. POP3 & IMAP [ 2 ] 2. State which protocol would be used in the following scenarios : a. Transferring a music file to a friend over the internet. [ 1 ] b. Sending an email to a family member in America. [ 1 ] c. Using a webpage to enter a password securely. [ 1 ] d. Receiving an email from a bank. [ 1 ] 3a. What are networking standards ? [ 2 ] 3b. What is TCP/IP ? [ 2 ] 3c. What is a protocol layer ? [ 2 ] 3d. Give at least two reasons why protocols are split into layers . [ 4 ] 3.2a - Wired & Wireless Networks Theory Topics 4.1 - Security Threats

  • 4.2 - Data Structures | OCR A-Level | CSNewbs

    Learn about data structures including arrays, records, lists, tuples, linked-lists, graphs, stacks, queues, trees, binary search trees and hash tables. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 4.2 - Data Structures Specification: Computer Science H446 Watch on YouTube : Arrays Records Lists & tuples Stacks Queues Linked lists Trees Graphs Hash tables Data structures are used to organise and store data so it can be accessed and processed efficiently , often through the use of an index or reference . They can be static , meaning their size is fixed during program execution , or dynamic , allowing them to grow or shrink as data changes . Arrays An array is a data structure that stores a collection of items of the same data type , with each item accessed using an index . A one-dimensional (1D ) array is a simple sequence of values , such as test scores for a single person : scores = [12, 15, 18, 20] . A two-dimensional (2D ) array is like a table or grid , made up of rows and columns - for example, storing a timetable or test scores for a class . A three-dimensional (3D ) array stores data in multiple layers , like a series of 2D grids . For example, test scores for a class across multiple subjects . This page is under active development. Check here for the latest progress update. YouTube video uploading soon Records A record groups together related but different types of data under one name . Each individual piece of data within a record is called a field and each field can have a different data type (e.g. string , integer , Boolean ). For example, a student record might include fields such as Name (string ), Age (integer ) and Enrolled (Boolean ). Records are often used in databases or programming to represent real-world entities where multiple attributes need to be stored together . YouTube video uploading soon Lists & Tuples A list stores an ordered collection of items , which can be changed (mutable ) after creation. Items in a list can be added , removed or modified , and they can be of different data types . For example, in Python : myList = [10, "apple", True] . A tuple is similar to a list but is immutable , meaning its contents cannot be changed once created . Tuples are often used for fixed sets of data that should not be altered , such as coordinates or dates . For example: myTuple = (3, 5, 7) . YouTube video uploading soon Stacks A stack stores data in a last in , first out (LIFO ) order, meaning the most recently added item is the first one to be removed . It works much like a stack of plates - you can only add or remove from the top . Two integral functions are push and pop . The push operation adds (or “pushes”) a new item onto the top of the stack . The pop operation removes (or “pops”) the item from the top of the stack . Stacks are commonly used in undo features , function calls and expression evaluation , where tracking the most recent item first is important . YouTube video uploading soon Queues A queue stores items in a first in , first out (FIFO ) order, meaning the first item added is the first one removed . New items are added at the rear of the queue using an enqueue operation, and items are removed from the front using a dequeue operation. Queues are often used in task scheduling , print spooling and data buffering , where operations must occur in the same order they were requested . YouTube video uploading soon Linked Lists A linked list is a dynamic data structure made up of a series of elements called nodes , where each node contains data and a pointer to the next node in the sequence . Unlike arrays, linked lists do not store elements in contiguous memory locations , making it easy to insert or delete items without having to shift other elements . The head is the first node in the list , and the last node usually points to null , indicating the end of the list . YouTube video uploading soon Trees A tree is a hierarchical data structure made up of nodes connected by branches , starting from a single root node . Each node can have child nodes , and nodes without children are called leaf nodes . Trees are useful for representing data with natural hierarchies , such as file systems or organisational charts . A binary search tree is a special type of tree where each node has at most two children - a left and a right . All values in the left subtree are smaller than the parent node , and all values in the right subtree are larger . This structure allows for efficient searching , insertion and deletion of data , often much faster than in lists or arrays . YouTube video uploading soon Graphs A graph is made up of nodes (also called vertices ) connected by edges and is used to represent relationships between items. Graphs can be directed , where edges have a specific (one-way) direction , or undirected , where connections go both ways . They can also be weighted , where edges have values such as distance or cost , or unweighted , where all connections are equal . Graphs are widely used in computing, for example, in social networks (users and friendships ), maps (locations and routes ) and network routing algorithms . YouTube video uploading soon Hash Tables A hash table stores key–value pairs and allows for very fast data access . It uses a hash function to convert a key (such as a name or ID ) into an index (hash value ), which determines where the associated data (value ) is stored in memory . When retrieving data , the same hash function is applied to the key to find the value’s location instantly , making lookups close to constant time complexity on average . If two keys produce the same hash (a collision ), techniques such as chaining or linear probing are used to handle it . Hash tables are commonly used in databases , caches and programming languages for tasks like fast searching and indexing . YouTube video uploading soon Q uesto's K ey T erms Arrays: array, 1-dimensional, 2-dimensional, 3-dimensional, static Records: record, field, data type, primary key Lists and Tuples: list, tuple, mutable, immutable, dynamic Stacks and Queues: stack, queue, last in first out (LIFO), first in first out (FIFO), push, pop, enqueue, dequeue, pointer Linked Lists: linked list, null Trees & Graphs: tree, binary tree, binary search tree, root node, branch, graph, weights, directions Hash Table: hash table, key, value, collision, linear probing, chaining D id Y ou K now? Trees are used for dialogue options in narrative video games , displaying possible paths based on the player’s previous choices . The final ' suicide mission ' of Mass Effect 2 has hundreds of possible variations depending on ship upgrades , squad member loyalty , and assigned roles during the last mission . 4.1 - Data Types A-Level Topics 4.3 - Boolean Algebra

  • 1.6 - Additional Hardware - Eduqas GCSE (2020 spec) | CSNewbs

    Learn about the motherboard, graphics processing unit (GPU), sound card, embedded systems and input / output systems. Based on the 2020 Eduqas (WJEC) GCSE specification. 1.6: Additional Hardware Exam Board: Eduqas Specification: 2020 1.6a - Internal Hardware Motherboard The motherboard is the main circuit board of a computer , unique for each device. It holds and connects the different components together , allowing data to be transferred between them. Components such as the CPU and ROM are directly attached to the motherboard. The motherboard has expansion slots for additional cards (i.e. sound cards) and ports (i.e. USB). Graphics Processing Unit (GPU) Sound Card A GPU is a microprocessor that performs complex calculations to generate graphical images to be displayed on a monitor . There are two types of GPU, integrated GPUs within the motherboard circuitry or dedicated GPUs on an additional card (known as a 'graphics card'). An integrated GPU is cheaper and generates less power because it uses the RAM of the computer . Integrated GPUs are used in tablets and laptops as they generate less heat and are optimal for general computing uses (e.g. web browsing or watching movies). A dedicated GPU is more expensive and generates more heat, often requiring a fan because it contains its own memory . Dedicated cards are used by animation professionals and professional gamers who require the best graphics. Sound cards convert analogue sound waves into digital data (binary) when inputting audio through a microphone. 0010 1011 0101 0101 0110 0111 0101 0001 0101 0010 1011 0101 0101 0110 0111 0101 0001 0101 Sound cards also convert digital data (binary) into analogue sound waves to output audio through speakers or headphones. 1.6b - Embedded Systems Example: A washing machine has a control chip that manages the different program cycles. An embedded system is a computer system built into a larger machine to provide a means of control . Embedded systems perform a specific pre-programmed task which is stored in ROM . An embedded system uses a combination of hardware and software . Example: A traffic light has a control chip that determines when to change to a green or red light. 1.6c - Input & Output Devices Input devices are used by humans to interact with a computer system , through methods such as text , voice or touch . Output devices show the result of computer processing , such as sound , printed text or a visual display on a monitor. Storage devices , such as a USB stick or an external hard drive, are neither input nor output devices - see 1.4 . Input Devices These are just some of the more common input devices . A mouse and a keyboard have been described in further detail. Are there any devices below you haven't heard of before? Mouse Benefits: Easy to navigate a graphical user interface. A wireless mouse takes up less space . Faster to select options (e.g. in a video game). Drawbacks: Difficult to use for people with restricted hand movement . Difficult to use on some surfaces . Other input devices: Scanner Controller Microphone Webcam Chip Reader OCR Scanner OMR Scanner Barcode Scanner Graphics Tablet Sensors (e.g. light or temperature) Touch Screen Remote Control Biometric Scanner (e.g. fingerprint or iris) Concept Keyboard Sip / Puff Switch Keyboard Benefits: Quick to input text . Easy to use with a familiar layout on most keyboards. Keys can be customised and shortcuts can be used . Drawbacks: Takes up a large amount of space on a desk. Difficult for people to use with restricted hand movement or poor eyesight . Output Devices Monitor These are just some of the more common output devices . A monitor and a printer have been described in further detail. Are there any devices below you haven't heard of before? Other output devices: Plotter Speakers Projector Alarm Light Headphones Touch Screen Braille Terminal What is it? A monitor is required to see the result of human input and computer processing . Monitors can be bought in different sizes and resolutions for a range of purposes such as video editing or playing games . Monitors settings can be changed to alter the brightness or contrast . Printer What is it? A printer uses ink or toner to print a document (such as text or images) onto paper . Inkjet printers use ink cartridges , are generally slower and print in a lower quality . Laser printers use toner cartridges and are generally quicker and print to a higher quality . Q uesto's Q uestions 1.6 - Additional Hardware: 1.6a - Internal Hardware 1. What is the purpose of the motherboard ? [2 ] 2a. What is the purpose of the GPU ? [ 2 ] 2b. Describe two differences between integrated and dedicated expansion cards . [ 4 ] 3. Explain how a sound card works. [ 4 ] 1.6b - Embedded Systems 1. What is an embedded system ? [3 ] 2a. Give two examples of an embedded system. [ 2 ] 2b. Research and describe another example of an embedded system. [ 2 ] 1.6c - Input & Out[ut Devices 1. Choose four input devices and describe at least two benefits and two drawbacks of using each one. [ 8 ] 2. Describe three output devices . [ 3 ] 3. Justify which input and output devices would be most suitable in the following scenarios: a. A teacher needs to take the class register . [ 4 ] b. A family want to communicate with their cousins in Australia. [ 4 ] c. The school movie club wants to play Star Wars in the assembly hall. [ 4 ] d. An e-sports player is taking part in an online multiplayer tournament . [ 4 ] e. A laboratory needs security so that only registered scientists can enter. [ 4 ] 1.5 - Performance 2.1 - Logical Operators Theory Topics

  • Computer Science Newbies

    Homepage for learning about computer science in school. Discover topics across GCSE and Level 3 IT subjects, plus programming languages including Python, HTML and Greenfoot. C omputer S cience P ros Official 2026 CSPros: Henry C Rohan Finlay Adam Chantel Olivia Jessie Kelvin Lucas Gajanan Danny Marcus José Claudia Charlie Ryan Harry Ethan Henry P Yash Marcus Thomas Walter Folu Asher Pippa Zach Leighton Jess James Holly Zac Ryan 2025 CSPros: Jack Harry Aarav Trisha Mario Hiba Rory Clark Lucy Divya Luke Callum James Zoya Timucin Matthew 2024 CSPros: 2023 CSPros: Henry Zain Iman Alex I-C Alex B Tomos Aidan Rahul Hussain Diyar Sam Harry Will Alex H 2022 CSPros: Logan Eleanor Mark Edward Alfie Henry Enzo Sam George Harry Ella Kav

  • OCR A-Level | CSNewbs

    Navigate between all topics in the OCR A-Level Computer Science H446 specification. Includes all topics from Component 1 (Computer Systems) and Component 2 (Algorithms and Programming). OCR Computer Science A-Level These pages are based on content from the OCR H446 Computer Science specification . This website is in no way affiliated with OCR . Component 1: Computer Systems Paper 1 Playlist on YouTube This content is under active development. Check here for the latest progress update. OCR A-Level Key Term Generator 1. Hardware 1.1 - Structure & Function of the Processor (The CPU) 1.2 - Types of Processor 1.3 - Input, Output & Storage 2. Software 2.1 - Systems Software 2.2 - Applications Generation 2.3 - Software Development 2.4 - Types of Programming Language 3. Networks & Databases 3.1 - Compression, Encryption & Hashing 3.2 - Databases 3.3 - Networks 3.4 - Web Technologies 4. Data & Logic 4.1 - Data Types 4.2 - Data Structures 4.3 - Boolean Algebra 5. Laws 5.1 - Computing-Related Legislation 5.2 - Moral & Ethical Issues Component 2: Algorithms & Programming 1. Computational Thinking 1.1 - 1.5 - Computational Thinking 2. Problem Solving & Programming 2.1 - Programming Techniques 2.2 - Computational Methods 3. Algorithms 3.1a - 3.1d - Algorithm Complexity 3.1e - Data Structure Algorithms 3.1f - Standard Algorithms

  • OCR CTech IT | Unit 1 | 1.8 & 1.9 - Number Systems | CSNewbs

    Learn about the denary, binary and hexadecimal number systems and how to convert between them. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 1.8 & 1.9 - Number Systems & Conversion Exam Board: OCR Specification: 2016 - Unit 1 What is binary? What is denary? Denary (also known as decimal ) is the number system that you've been using since primary school. Denary is a base 10 number system. This means that it has 10 possible values - 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 . How to convert from binary to denary: How to convert from denary to binary: What is hexadecimal? Hexadecimal is a base 16 number system. This means that it has 16 possible values - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E and F . Hexadecimal is used as a shorthand for binary because it uses fewer characters to write the same value . This makes hexadecimal less prone to errors when reading or writing it , compared to binary. For example, 100111101011 is 9EB. Hexadecimal only uses single-character values. Double-digit numbers are converted into letters - use the table on the right to help you understand. How to convert from binary to hexadecimal: How to convert from hexadecimal to binary: Converting from denary to hexadecimal / hexadecimal to denary To convert from denary to hexadecimal or the other way round you must convert to binary first . Denary > Binary > Hexadecimal Hexadecimal > Binary > Denary Use the videos on this page if you need help converting to or from binary. The most common number systems question in exams are from denary to hexadecimal or from hexadecimal to denary so make sure that you practice these conversions. Q uesto's Q uestions 1.8 & 1.9 - Number Systems: 1. Explain why hexadecimal numbers are used as an alternative to binary . [ 2 ] 2. Convert the following values from binary to denary : a. 00101010 b. 11011011 c. 01011101 d. 11101110 e. 01011111 [1 each ] 3. Convert the following values from denary to binary : a. 35 b. 79 c. 101 d. 203 e. 250 [1 each ] 4. Convert the following values from binary to hexadecimal : a. 11110101 b. 01100111 c. 10111010 d. 10010000 e. 11101001 [1 each ] 5. Convert the following values from hexadecimal to binary : a. C2 b. 8A c. DE d. 54 e. F7 [1 each ] 6. Convert the following values from denary to hexadecimal : a. 134 b. 201 c. 57 d. 224 e. 101 [1 each ] 7. Convert the following values from hexadecimal to denary : a. 32 b. A5 c. 88 d. C0 e. BE [1 each ] Watch on YouTube Watch on YouTube Watch on YouTube Watch on YouTube By now you should know that computer systems process data and communicate entirely in binary . Section 1.7 explained different binary storage units such as bits (a single 0 or 1), nibbles (4 bits) and bytes (8 bits). Binary is a base 2 number system. This means that it only has 2 possible values - 0 or 1 . Click the banners above to try self-marking quizzes (Google Form) on these topics. Denary to Binary: Binary to Denary: Binary to Hexadecimal: Hexadecimal to Binary: 1.7 - Units of Measurement Topic List 2.1 Software Types

  • 5.2 - Data Flow Diagrams | Unit 2 | OCR Cambridge Technicals | CSNewbs

    Learn about the elements of a data flow diagram and factors that may disrupt them. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 5.2 - Data Flow Diagrams Exam Board: OCR Specification: 2016 - Unit 2 A data flow diagram is a visual representation of how data is transferred within a system or organisation . Data flow diagrams are often abbreviated to just 'DFD '. You will need to recognise the symbols , understand the diagrams and explain how data flow can be affected . Data Flow Diagram Symbols The common symbols used in a DFD are shown below: External Entity (e.g. Employee, Customer) Alternative DFD symbols you may see on the exam paper (both sets of symbols have been accepted in previous exam papers): Process (e.g. Calculate Pay, Review Application) Data Store (e.g. Staff Database, Customer Database) External Entity Process Data Store Data Flow Level 0 data flow diagrams show the transfer of data in a simple manner . Processes may be generalised and not shown separately , for a more basic overview . Below is an example of a Level 0 DFD to show the process of an employee submitting an application to be promoted : Level 1 data flow diagrams show the transfer of data in a more detailed manner . Processes are shown separately , for a more complex and realistic overview . Below is an example of a Level 1 DFD to show the process of an employee submitting an application to be promoted . The individual processes have been expanded from the Level 0 DFD above to show how the application must first be signed off by an administrator before it is reviewed by management: Rules for Drawing a Level 1 DFD Data flows only in one direction . Every data flow is labelled (with the data itself , not the action). Every data flow connects to at least one process . At least one input or output for each external entity . Impacts Affecting the Flow of Information There are several reasons why the flow of information within an organisation may be delayed or inefficient , such as: Information characteristics e.g. information is entered incorrectly, causing delays. Human error e.g. information is lost or staff don't follow protocol. Hardware failure e.g. network connection breaking or system failure. Communication breakdown e.g. meetings postponed or emails unread. Q uesto's Q uestions 5.2 - Data Flow Diagrams: 1. Draw the symbols for the four parts of a data flow diagram . [4 ] 2. Look at the image of the Level 1 DFD . State one example of: An external entity A process A data flow A data store [1 each ] 3. Give one difference between a Level 0 and Level 1 DFD . [2 ] 4. State three rules for drawing a correct data flow diagram . [3 ] 5. After heavy snow, a school has decided to shut for the next two days. Many parents were not informed of this decision and are angry that they brought their children in. Give three reasons why the transfer of data (the data being a message about school closure) might not have flowed efficiently in this example. [6 ] 1 Level 0 Data Flow Diagram Level 1 Data Flow Diagram 5.1 - Data Types & Sources Topic List 6.1 - Security Principles

  • 4.1 - Security Threats - OCR GCSE (J277 Spec) | CSNewbs

    Learn about different forms of cyber attacks online including malware, SQL injection, DoS attacks and social engineering. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 4.1: Security Threats Exam Board: OCR Specification: J277 Watch on YouTube : Malware Social Engineering, Brute-Force & DoS Interception & SQL Injection Types of Malware Malware is any type of harmful program that seeks to damage or gain unauthorised access to your computer system. Virus A virus can replicate itself and spread from system to system by attaching itself to infected files . A virus is only activated when opened by a human . Once activated, a virus can change data or corrupt a system so that it stops working . Worm A worm can replicate itself and spread from system to system by finding weaknesses in software . A worm does not need an infected file or human interaction to spread. A worm can spread very quickly across a network once it has infiltrated it. Trojan A trojan is a harmful program that looks like legitimate software so users are tricked into installing it . A trojan secretly gives the attacker backdoor access to the system . Trojans do not self replicate or infect other files. Spyware Spyware secretly records the activities of a user on a computer. The main aim of spyware is to record usernames, passwords and credit card information . All recorded information is secretly passed back to the attacker to use. Keylogger A keylogger secretly records the key presses of a user on a computer. Data is stored or sent back to the attacker. The main aim of a keylogger is to record usernames, passwords and credit card information . Keyloggers can be downloaded or plugged into the USB port . Ransomware Ransomware locks files on a computer system using encryption so that a user can no longer access them. The attacker demands money from the victim to decrypt (unlock) the data . ? ? ? ? Attackers usually use digital currencies like bitcoin which makes it hard to trace them. SQL Injection SQL ( Structured Query Language ) is a programming language used for manipulating data in databases . A SQL injection is when a malicious SQL query (command) is entered into a data input box on a website. If the website is insecure then the SQL query can trick the website into giving unauthorised access to the website’s database . An SQL injection can be used to view and edit the contents of a database or even gain administrator privileges . DoS Attack A DoS (Denial of Service ) attack is when a computer repeatedly sends requests to a server to overload the system . A server overload will slow the system and may take websites offline temporarily. A DDoS (Distributed Denial of Service ) attack is a coordinated attack using a botnet of infected systems to overload a server with requests . A botnet is a large group of devices controlled and used maliciously by an attacker. Brute-Force Attack Every possible combination is tested in order from start to finish . This is not a quick method but it should break the password eventually and can be sped up if multiple computer systems are used at the same time. Social Engineering Social engineering means to trick others into revealing their personal data by posing as a trusted source . For example, impersonating an IT technician of a school via email and asking for a student's username and password . Data Interception This is when data packets on a network are intercepted by a third party (e.g. a hacker) and copied to a different location than the intended destination. Software called packet sniffers are used to intercept and analyse data packets. Q uesto's Q uestions 4.1 - Security Threats: 1. What is malware ? [ 2 ] 2a. Describe three characteristics of a virus . [3 ] 2b. Describe three characteristics of a worm . [3 ] 2c. What is a trojan ? [ 3 ] 2d. Describe how spyware and keyloggers work. [ 4 ] 2e. Explain how ransomware works and why it is difficult to trace attackers . [ 3 ] 2f. In your opinion, which malware do you think is the most dangerous and why ? [ 2 ] 3. Describe what an SQL injection is and how an attacker would use it. [ 3 ] 4a. Describe what a DoS attack is and its impact . [2 ] 4b. Describe how a DDoS attack is different to a DoS attack . [2 ] 5a. Describe a brute-force attack. [ 2 ] 5b. Describe social engineering and give an example of when it might be used . [2 ] 5c. Describe interception . [2 ] 3.2b - Protocols & Layers Theory Topics 4.2 - Preventing Vulnerabilities

© CSNewbs 2026

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