Search CSNewbs
304 results found with an empty search
- 3.1 - Compression, Encryption & Hashing | OCR A-Level | CSNewbs
Learn about lossy and lossless compression and the lossless compression algorithms run-length encoding and dictionary coding. This topic also covers symmetric and asymmetric encryption and the uses of hashing. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 3.1 - Compression, Encryption and Hashing Specification: Computer Science H446 Watch on YouTube : Lossy & Lossless Compression Lossless Compression Algorithms Encryption Hashing Lossy vs Lossless Compression Compression is the process of reducing the size of a file so it takes up less storage space and can be transmitted more quickly over a network . It works by encoding data more efficiently or removing unnecessary information . Benefits of compression include faster file transfer speeds , reduced storage requirements and improved performance when streaming data . Lossy compression permanently removes some data that is less important to human perception , such as subtle sounds or image details , resulting in smaller file sizes but slightly lower quality . Lossless compression reduces file size without losing any data , allowing the original file to be perfectly restored after it is decompressed . Lossless Compression Algorithms There are two types of lossless compression that you need to know: Run-Length Encoding (RLE ) is a simple form of lossless compression that reduces file size by storing repeating data as a single value and a count . For example, a sequence like AAAAABBBCCCC could be stored as A5B3C4 , saving space in files with many repeated elements , such as pixels in images . Dictionary Encoding replaces repeating patterns of data with shorter codes that reference entries in a dictionary . The dictionary stores common sequences once , and each repetition is replaced by a shorter reference , making it efficient for text and other data with recurring patterns . Encryption Encryption is the process of converting readable data (plaintext ) into an unreadable form (ciphertext ) to prevent unauthorised access . It ensures the confidentiality and security of information during storage or transmission . Symmetric encryption uses the same key for both encryption and decryption , meaning the sender and receiver must share the key securely . It is fast and efficient, but key distribution is a major risk if the key is intercepted . Asymmetric encryption uses a pair of keys - a public key for encryption and a private key for decryption . It is more secure for communication and vital for confidential uses such as banking . Hashing Hashing is the process of applying a mathematical function (hash function ) to data to produce a fixed-size value , known as a hash . It is a one-way process , meaning the original data cannot be reconstructed from the hash . Hashing is commonly used for data integrity checks , password storage and digital signatures . Even a tiny change in the input data produces a completely different hash , making it useful for detecting tampering or corruption . Q uesto's K ey T erms D id Y ou K now? Compression: lossy compression, lossless compression, run-length encoding, dictionary encoding Encryption: plaintext, ciphertext, key, symmetric encryption, asymmetric encryption Hashing: hash function, hash Alan Turing and his team used pattern recognition to analyse recurring sequences in encrypted German messages , helping to break the Enigma code , which was a major factor in the Allies’ victory in World War II . 2.4 - Programming Languages A-Level Topics 3.2 - Databases
- Python | Section 6 Practice Tasks | CSNewbs
Test your understanding of for loops and while loops in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 6 Practice Tasks Task One: Odd Numbers Use a for loop to print all odd numbers between 50 and 70 . You will need to use three values in the range brackets, including a step . Requirements for full marks: A comment at the start to explain what a for loop is. Use just two lines of code. Example solution: 51 53 55 57 59 61 63 65 67 69 Task Two: Fish Rhyme Use two separate for loops and some additional print lines to output this nursery rhyme: "1, 2, 3, 4, 5, Once I caught a fish alive, 6, 7, 8, 9, 10 then I let it go again" in the format shown . Requirements for full marks: Two for loops and two additional print lines (6 lines total). Example solution: 1 2 3 4 5 Once I caught a fish alive. 6 7 8 9 10 Then I let it go again. Task Three: Username & Password Create a program using a while loop that keeps asking a user to enter a username and a password until they are both correct . It may be easier to use a while True loop . You will need to use the and command in an if statement within the loop. Requirements for full marks: A comment at the start to explain what a while loop is. Example solution: Enter username: Ben43 Enter password: hamster Incorrect, please try again. Enter username: Ben44 Enter password: ben123 Incorrect, please try again. Enter username: Ben43 Enter password: ben123 Correct Correct login. Welcome Ben43 Task Four: Colour or Number Use a while True loop to let the user enter either A , B or C . A lets them guess a secret colour . B lets them guess a secret number . C breaks the loop , ending the program. Example solution: Enter A to guess a colour, B to guess a number, C to quit: A Guess the colour: green Incorrect! Enter A to guess a colour, B to guess a number, C to quit: A Guess the colour: pink Correct! Enter A to guess a colour, B to guess a number, C to quit: B Guess the number: 4 Incorrect! Enter A to guess a colour, B to guess a number, C to quit: C Quitting program... ⬅ 6b - W hile Loops 7a - Procedures ➡
- 3.3 - Networks | OCR A-Level | CSNewbs
Learn about the characteristics of networks, protocols, standards, the internet, TCP/IP stack, DNS servers, protocol layering, LANs, WANs, packet and circuit switching, network security and threats, firewalls, proxies, encryption, network hardware, client-server and peer to peer networks. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 3.3 - Networks Specification: Computer Science H446 Watch on YouTube : Purpose of networks (LAN & WAN) Protocols & standards Protocol layering & TCP/IP stack Domain Name System (DNS) Packet & circuit switching Network security threats Network security protection Network hardware Client-server & peer-to-peer This topic looks at how data is transferred between computer systems on networks , including the required devices , protocols , network types and potential security threats . Purpose of Networks A network is a group of connected computers that can share data , resources and communicate with each other . The main purpose of a network is to allow users to share files , hardware (like printers ), internet connections and other services efficiently . A Local Area Network (LAN ) covers a small geographical area , such as a single building or school , and is usually owned and managed by one organisation . A Wide Area Network (WAN ) covers a large geographical area , connecting multiple LANs through public or leased communication lines such as the internet . Protocols & Standards Protocols are sets of rules that define how data is transmitted and received over a network , ensuring that devices can communicate reliably . Standards are agreed specifications that ensure different hardware and software systems are compatible and can work together . They are needed so that networks remain interoperable , secure and efficient , regardless of the devices or manufacturers involved . Common network protocols include: HTTP /HTTPS is used for transferring web pages over the internet . FTP aids the transfer of files across a network . SMTP is used to send emails and IMAP /POP receive emails . TCP/IP is the core suite of protocols that controls how data is packaged , addressed , transmitted and received across networks . Protocol Layering & TCP/IP Stack Protocol layering is used to divide complex networking tasks into manageable sections , making systems easier to design , understand and troubleshoot . It also allows different technologies or protocols to work together , as each layer only interacts with the ones directly above and below it. The four layers are: Application layer : Provides network services to end users , such as web browsing (HTTP ) or email (SMTP ). Transport layer : Manages data transmission between devices, ensuring it arrives reliably and in the correct order (e.g. TCP , UDP ). Internet layer : Handles addressing and routing of data packets between networks using IP (Internet Protocol ). Link layer : Manages the physical connection between devices and controls how data is transmitted over the network hardware . Domain Name System (DNS) The Domain Name System ( DNS ) translates human-readable domain names (like www.csnewbs.com ) into IP addresses that computers use to identify each other on a network . When a user enters a web address , the request is sent to a DNS server to find the matching IP address . If the server doesn’t have it stored locally , it queries other DNS servers higher in the hierarchy until it finds the correct address . The IP address is then returned to the user’s device , allowing it to connect to the correct web server to access the requested web page . Packet & Circuit Switching Packet switching and circuit switching are methods of data transmission , describing how data is sent across a network from one device to another . With packet switching , data is split into small packets , each sent independently across the network and reordered at the destination . This makes efficient use of network resources and allows many users to share the same connections . However, packets can arrive out of order or be delayed , causing variable performance . With circuit switching , a dedicated communication path is established between two devices for the duration of a session , as in traditional phone networks . It provides a reliable and consistent connection with guaranteed bandwidth . The drawback is that it wastes resources , as the dedicated line cannot be used by others . Network Security Threats There is a range of potential threats associated with network use to be aware of, including the following: Hackers can attempt to gain unauthorised access to computer systems or networks , often to steal , alter or destroy data . Viruses are malicious programs that attach themselves to other files and spread , potentially damaging or deleting data . Denial of Service ( DoS ) attacks overload a network or website with traffic , making it unavailable to legitimate users . Spyware secretly monitors user activity and collects information such as passwords or browsing habits . An SQL injection involves inserting malicious SQL code into a database query to access or alter sensitive data . Phishing uses fraudulent emails or messages to trick users into revealing personal information . Pharming redirects users from legitimate websites to fake ones designed to steal login details or financial information . Network Security Protection Minimising or preventing network threats is vital and can be achieved with the following measures : Firewalls monitor and control incoming and outgoing network traffic , blocking unauthorised access while allowing safe communication . Secure passwords help protect user accounts by making it difficult for attackers to guess or crack them, especially when they are long and complex . Anti-virus software scans and removes malicious programs , such as viruses and worms , before they can damage files or systems . Anti-spyware software detects and removes spyware , preventing it from secretly collecting personal or sensitive information from a user’s device . Network Hardware A range of network hardware is required for devices to transfer data to another location , including the following: A modem converts digital data into analogue signals and back , allowing internet access over phone or cable lines . A router directs data between networks and assigns IP addresses to connected devices . Cables provide the physical connections between devices . A Network Interface Card ( NIC ) enables a computer to connect to a network . A Wireless Access Point ( WAP ) allows wireless devices to join a wired network via WiFi . On a local area network ( LAN ), hubs broadcast data to all devices , whereas switches send data only to the intended destination , improving network efficiency . Client-Server & Peer-to-Peer A client–server network has a central server that provides resources and services to client computers . It allows for centralised management , making it easier to back up data and enforce security policies . However, it relies heavily on the server - if it fails , users may lose access to resources . A peer-to-peer (P2P ) network has no central server ; instead, each computer can act as both a client and a server , sharing resources directly . It is cheap and easy to set up , making it suitable for small networks . The drawback is that it can be less secure and harder to manage , as data and security depend on individual users . Q uesto's K ey T erms Purpose of networks: local area network (LAN), wide area network (WAN) Protocols: protocol, standard, protocol layers, TCP/IP stack, application layer, transport layer, internet layer, link layer DNS: Domain Name System Switching: packet switching, circuit switching Network security: hackers, viruses, unauthorised access, denial of service, spyware, SQL injection, phishing, pharming, firewalls, secure passwords, anti-virus, anti-spyware Network hardware: modem, router, cable, NIC, Wireless Access Points, hub, switch Client-server & peer-to-peer D id Y ou K now? The first computer worm is considered to be Creeper (in 1971 ), which spread across ARPANET computers and displayed the message: “ I’m the creeper, catch me if you can! ”. A second program called Reaper was then created to delete Creeper , making it arguably the first antivirus . 3.2 - Databases A-Level Topics 3.4 - Web Technologies
- 1.3.3 - Application Software Types | F160 | Cambridge Advanced National in Computing | AAQ
Learn about the purpose, characteristics, advantages, disadvantages, examples and client requirements of application software types, including off-the-shelf, custom off-the-shelf and bespoke software. Resources based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 1.3.3 - Application Software Types Watch on YouTube : Off-the-Shelf Software Custom Off-the-Shelf Software Bespoke Software There are three application software types you need to know : Off-the-shelf software Custom off-the-shelf software Bespoke software For each software type , you need to know : Its purpose and common characteristics . The advantages and disadvantages of using the software. How client requirements affect the selection of that software. Application Software Types Off-the-Shelf Software Off-the-shelf software is pre-made and available for anyone to buy and use . It is designed for general users and common tasks . It is pre-developed and ready-made with standard features for a wide audience , not custom-built for a specific user. Its purpose is to provide a cost-effective , quick-to-deploy solution for popular applications . Custom Off-the-Shelf Software Custom off-the-shelf software is pre-built like regular off-the-shelf software , but can be slightly customised to meet specific user needs . It offers a balance between quick setup and limited personalisation . It supports configurable features such as add-ons , plugins or modules to extend or adapt functionality while the base software remains maintained and updated by the original developer . Bespoke Software Bespoke software is designed and built specifically for one organisation or user . It fits their exact needs but usually costs more and takes longer to develop . An example is a bespoke system developed for a specific bank with custom software to handle financial regulations , unique products and security needs . Other examples include government systems , hospital patient management and air traffic control . Q uesto's Q uestions 1.3.3 - Application Software Types: 1. Explain the differences in purpose and characteristics between off-the-shelf and custom off-the-shelf software. [4 ] 2. A dental surgery needs new software to manage its customer bookings . Justify which application software type they should use and why . [4 ] 3. Describe two advantages and two disadvantages of the three application software types on this page. [ 12 ] Off-the-shelf software gets its name from the days when software like Microsoft Word was sold on physical discs in shops , for customers to take off the shelf and install at home . D id Y ou K now? 1.3.2 - Software Categories Topic List 2.1 - Software Development Models
- 11 Graphical User Interface | CSNewbs
Learn how to create and use a simple graphical user interface (GUI) in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Python 11 - GUI Graphical User Interface In Python, you don’t have just to use a text display; you can create a GUI (Graphical User Interface ) to make programs that look professional. This page demonstrates the basic features of Python’s built-in GUI named tkinter . You can add images, labels, buttons and data entry boxes to develop interactive programs . Hyperlinked sections covered on this page: Setup: Title, Size & Background Creating Elements: Labels, Entry Boxes, Buttons, Images, Message Boxes Displaying Elements: Pack, Place, Grid Inputs & Outputs GUI Tasks Setup Setup: Title, Size & Background Firstly, import the tkinter command and set tkinter.Tk() to a variable such as window . GUI code can be quite complicated with multiple elements so it is sensible to use a comment for each section. Setting the title , size and background colour of your window is optional but can be easily set up at the start of your code. The .geometry() command sets the size of the window. The first number is the width , and the second number is the height . The .configure() command can be used to set the background colour . For a full list of compatible colours, check here . import tkinter #Setting up the Window window = tkinter.Tk() window.title( "Graphical User Interface" ) window.geometry( "400x400" ) window.configure(background = "lightblue" ) import tkinter #Setting up the Window window = tkinter.Tk() window.title( "Example Number Two" ) window.geometry( "300x400" ) window.configure(background = "darkorchid3" ) Creating Elements Creating Elements: Labels, Entry Boxes, Buttons, Radio Buttons, Images, Message Boxes Labels label1 = tkinter.Label(window, text = "Hello there" ) label1 = tkinter.Label(window, text = "Hello there" , fg = "black" , bg = "lightblue" , font = ( "Arial" , 12)) Simple label with default formatting: Label with custom formatting: No elements will appear in your window until you write code to put them there. See the 'Displaying Elements' section further down. Entry (Text) Boxes Simple entry box with default formatting: entry1 = tkinter.Entry(window ) Entry boxes will appear blank , the 'Example Text' shown in the images has been typed in. Entry box with custom formatting: entry1 = tkinter.Entry(window, fg = "blue" , bg = "gray90" , width = 12, font = ( "Arial" ,12)) Buttons The command property of a button is a subroutine that will be called when the button is pressed . The subroutine must be written above the button creation code. def ButtonPress (): #Code here runs when the button is pressed button1 = tkinter.Button(window, text = "Click Me" , fg = "black" , bg = "gold2" , command = ButtonPress) Radio Buttons The Radiobutton element is a multiple-choice option button . A variable needs to be created to track which option has been selected, in this example it is ‘choice ’. Each radio button needs to be linked to the variable and given a unique value (e.g. 0, 1, 2). The radio button with the the value of 0 will be automatically selected when the window opens . Although not shown below, the .set() command can also be used to select a specific radio button , e.g. choice.set(2) . choice = tkinter.IntVar() radio1 = tkinter.Radiobutton(window, text = "Breakfast" , variable = choice, value = 0) radio2 = tkinter.Radiobutton(window, text = "Lunch" , variable = choice, value = 1) radio3 = tkinter.Radiobutton(window, text = "Dinner" , variable = choice, value = 2) Message Boxes You need to import messagebox from tkinter before you can use message boxes . You only need to do this once in your program and it sensible to have it at the very start after you import tkinter (and any other libraries). from tkinter import messagebox tkinter.messagebox.showinfo( "Information" , "Welcome to the program!" ) tkinter.messagebox.showerror( "Error" , "There is a problem with the program." ) if (tkinter.messagebox.askyesno( "Warning" , "Have you understood the instructions?" )) == True : tkinter.messagebox.showinfo( "Warning" , "Thank you for understanding." ) else : tkinter.messagebox.showinfo( "Warning" , "Please read the instructions again." ) Yes / No Message Box Clicking Yes (True ) Clicking No (False ) Images Tkinter supports the image file types .png and .gif . The image file must be saved in the same folder that the .py file is. Resize the image in separate image editing software such as Paint to a specific size . Tkinter does not support all image file types, such as .jpg. Use an application like Microsoft Paint to save an image with a different extension like .png. photo1 = tkinter.PhotoImage(file = "hamster.png" ) photoLabel1 = tkinter.Label(window, image = photo1) An image can be turned into a clickable button rather than a label. def ButtonPress (): #Code here runs when the button is pressed photo1 = tkinter.PhotoImage(file = "hamster.png" ) button1 = tkinter.Button(window, image = photo1, command = ButtonPress) photo1 = tkinter.PhotoImage(file = "hamster.png" ) window.iconphoto( True , photo1) The icon of the window can be changed to an image . Displaying Elements: Pack, Place and Grid Pack .pack() puts the element in the centre of the window, with the next packed element immediately below. window.mainloop() should always be your last line of code in every program, after you have packed, placed or gridded your elements. Displaying Elements labelAdd.pack() buttonAdd.pack() labelMinus.pack() buttonMinus.pack() window.mainloop() Place The .place() command allows an element to be placed in specific coordinates , using x (horizontal ) and y (vertical ) axes. labelAdd.place(x = 25, y = 15) buttonAdd.place(x = 12, y = 35) labelMinus.place(x = 90, y = 15) buttonMinus.place(x = 83, y = 35) window.mainloop() Grid The .grid() command is used to create a grid system to set the row and column . Remember Python starts counting at 0 . You can use padx and pady to add extra space (x is horizontal , y is vertical ). labelAdd.grid(row = 0, column = 0, padx = 10, pady = 5) buttonAdd.grid(row = 1, column = 0, padx = 10) labelMinus.grid(row = 0, column = 1, padx = 10, pady = 5) buttonMinus.grid(row = 1, column = 1, padx = 10) window.mainloop() Inputs & Outputs Inputs and Outputs .config to Change an Element .config() overwrites the property of an element. It can be used with elements such as labels and buttons to change how they appear. label1.config(text = "Warning!" ) The example below (not showing setup and packing) adds 1 to a total variable when the button is pressed . Config is used in two ways: to display the updated total and to change the background of the label to green. def AddOne (): global total total = total + 1 labelTotal.config(text = total, bg = "green" ) total = 0 buttonAdd = tkinter.Button(window, text = "Add" , command = AddOne) Below is a similar program in full that increases or decreases and displays a total when the buttons are pressed . #Setup import tkinter window = tkinter.Tk() total = 0 #Button Presses def AddOne (): global total total = total + 1 labelTotal.config(text = total) def MinusOne (): global total total = total - 1 labelTotal.config(text = total) #Create Elements labelTotal = tkinter.Label(window, text = total, font = ( "Arial" ,14)) buttonAdd = tkinter.Button(window, text = "+" , width = 6, bg = "green" , command = AddOne) buttonMinus = tkinter.Button(window, text = "-" , width = 6, bg = "red" , command = MinusOne) #Display Elements buttonAdd.pack() buttonMinus.pack() labelTotal.pack() window.mainloop() .get to Input a Value .get() returns the value of an element such as an entry box , label or the choice variable if using radio buttons . The value of the element should be stored in a variable so it can be used elsewhere, for example: name = entryName.get() number = int (entryNumber.get()) Use int when getting a value that is an integer : The full program example below checks that the values typed into the username and password entry boxes are correct . Error Messages #Setup import tkinter from tkinter import messagebox window = tkinter.Tk() window.title( "Login" ) #Button Presses def CheckDetails (): username = entryUsername.get() password = entryPassword.get() if username == "Bob Bobson" and password == "cabbage123" : tkinter.messagebox.showinfo( "Success" , "Welcome " + username) else : tkinter.messagebox.showerror( "Invalid ", "Those details are incorrect." ) #Create Elements labelUsername = tkinter.Label(window, text = "Username:" ) labelPassword = tkinter.Label(window, text = "Password" ) entryUsername = tkinter.Entry(window) entryPassword = tkinter.Entry(window) buttonLogin = tkinter.Button(window, text = "Login" , command = CheckDetails) #Display Elements labelUsername.grid(row = 0, column = 0) entryUsername.grid(row = 0, column = 1) labelPassword.grid(row = 1, column = 0) entryPassword.grid(row = 1, column = 1) buttonLogin.grid(row = 2, column = 0) window.mainloop() .bind for Key Presses (& Close Window) .get() will run a specific function when a certain key is pressed. The name of the key must be surrounded by < > brackets and speechmarks . Any associated subroutine of a key bind will need a parameter : event has been chosen and set to None . The code below closes the window using the .destroy() command when the Esc key is pressed. def Close (event = None ): window.destroy() window.bind( "" , Close) The code below will activate the button (and display a message box) by clicking on it but also by pressing the Enter ( Return ) key . def ButtonPress (event = None ): tkinter.messagebox.showinfo( "Success" , "The button was activated" ) button1 = tkinter.Button(window, text = "Press Me" , command = ButtonPress) window.bind( "" , ButtonPress) GUI Tasks GUI Programs to Make Making a program using a GUI can be overwhelming and you must decompose the problem - take it step by step : Import tkinter and create the window (set the title, size and background colour). Create the elements you will need such as labels , buttons and entry boxes . Put the components in the window using pack , place or grid . Write the subroutines for any button presses . These are written at the top of the program after the window setup. Consider your variables - do any need to be set at the start ? Have you made them global if they’re needed within a subroutine ? Put window.mainloop() as the final line of code, only have it once. Use #comments in your code to break up the different sections, the key four sections are shown below. #Setup #Button Presses #Create Elements #Display Elements GUI Task 1 (Random Number Generator ) Generate a random number between 1 and 100 when the button is pressed and display it in a label. Extension idea: Use entry boxes to allow the user to manually input the minimum and maximum value. Example solution: GUI Task 2 (Currency Exchange ) Enter a decimal value and convert it from British pounds to American dollars. You can search for the current exchange rate. Extension idea: Show the conversion rate for other currencies such as Euros and Japanese Yen. Example solution: GUI Task 3 (Random Quote Generator ) Create a list of quotes and use the choice command from the random library to select one to be displayed in a label when the button is clicked. Extension idea: Have a separate text box and button to add more quotes to the list. Example solution: GUI Task 4 (Colour Changer ) When the button is clicked change the background colour of the button with .config to the RGB colour code in the entry box. This should be # followed by 6 hexadecimal values (0-9, A-F). Extension idea: Have an error pop up in a message box if the colour code is incorrect - it must be exactly 7 characters long and start with a hashtag. Example solutions: GUI Task 5 (Class Captain Votes ) Use radio buttons to vote for different candidates in a class vote. Use an if statement when the button is pressed to check which radio button is selected using .get() and the variable you've assigned to the radio buttons ('choice' if you've followed the code in the radio buttons section on this page). Use .config to overwrite a label's value. Remember any variables you want to use in subroutines must be globalised. Extension idea: Stop the count after a certain number - e.g. 30 votes recorded. Example solution: ⬅ Section 10 Practice Tasks 12 - Error Handling ➡
- OCR CTech IT | Unit 1 | 1.1 - Computer Hardware | CSNewbs
Learn about input and output devices used with computer systems. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 1.1 - Computer Hardware Exam Board: OCR Specification: 2016 - Unit 1 Input Devices An input device allows data, such as text, images, video or sound, to be entered into a computer system. Common input devices: Mouse Keyboard Scanner Controller Microphone Webcam Chip Reader OCR / 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 Output Devices There are many outputs created by a computer system, including printed documents, on-screen data and sound. Common output devices: Monitor Printer (e.g. inkjet or laser) Plotter Speakers Projector Alarm Light Headphones Touch Screen Braille Terminal Communication devices can be found in 1.5 . Biometric Devices A biometric device uses a human characteristic as part of its security mechanism, such as a fingerprint , iris (eye), face o r voice . Organisations using biometrics must instruct each employee to first input their information to a database , by scanning their fingerprint for example. Whenever the scanner scans a finger it searches in its database to see if the fingerprint matches one that it already holds . Only authorised employees will have already scanned their fingerprints so if there is no match then access is not allowed . Advantages of biometric devices: Security is improved as biometrics can't be shared like passwords can. Even if a password is exposed the system can't be accessed without having the biometric too. Biometric scanners verify that a user is who they claim to be. Using a biometric device (e.g. fingerprint scanner) might be quicker and easier than entering a username and password. Disadvantages of biometric devices: Can be expensive to install and all users must take the time to initially set up by entering their biometric into the database so they will be recognised by the system. Unreliable in that it can be affected by the environment (e.g. dirty fingers can't be used with a fingerprint scanner or voice recognition may not work in a loud environment). Disabled users might not be able to provide the biometric required. Privacy concerns - users might not want their personal characteristics stored on a computer system. Q uesto's Q uestions 1.1 - Computer Hardware: 1. Make a list of 5 input devices and 5 output devices . Challenge yourself to look up and include devices from this page you may not be familiar with. [10 ] 2a. State 3 human features that may be recorded by a biometric device . [3 ] 2b. Describe how a biometric device works . [3 ] 2c. A school is considering installing biometric devices to allow only sixth form students to enter certain parts of the school. Describe 3 advantages and 3 disadvantages to the school of using biometrics in this way. [10 ] Topic List 1.2 - Computer Components
- 8.4 - Searching & Sorting Algorithms - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about sorting algorithms - merge and bubble sort - and searching algorithms - linear and bubble search. Based on the 2020 Eduqas (WJEC) GCSE specification. 8.4: Sorting & Searching Algorithms Exam Board: Eduqas Specification: 2020 Merge Sort Merge sort is a sorting algorithm based on the idea of ‘divide and conquer ’. A merge sort divides a list into half , again and again until each data item is separate . Then the items are combined in the same way as they were divided , but now in the correct order . When the individual lists are all merged together as one list again, then the data is in order and the algorithm will end . Bubble Sort This algorithm is based on the comparison of adjacent data elements . Data elements are swapped if they are not in the correct order . A bubble sort is not suitable for large sets of data. Linear Search A linear search is the most simple search algorithm. Each data item is searched in order from the first value to the last as if they were all laid out in a line . The list does not have to be in any order before it is searched . This search is also known as a sequential search because the list is searched in a sequence from start to end. For large lists , this search is not very efficient . Binary Search A binary search is a much more efficient searching algorithm as it generally searches through fewer data and is often much quicker - especially for large data sets. In a binary search, the middle point of the data is selected with each iteration and many data items can be ignored. However, the list of data must already be sorted in order before a binary search can take place. Q uesto's Q uestions 8.3 - Searching & Sorting Algorithms: Linear Search Explain step-by-step how the number 8 would be found in the following list using a linear search : 12, 5, 3, 2, 8, 19, 14, 6 [4 ] Binary Search Explain step-by-step how the number 2 would be found in the following list using a binary search : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 [6 ] Merge Sort Explain step-by-step how a merge sort would sort the following list of numbers: 4, 8, 5, 1, 3, 6, 7, 2 [6 ] Bubble Sort Explain step-by-step how a bubble sort would sort the following list of numbers: 3, 2, 6, 4, 1, 4 [6 ] Watch on YouTube Watch on YouTube Watch on YouTube Watch on YouTube 8.3 - Writing Algorithms Theory Topics 8.5 - Validation & Verification
- 1.2 - Operating Systems | F160 | Cambridge Advanced National in Computing | AAQ
Learn about network operating systems, open source operating systems and proprietary operating systems. Resources based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 1.2 - Operating Systems Watch on YouTube : Network Operating System Open Operating System Proprietary Operating System An operating system is software that manages the resources of a computer system , such as memory , users and files . It also provides a user interface so that humans can interact with the device's hardware . An operating system allows application software to be opened and run . There are three types of operating system that you need to know - network , open and proprietary . Operating Systems Network Operating System (NOS) A network operating system (NOS ) is software that manages network resources and allows computers to communicate over a network . Windows Server , developed by Microsoft , is an example of a network operating system . Characteristics of a Network Operating System Allows for the centralised management of users , data and security across multiple devices on a network . Enables resources such as files , applications and printers to be shared over the network . Manages user authentication and permissions control . Oversees remote access and system monitoring tools . The main type of device that uses a NOS is a server . Other devices, such as desktops or laptops , connect to the server to access shared resources . Windows Server is an example of a popular NOS . Advantages of a Network Operating System Administrators can manage users , files and security on a network from one central location . Resources such as files , printer access and applications can be shared across the network . Access levels can be controlled and user authentication helps protect data . An NOS is scalable - more devices and users can be added as needed . Central servers managed by a NOS make it easier to back up and restore important files . Disadvantages of a Network Operating System Purchasing a NOS and maintaining the servers it runs on can be expensive . Setup and management is complex and may require skilled administrators . If the main server running the NOS fails , connected computers may lose access to resources . Heavy traffic or poor configuration could slow the network down . Who uses a Network Operating System? Application developers can use a NOS to build , test and manage apps that work across networks , such as web applications , multiplayer games or cloud tools . This type of operating system is also used by organisations that need to manage multiple devices , users and resources efficiently across a network , such as a small business or a school . Open Operating System An open operating system is open-source , meaning its source code is freely available for anyone to view , modify and distribute . Source code is the original set of instructions written by a programmer using a high-level language such as Python , Java or C++ . Characteristics of an Open Operating System Users have access to the source code and can see how the OS works . The source code can be modified to suit the specific needs of the user . Development and maintenance may be led by an online community . An open OS is usually free with no licensing costs for most versions. Linux is an example of an open operating system . Android is technically an open-source OS , but most commercial Android devices (like Google Pixel phones ) include proprietary components (like Google Docs or Gmail ), which makes the full system not completely open source . Advantages of an Open Operating System It is usually free to use , modify and distribute the source code . Because the source code can be seen and modified , this type of OS is flexible and customisable . There may be updates from an online community maintaining and improving the software . Promotes experimentation to learn how systems work and try new ideas . Disadvantages of an Open Operating System Programming knowledge and skills are required to modify the source code . There may be security risks if someone edits the source code and redistributes it with malicious code . There will be less official support compared to a proprietary operating system . Some proprietary applications (like Microsoft Access for databases) will only work on a proprietary OS (like Windows ). Who uses an Open Operating System? App developers would use an open OS when the device their application will be used on is not tied to a specific proprietary system (like Windows or MacOS ). For example, a charity making a free educational app for developing countries would choose an open OS so it can run on low-cost , older smartphones . It can be customised and tested on a range of devices . Applications for specific single-purpose systems would also use an open OS , such as an information terminal in a museum . Linux could be used to develop a simple user interface and remove unnecessary features . Proprietary Operating System A proprietary operating system is software that is owned by a company or individual and the source code is not accessible for users to view , modify or distribute . Users must typically buy a licence or agree to the terms of use . Characteristics of a Proprietary Operating System The source code is hidden from the user and cannot be legally modified . A paid licence or subscription is usually required to use the software . It may be maintained and updated by the developer(s) who own it . Only the developer controls updates and the features that are added or fixed . Examples include Microsoft Windows (e.g. Windows 11 ), macOS (for Apple desktops and MacBooks ), iOS (for iPhones ) and iPadOS for iPads ). Advantages of a Proprietary Operating System There is an expectation that it is user-friendly and has been well tested . There may be official support and regular updates for improvements and bug removal . A proprietary OS has a high compatibility with proprietary software such as Microsoft Office or Adobe editing apps . The OS is expected to be stable and secure , with access restricted to system files . Disadvantages of a Proprietary Operating System A paid licence to use the OS is often required , which may be expensive . There is limited customisation for users as the source code cannot be seen or modified . Users rely on the vendor (developer ) for updates and bug fixes . Some proprietary OS are designed to only work on specific hardware (such as iOS only working on iPhones ). Who uses a Proprietary Operating System? App developers will need to use a proprietary OS if they are developing applications for a device that requires a specific proprietary OS , for example if they are creating a game for iPhones , they will need to use iOS . A company designing a finance application on desktops with Microsoft Access and Microsoft Excel must use a proprietary OS like Windows so that it can be integrated with these other types of proprietary applications . Q uesto's Q uestions 1.2 - Operating Systems: 1. What is an operating system ? [2 ] 2. For each of the three types of operating systems , create a poster , information sheet or factfile which includes the following information : Characteristics Advantages Disadvantages Example of how it could be used [10 per OS ] Windows 11 is Microsoft's current operating system . Windows 1.0 was their first release, introduced in 1985 and included basic versions of Calculator , Notepad and Paint . D id Y ou K now? 1.1 - Programs & Applications Topic List 1.3.1 - Application Types
- 1.3 - Input, Output & Storage | OCR A-Level | CSNewbs
Learn about different input and output devices, RAM (random access memory) and ROM (read only memory) and storage devices, including solid state, magnetic and optical types. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 1.3 - Input, Output & Storage Specification: Computer Science H446 Watch on YouTube : Input & output devices Storage devices RAM & ROM Virtual storage This topic covers the internal and external devices required to input data into computer systems , output from them and store data for both temporary and long-term use . Input & Output Devices Input devices , such as a keyboard , mouse , microphone or sensor , allow data to be entered into a computer system for processing . Input can be manual (e.g. typing on a keyboard ) or automatic (e.g. a temperature sensor taking readings ). Output devices , such as monitors , printers and speakers , present the results of processing in a form understandable to humans . Input and output are not limited to text - they may also be visual , audio or tactile (e.g. braille displays or printed paper ). Storage Devices Secondary storage is non-volatile storage used to permanently hold programs and data when not in use by the CPU . There are three types : Magnetic storage uses magnetised patterns on a disk or tape (e.g. hard disk drives or magnetic tape ) to store large amounts of data for a low cost per gigabyte . Solid-state storage uses flash memory with no moving parts (e.g. SSDs and USB drives ), making it very fast , durable and portable . Because there are no moving parts, it is the fastest to access data . Optical storage uses lasers to read and write data as pits and lands on a disc surface (e.g. CDs, DVDs, Blu-ray). Discs are cheap to mass produce , but they are not durable , slow to access and have a low capacity . RAM & ROM Primary storage is low-capacity , internal storage that the CPU can directly access . There are two types: Random Access Memory (RAM ) is volatile storage that temporarily holds both programs and data currently in use , including the operating system . It can be read from and written to , but all contents are lost when the power is turned off . Read Only Memory (ROM ) is non-volatile storage that normally cannot be changed . The contents of ROM are saved when the power is turned off . ROM stores the BIOS and firmware , including the instructions needed to boot the computer when it is switched on . Virtual Storage Virtual storage is the separation of logical storage from physical storage , such as when data is stored remotely and accessed over a network instead of being kept locally . A common example is cloud storage , where data is held on remote servers and accessed via the internet . Benefits are that it is scalable , enables easy collaboration , provides automatic backup and saves local storage space . Drawbacks include that it relies on a stable internet connection , poses security risks and reduces user control over data . Q uesto's K ey T erms Input & Output Devices Secondary Storage: magnetic, solid state, optical, portability, capacity, cost (per GB), access speed, reliability, durability, power consumption Primary Storage: RAM, ROM, volatile, non-volatile Virtual Storage: cloud storage D id Y ou K now? The first commercial hard disk drive , the IBM 305 RAMAC (released in 1956 ), was the size of two fridges , weighed around a tonne , and stored just 5 MB of data - about the same as one .mp3 song . 1.2 - Types of Processor A-Level Topics 2.1 - Systems Software
- Greenfoot | Common Errors | CSNewbs
The most common errors made in Grennfoot when making a game and how to fix them, including when missing punctuation is expected or the end of file is reached while parsing. Common Greenfoot Errors Greenfoot Home If the world becomes greyed out and you can't click on anything then an error has occurred. The actor with the error will have red lines on it. When an error occurs, a red squiggly line will appear underneath the problem. Hover your mouse over the line and a helpful message will appear to help you solve the issue. Some of the more common errors (and how to fix them) are listed below: ; expected Every line with a white background must end in a semi colon ( ; ) ) expected You have missed a bracket . Count the number of open brackets and the number of closed brackets on a line and make sure you have an equal number of both. reached end of file while parsing You are missing at least one curly bracket ( } ) at the end of your program . Press enter to move onto a new line at the bottom; you must have a closed curly bracket with a yellow background and another closed curly bracket with a green background . cannot find symbol You have typed a command incorrectly . Greenfoot uses a system where commands have no spaces and each word after the first word is uppercase . Such as isKeyDown not IsKeyDown and not isKeydown. Check your spelling and capitals carefully. Stuck ? If you start typing but can't remember what commands come next, press Ctrl and Space together to show a list of all possible commands that you can use.
- 3.6 - 7 Layer OSI Model - Eduqas GCSE (2020 spec) | CSNewbs
Learn about networking standards and the seven layers of the Open Systems Interconnected (OSI) model - Application, Presentation, Session, Transport, Network, Data Link and Physical. Based on the 2020 Eduqas (WJEC) GCSE specification. 3.6: 7-Layer OSI Model Exam Board: Eduqas Specification: 2020 What are 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 . What is the 7-layer OSI Model? The OSI ( Open Systems Interconnection ) model is split into 7 layers . The model is used to visualise the different parts of a network as each of the seven layers has a specific role . Splitting a network design into layers is beneficial to programmers as it simplifies design , making it easier to modify and use . Each layer has a certain purpose and is associated with different protocols . The seven layers are explained below: 7 Allows humans and software applications to use the network e.g. browsers (HTTP /HTTPS ) and email (SMTP ) and file transfer (FTP ). 6 The purpose of the presentation layer is to display data in a standard format that other devices can accept and understand . 5 The session layer establishes a connection between computers allowing data to be sent between them. Data can be synchronised in each session to allow for efficient data transfer . 4 TCP breaks the data down into data packets . This layer makes sure the data is sent and received in the correct order and reassembled at the destination without errors. 3 IP is responsible for addressing and routing data packets . The optimal route for the data to take is calculated in this layer. Also known as the 'Internet Layer '. 2 Ethernet sets out the format of data packets . This layer handles transmission errors and passes data to the physical layer . 1 This layer converts the data packets into bits so they can be transferred across a physical connection using routers and switches . Q uesto's Q uestions 3.6 - 7-Layer OSI Model: 1a. What are networking standards ? [ 2 ] 1b. Describe why network designs are split into layers . [ 2 ] 2. Create a diagram similar to the one above and describe each layer of the OSI Model. [ 14 ] 3. Look at the statements below and name the layer that is being described: a. This layer ensures data packets are sent and received correctly. b. This layer checks for errors in transmission and sets out the data packet format. c. This layer displays data in a format that can be understood. d. This layer allows software like web browsers to interact with the network. e. This layer transfers bits across a connection using routers. f. This layer establishes a connection between computer systems. g. This layer uses addresses to ensure data packets take the correct route. [ 7 ] 3.5 - Protocols Theory Topics 3.7 - The Internet
- Python | CSNewbs
Learn how to create simple programs in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Formerly pynewbs.com. Follow the instructions in each section and try the practice tasks on every page . At the end of each section are larger problems to solve. Pyt hon Sections 0. Setting up Python Installing and Using Python 1. Printing and Variables a. Printing b. Comments c. Creating Variables d. Using Variables Section 1 Practice Tasks 2. Inputting Data a. Inputting Text b. Inputting Numbers Section 2 Practice Tasks 7. Subroutines a. Procedures b. Functions Section 7 Practice Tasks 8. Lists a. Using Lists b. 2D Lists c. Dictionaries Section 8 Practice Tasks 9. String Handling a. Basic String Handling b. Number Handling Section 9 Practice Tasks 3. Data Types & Calculations a. Data Types b. Simple Calculations Section 3 Practice Tasks 4. Selection a. If Statements b. Mathematical Operators ( & MOD / DIV) c. Logical Operators Section 4 Practice Tasks 5. Importing from Libraries a. Random b. Sleep c. Date & Time d. Colorama e. More Libraries (math) Section 5 Practice Tasks 6. Loops a. For Loops b. While Loops Section 6 Practice Tasks 10. File Handling a. Open & Write to Files b. Read & Search Files c. Remove & Edit Lines Section 10 Practice Tasks 11. User Interfaces a. Graphical User Interface 12. Authentication a. Error Handling Extended Tasks Extended Task 1 (Pork Pies) Extended Task 2 (Lottery) Extended Task 3 (Blackjack) Extended Task 4 (Vet Surgery) Extended Task 5 (Colour Collection) Extended Task 6 (Guess the Word) Extended Task 7 (Guess the Number)






