top of page

Search CSNewbs

304 results found with an empty search

  • OCR GCSE Topic List | CSNewbs

    The list of topics in the 2020 OCR GCSE Computer Science specifications. OCR GCSE Computer Science (J277) These pages are based on the J277 OCR GCSE Computer Science specification . This website is in no way affiliated with OCR . Component One: Computer Systems OCR GCSE Key Term Generator Paper 1 Playlist on YouTube 1. Systems Architecture 1.1a - The CPU 1.1b - Registers & FE Cycle 1.2 - CPU Performance 1.3 - Embedded Systems 2. Memory & Storage 2.1 - Primary Storage 2.2 - Secondary Storage 2.3 - Units 2.4a - Number Systems 2.4b - Binary Addition & Shifts 2.4c - Character Storage 2.4d - Image Storage 2.4e - Sound Storage 2.5 - Compression 3. Networks 3.1a - Network Types & Performance 3.1b - Network Hardware & Internet 3.2a - Wired & Wireless networks 3.2b - Protocols & Layers 4. Network Security 4.1 - Network Threats 4.2 - Preventing Vulnerabilities 5. Systems Software 5.1 - Operating Systems 5.2 - Utility Software 6. Impacts 6.1a - Impacts of Technology 6.1b - Legislation Component Two: Computational Thinking, Algorithms and Programming Paper 2 Playlist on YouTube 1. Algorithms 1.1 - Computational Thinking 1.2 - Designing Algorithms 1.3 - Searching & Sorting Algorithms 2. Programming Fundamentals 2.1 - Programming Fundamentals 2.2 - Data Types 2.3 - Additional Programming Techniques 3. Producing Robust Programs 3.1 - Defensive Design 3.2 - Testing 4. Boolean Logic 4.1 - Boolean Logic 5. Languages & IDEs 5.1 - Languages & Translators 5.2 - Integrated Development Environment

  • Python | 5b - Sleep | CSNewbs

    Learn how to delay processes using the sleep command in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 5b - Sleep Using Sleep To pause a program, import sleep from the time library . Type the word sleep followed by the number of seconds that you wish the program to break for in brackets . It must be a whole number . Below is an example of a program that imports the sleep command and waits for 2 seconds between printing: from time import sleep print ( "Hello!" ) sleep(2) print ( "Goodbye!" ) You can implement the sleep command within a for loop to produce an effective timer that outputs each second waited to the screen: You could also use a variable instead of a fixed value with the sleep command such as below: from time import sleep for second in range (1,11): print (second) sleep(1) from time import sleep seconds = int ( input ( "How many seconds should I sleep? " )) print ( "Going to sleep..." ) sleep(seconds) print ( "Waking up!" ) Sleep Task ( Slow Calculator) Create a slow calculator program that needs time to think in between calculations. Print a message to greet the user , then wait 3 seconds and ask them to enter a number . Wait another 3 seconds and ask them to enter a second number . Wait 2 more seconds , print “Thinking…” then 2 seconds later print the total of the two numbers added together . Example solution: ⬅ 5a - Rando m 5c - Date & Time ➡

  • 1.3 - Storage | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about on-site storage and cloud storage methods such as private, public, hybrid and community. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 1.3 - Storage Watch on YouTube : On-Site Storage Cloud Storage Locations Cloud Storage Types There are five types of on-site (local ) storage you need to know - file servers , network attached storage (NAS ) devices, portable storage devices, solid state drives (SSD ) and storage area networks (SAN ). In regards to cloud storage , you need to know the different locations (private , public , hybrid and community ) and types (file , object , block , elastic /scalable and cloud-based database services . You need to be aware of the characteristics , advantages and disadvantages of each storage location and type as well as the factors to consider when selecting a storage location and type . What You Need to Know On-Site Storage ? YouTube video uploading soon Cloud Storage Locations ? YouTube video uploading soon Cloud Storage Types ? YouTube video uploading soon Q uesto's Q uestions 1.3 - Storage: 1. What? [2 ] 2. What? [1 ] 3. What? [1 ] 4. What? [1 ] ? D id Y ou K now? 1.2 - Devices Topic List 2.1 - Data Formats & Types

  • 4.5 - Character Sets & Data Types - GCSE (2020 Spec) | CSNewbs

    Learn about the main character sets - ASCII (American Standard Code for Information Interchange) and Unicode. Also, discover the five data types - character, string, integer, real and Boolean. Based on the 2020 Eduqas (WJEC) GCSE specification. 4.5: Character Sets & Data Types Exam Board: Eduqas Specification: 2020 What is a Character Set? A character set is a table that matches together a character and a binary value . Character sets are necessary as they allow computers to exchange data . Two common character sets are ASCII and Unicode . ASCII Unicode ( American Standard Code for Information Interchange ) 0100 0001 0100 0010 0100 0011 Uses Binary 128 Tiny Set of Characters Less Memory Required Per Character U+0042 U+0055 U+004E Uses Hexadecimal 36,536+ Large Set of Characters More Memory Required per Character What are the different data types? When programming, variables should be given appropriate data types . Character String Integer A single character , such as a letter, number or punctuation symbol. Examples: A sequence of characters , including letters, numbers and punctuation. Examples: A whole number . Examples: T 8 ? Harry Waters 14:50pm Ice Age 4 475 -8432 56732 Real Boolean Telephone numbers are always stored as a string , not an integer. True / False Yes / No 0 / 1 An answer that only has two possible values . Examples: A decimal number . Examples: 65.3 -321.1234 909.135 Be careful with punctuation. 32.10 is a real but £32.10 is a string. Q uesto's Q uestions 4.5 - Character Sets & Data Types: 1. What is a character set and why are they needed ? [ 2 ] 2. Describe 3 differences between ASCII and Unicode . [6 ] 3. State the 5 different data types . [ 5 ] 4. State which data type is most suitable for the following variables: a. Age [ 1 ] b. Surname [ 1 ] c. Height (in metres) [ 1 ] d. First Initial [ 1 ] e. Phone number [ 1 ] f. Right-Handed? [ 1 ] 4.4 Arithmetic Shift Theory Topics 4.6 - Graphical Representation

  • Python | Section 7 Practice Tasks | CSNewbs

    Test your understanding of subroutines (procedures and functions) in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 7 Practice Tasks Task One Example solution: Create a program with three different subroutines (procedures ). One subroutine asks the user their name and prints a response. The second asks for their age and prints a response. The third asks for their favourite colour and prints a response. Remember to write subroutines before the main program. Task Two Create a program that asks a user to input the length of a side in a square. Write a function that takes this value and returns it to be printed. Example solution: Task Three Example solution: Create a program that takes 3 inputs from the user – a name, a villain and a place. Write a function that outputs a story using the user’s answers. Task Four Create a calculator program that uses four different subroutines (add, subtract, multiply and divide). In the main program ask the user to make a choice of which operator to use and then to enter two numbers. Keep looping until the user types stop. Use the 'Using Subroutines as a Menu' section in the 7b to help you. Example solution: ⬅ 7b - Functions 8a - Using Lists ➡

  • 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 ➡

  • Python | Section 4 Practice Tasks | CSNewbs

    Test your understanding of selection (if statements) and operators (mathematical and logical). Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 4 Practice Tasks Task One: Spanish Numbers Create a very simple Spanish translation program. Let the user enter a number between one and four then print the Spanish word for that number using if , three elif s and else . One in Spanish is uno , two is dos , three is tres and four is cuatro . If they enter anything else print “I only know 1 to 4 in Spanish!” . Example solutions: Enter a number between 1 and 4: 3 tres Enter a number between 1 and 4: 5 I only know 1 to 4 in Spanish! Task Two: School Trip A school is organising a trip to Alton Towers . The coaches they are hiring can fit 45 people . Enter the total number of people going on the trip and work out how many coaches will be full (using integer division ) and how many people will be left over on a partly full coach (using modulo division ). Example solutions: How many people are going on the trip? 100 There will be 2 full coaches and 10 people on another coach. How many people are going on the trip? 212 There will be 4 full coaches and 32 people on another coach. Task Three: Driving Tractors There are different rules in the United Kingdom for what farmers at certain ages can drive . Ask the user to input their age and then output the relevant information below: Children under 13 cannot drive any tractors. A trained and supervised 13 to 15 year old can drive a low-powered tractor on private flat grass. 16 year olds with a provisional category F licence can drive tractors less than 2.45 metres wide. Young adults from 17 to 20 with the correct licence and training c an drive tracked vehicles that weigh less than 3,500kg. Adults over 21 years old , with the correct licence and training, can drive all types of tractor. Note: Always be safe around machinery in farms regardless of your age. Driving without adequate training and a licence is illegal. Example solutions: How old are you? 8 You cannot drive any type of tractor. How old are you? 13 If you are trained and supervised you can drive a low-powered tractor on private flat grass. How old are you? 19 With the correct licence and training you can drive tracked vehicles that weigh less than 3,500kg. Task Four: Avoid the Three Choose a category like planets , people in your class or months of the year. Secretly choose three of them . Ask the user to enter a word in your category. If they enter one of the three that you chose, they lose . Example solutions: I have secretly selected three months you must avoid! Enter a month of the year: April AHA! You chose one of the secret months, you lose! I have secretly selected three months you must avoid! Enter a month of the year: December Well done, you didn't choose one of my three! ⬅ 4c - Logical Opera tors 5a - Random ➡

  • Greenfoot Guide #1 | World Setup | CSNewbs

    Learn how to start a new Greenfoot program and set up the world and actors ready for the next steps in creating a game. Part 1 of the Greenfoot Tutorial for the Eduqas/WJEC GCSE 2016 specification. 1. Setup & Populating the World Greenfoot Tutorial 1. Open Greenfoot This tutorial uses Version 2.4.2 which is the version students are given to use in the WJEC/Eduqas Component 2 exam . Click here for more information and how to download 2.4.2 . If you are using a more recent version the code should still work but the look of the program in the screenshots may be different. In the Component 2 exam of the 2016 WJEC/Eduqas specification you would skip ahead to the New Object Placements stage further down this page as the classes should be set up for you. Watch on YouTube: 2. New Scenario For a new project, click ' Scenario ' and then ' New '. If you are using a more recent version of Greenfoot select ' New Java Scenario '. Save this new project in a suitable location such as a folder named 'Greenfoot' . You may wish to save this project as ' SimpleGame ' or ' ExampleGame '. 3. Setup the MyWorld class The first thing to do is to create a subclass of World called MyWorld which becomes our background object. Right-click on the World class and select 'New subclass... ' Set the New class name to MyWorld . Choose any image from the 'backgrounds ' image category. I have chosen the 'cell.jpg ' image. Click the Compile button in the bottom right of the Greenfoot window to save the program . 4. Create the Main Character class Now to create a new class for the main character. Right-click on the Actor class and select 'New subclass... ' Give the new object an appropriate name and choose a relevant image . I have named my class 'Sheep ' and selected the sheep.png image. 5. Right-click on Actor and create two more classes: Collectable objects to pick up (e.g. my orange) An enemy character to avoid (e.g. my elephant) Don't forget to compile the program. Watch on YouTube: After creating your classes you must move them over to the game world. This is known as populating the world . 1. New Object Placements Right-click on your main character object and select the top option e.g. 'new Sheep()'. Drag your mouse to the world and click to drop it. Complete the following actions: Place 1 main character object. Place 5 collectible objects. Place 2 enemy objects. 2. Save the World Once you have populated your world with objects then right-click anywhere on the background and select 'Save the World '. This saves the positions of each object so that it won't reset every time you start a new game. You can close the MyWorld code that automatically opens when you save the world, we never add any code to this window. Part 2 - Movement (Arrow Keys) >

  • OCR CTech IT | Unit 1 | 2.3 - Utility Software | CSNewbs

    Learn about different types of utility software including firewall, anti-virus, defragmenter, compressor and backup software. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.3: Utility Software Exam Board: OCR Specification: 2016 - Unit 1 What is utility software? Utility software are dedicated programs used for the maintenance and organisation of a computer system. Antivirus Software Antivirus software is used to locate and delete viruses on a computer system. The antivirus scans each file on the computer and compares it against a database of known viruses . Files with similar features to viruses in the database are identified and deleted . There are thousands of known viruses but new ones are created each day by attackers so antivirus software must be regularly updated to keep systems secure. Other roles of an antivirus: Checking all incoming and outgoing emails and their attachments . Checking files as they are downloaded . Scanning the hard drive for viruses and deleting them . Firewall A firewall manages incoming and outgoing network traffic . Each data packet is processed to check whether it should be given access to the network by examining the source and destination address . Unexpected data packets will be filtered out and not accepted to the network. Defragmentation As files are edited over time they will become fragmented - this is when the file is split into parts that are stored in different locations on the hard disk drive . Files that are fragmented take longer to load and read because of the distance between the fragments of the file. Defragmentation software is used to rearrange the file on the hard disk drive so that all parts are together again in order. Defragmentation improves the speed of accessing data on the hard disk drive. Compression Compression is used to decrease the size of a file . This is beneficial as more files can be stored on a storage device if the size has been reduced. Compressed files can be transferred faster across a network because they are smaller in size . Monitors, Managers & Cleaners Other roles of a firewall include: Blocking access to insecure / malicious web sites . Blocking certain programs from accessing the internet . Blocking unexpected / unauthorised downloads . Preventing specific users on a network accessing certain files . Monitoring network ports . System monitors check the resources of a computer and display how much CPU time and memory current applications are using. Task managers allow a user to close processes and applications if they have stopped responding or if one is using too many resources. Press Ctrl + Alt + Delete on any Windows computer to open Windows Task Manager which is a system monitor and task manager tool. A disk cleaner is used to scan a hard disk drive and remove unused files . This is used to free up space on the hard drive. A disk scanner will scan a hard disc for any errors and attempt to repair them . Backing Up Data A backup is a copy of data that can be used if the original data is corrupted or lost . Backups of all data should be made regularly and stored in an alternative location . Alternatively, imaging (also known as disk cloning ) creates an identical image of a storage drive to be stored in a different location . Q uesto's Q uestions 2.3 - Utility Software: 1. What is the purpose of utility software ? [1 ] 2a. Describe how antivirus software works. [ 2 ] 2b. Describe 3 further roles of antivirus software . [ 3 ] 3a. What is the purpose of a firewall ? [ 2 ] 3b. Describe 3 further roles of a firewall . [ 3 ] 4a. Describe what is meant by defragmentation . [ 2 ] 4b. Explain why defragmentation software is used . [ 2 ] 5. Describe 2 benefits of using compression . [ 2 ] 6a. Explain why system monitor / task management software could be used . [ 2 ] 6b. Explain the purpose of disk cleaners and disk scanners . [ 2 ] 7a. Explain what a backup is and why they are are important. [ 2 ] 7b. Describe what imaging is. [ 2 ] 2.2 - Applications Software Topic List 2.4 - Operating Systems

  • 4.1 - Security Considerations | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about security threats, including botnets and DDoS attacks and both physical and digital security mitigations. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 4.1 - Security Considerations Watch on YouTube : Security threats Physical security Digital security You need to know the risks that specific security threats pose to applications , including botnets , DDoS attacks , hacking and malware . You need to know how both physical security mitigations (e.g. biometrics , locks and RFID ) and digital security mitigations (e.g. encryption , firewalls and anti-malware ) protect application software against threats . What You Need to Know Security Threats ? YouTube video uploading soon Physical Security Mitigations ? YouTube video uploading soon Digital Security Mitigations ? YouTube video uploading soon Q uesto's Q uestions 4.1 - Security Considerations: 1. What? [2 ] 2. What? [1 ] 3. What? [1 ] 4. What? [1 ] ? D id Y ou K now? 3.2 - Protocols Topic List 5.1 - Testing

  • 1.2 - Designing Algorithms - OCR GCSE (J277 Spec) | CSNewbs

    Learn about designing algorithms including constructing pseudocode and flowcharts. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR 1.2: Designing Algorithms Specification: J277 Watch on YouTube : Inputs, Processes & Outputs Structure Diagrams Pseudocode Flowcharts Writing Code in Exams Trace Tables What is an algorithm? An algorithm is a set of instructions , presented in a logical sequence . In an exam you may be asked to read and understand an algorithm that has been written. To prove your understanding you may be asked to respond by actions such as listing the outputs of the algorithm, correcting errors or identifying an error within it. Programmers create algorithm designs as a method of planning a program before writing any code. This helps them to consider the potential problems of the program and makes it easier to start creating source code. There are two main methods of defining algorithms are pseudocode and flowcharts . In exams , OCR will display algorithms in their own 'OCR Exam Reference Language '. Visit the Python section of CSNewbs ---> OCR Exam Reference Language Below is a list of all of the code concepts from the OCR J277 GCSE specification that you need to know , presented in OCR Exam Reference Language (OCR ERL ), which is how code will be presented in the paper two exam . The code below is NOT Python . There are several differences between OCR ERL and real high-level languages like Python or Java , especially in the 'String Handling ' section and with for loops . In an exam, you can write in OCR ERL or a programming language you have learnt. All code-related videos in the CSNewbs YouTube series for Paper 2 show both OCR ERL and Python side-by-side . Basic Commands Annotation // Comments are written using two slashes Assignment name = "Harold" age = 49 Constants and Global Variables constant tax = 15 global name = "Admin" Input / Output name = input ( "Enter your name") print ("Transaction Complete") Casting str (29) int ("102") float (30) bool ("False") Random Number number = random (1,100) Selection Selection (if - then - else) if firstname == "Steven" then print("Hello" + firstname) elif firstname == "Steve" then print("Please use full name") else print("Who are you?") end if Selection (case select) switch day: case “Sat”: print(“It is Saturday”) case “Sun”: print(“It is Sunday”) default : print(“It is a Weekday”) endswitch Iteration Iteration (for loop) for i = 1 to 10 step 1 input item next i Iteration (while loop) while firstname ! = "Steven" firstname = input("Try again:") endwhile Iteration (do while loop) do firstname = input("Guess name:") until firstname == "Steven" String Handling Length of a String word = "dictionary" print(word.length ) outputs 10 Substrings word = "dinosaurs" print(word.substring (2,3)) outputs nos print(word.left (3)) outputs din print(word.right (4)) outputs aurs Concatenation name = "Penelope" surname = "Sunflower" print(name + surname) String Cases phrase = "The Cat Sat On The Mat" print(phrase .lower ) print(phrase .upper ) ASCII Conversion ASC ("C") returns 67 CHR (100) r eturns "d" File Handling File Handling - Reading Lines file1 = open ("Customers.txt") while NOT file1.endOfFile() print(file1.readLine() ) endwhile file1.close() File Handling - Writing to a (New) File newFile ("paint.txt") file2 = open ("paint.txt") paint = input("Enter a paint colour:") file.writeLine (paint) file2.close() Arrays Declare Array array names[3] array names = "Ella", "Sam", "Ali" Declare 2D Array array grid[4,5] Assign Values names[2] = "Samantha" grid[1,3] = "X" More Programming Keywords Connecting strings together using the + symbol is called concatenation . Extracting certain parts of a string (e.g. using .substring() ) is called slicing . An if statement within an if statement or a loop within a loop is called nesting . Flowcharts A flowchart can be used to visually represent an algorithm. It is more likely you will need to be able to interpret a flowchart rather than draw one. The flowchart symbols are: The terminator symbol is also known as a terminal . Algorithm Examples Below are two different methods for representing the same algorithm - a program to encourage people to buy items cheaply at a supermarket. The program allows the price of items in a supermarket to be entered until the total reaches 100. The total price and the number of items entered are tracked as the program loops. Once the total reaches 100 or more, an if statement checks how many items have been entered and a different message is printed if there are 20 or more items, 30 or more items or less than 20 items. Pseudocode // This is a program to see how many items you can buy in a supermarket before you spend over £100} total = 0 itemsentered = 0 while total < 100 itemprice = input ("enter the price of the next item") total = total + itemprice itemsentered = itemsentered + 1 endwhile if itemsentered >= 20 then print ("You are on your way to saving money.") elif itemsentered => 30 then print ("You're a real money saver.") else print ("Look for better deals next time.") endif Flowchart Reading Algorithms In an exam you may be asked to read an algorithm and prove your understanding , most commonly by listing the outputs . Start from the first line and follow the program line by line , recording the value of variables as you go . When you encounter a for loop , repeat the indented code as many times as stated in the range . Example Algorithm: procedure NewProgram() maxvalue = input() for i = 1 to maxvalue output (i * i) ??????? print("program finished") endprocedure Example Questions: 1. List the outputs produced by the algorithm if the 'maxvalue' input is 5 . 2. State the code that has been replaced by '???????' and what the code's purpose is. Example Answers: 1. Outputs: 1 4 9 16 25 program finished 2. Missing Code: next i Purpose: Moves the loop to the next iteration. Watch on YouTube Structure Diagrams Structure diagrams display the organisation (structure ) of a problem in a visual format , showing the subsections to a problem and how they link to other subsections . The noughts and crosses structure diagram below has subsections in light yellow. Each subsection could be coded by a different person . Structure diagrams are different to flowcharts (those show how data is input, processed and output within a program or system). You may be asked in an exam to draw or fill in a simple structure diagram . Trace Tables Trace tables are used to track the value of variables as a program is run . They can be used to manually track the values in order to investigate why the program isn't working as intended . Each row in the trace table represents another iteration . Each column stores the value of a variable as it changes. See below how the trace table is updated for the simple algorithm on the left. num1 = 2 num2 = 5 for i = 1 to 3 output (num1 + num2) num2 = num2 - 1 next i print("complete") For most algorithms, not every variable will be updated in each iteration . Values may not be entered in the order of the trace table either. For example, each iteration outputs num1 + num2 and then decreases the value of num2 by 1. Q uesto's Q uestions 1.2 - Designing Algorithms: 1. What is the definition of an algorithm ? Name two ways an algorithm can be designed . [ 3 ] 2. Using a high-level programming language such as Python , or the OCR Exam Reference Language , write an algorithm that inputs 6 decimal numbers and outputs the total , largest , smallest and average values. [ 8 ] For example, entering 3.1 , 5.3 , 2.3 , 5.4 , 2.9 and 4.4 would output 23.3 (total), 5.4 (largest), 2.3 (smallest) and 3.9 (average). 3. Draw and label the flowchart symbols . [ 6 ] 4. What is the purpose of a structure diagram ? [ 2 ] 5. Create a trace table for the NewProgram() algorithm in the Reading Algorithms section on this page. [ 7 ] 1.1 - Computational Thinking Theory Topics 1.3 - Searching & Sorting

  • Python | Extended Task 5 | CSNewbs

    Test your ability to create a more complex program in Python based on a given scenario. Perfect for students learning GCSE Computer Science in UK schools. Extended Task 5 Collection of Colours A new paint company , 'Sparkle and Shine Paint Schemes ' needs a program that can manage the different colours they sell to customers. They currently have a file with many different colours and want a program made with features to add, remove and list the different colours . For this task, you will need to create a document and include the following sections (with screenshots where appropriate): An introduction to explain the Purpose of your program . A List of Requirements for a successful program. Screenshots of your code (with comments in your code to show understanding). Testing – Create a plan to show how you will test your program and then explanations of any errors that you found and how they were fixed . An Evaluation of what worked, what didn’t, and how you met each of your requirements from your original list. Also, discuss further improvements that you could have made to improve your program. Reminders for this task: You will need to create a selection of options for the user to choose from. Subroutines and a while true loop may help. Section 10 will help you to open, write and read from files . Section 10c shows how to remove lines from a file. There are multiple ways to approach this program, and your solution might look different from the example. Break the problem down and focus on one part at a time. Example solution: Use a menu to select the different options using a command word. Download the colours file: Selecting Total will list the number of colours in the file. This should change whenever a new colour is added or one is removed . Selecting Add will allow the user to enter the name of a new colour to be added to the file . Selecting Letter will allow the user to enter a letter . All colours beginning with that letter should be displayed . Selecting Remove will allow the user to enter a colour to be removed from the file . Selecting Random will display a random colour from the file. Selecting End will stop the program. ⬅ Extended Task 4 (Vet Surgery) Extended Task 6 (Word Game) ➡

© CSNewbs 2026

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