Search CSNewbs
304 results found with an empty search
- Python | 8a - Using Lists | CSNewbs
Learn how to create and use lists in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 8a - Using Lists Lists A list is a temporary data structure . Any changes made to the list while the program is running will not be saved the next time it is run . Data can be added to and removed from lists so they can change in size (unlike an array which is fixed and not used in Python). It is important to note that each data element in a list has an index so that it can be specifically referenced (to delete it for example) and that indexes start at 0 . A list of the rainbow colours in order would start at 0 like this: Creating & Printing Lists Lists use square brackets in Python. Separate list items with commas . Strings must use speech marks and integers do not use speech marks. people = [ "Alan" , "Jesse" , "Max" , "Jack" ] years = [ 2010, 2019, 2001, 2016 ] There are many different ways to print items from a list depending on how you want it to look . Print all items on one line Type the list name into a print command to output the complete list . Typing an asterisk * before the list name removes punctuation . cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] print (cities) cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] print (*cities) ['Shanghai', 'Sao Paolo', 'Bishkek', 'Asmara'] Shanghai Sao Paolo Bishkek Asmara Print each item on a separate line To print a list line-by-line use a for loop to cycle through each item. 'city ' is just a variable name and can be replaced with the traditional 'i ' or anything relevant to the context, such as 'colour ' in a list of colours or 'name ' in a list of people. cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] for city in cities: print (city) Shanghai Sao Paolo Bishkek Asmara Print separated items on one line To print separated data elements on the same line then you can use the end command which defines what should go after each item . The example below uses slashes but end = " , " would add comma and space between each element. cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] for city in cities: print (city, end = " / " ) Shanghai / Sao Paolo / Bishkek / Asmara / Print specific list items To print an element with a certain index , put the index in square brackets . But remember that the index starts at 0 not 1. cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] print ( "The first city is" , cities[0]) print (cities[2], "is the third city" ) The first city is Shanghai Bishkek is the third city Create a list of five different of foods . Print all list items on one line . Then print each item on a different line . Finally print just the first and fifth items . Example solution: lettuce yoghurt tomato artichoke tuna lettuce yoghurt tomato artichoke tuna The first item is lettuce The fifth item is tuna Lists Task 1 (Five Foods ) Lists Task 2 (Four Numbers ) Create a list of four integer values . Print all list items on one line separated by colons . Example solutions: 345:123:932:758: 812:153:783:603: Add (Append / Insert) to a List Append items to the end of a list To add a new item to the end of a list use the .append() command. Write .append() after the name of your list, with the new data in brackets . pets = [ "dog" , "cat" , "hamster" ] pets.append( "rabbit" ) print (*pets) fillings = [ "ham" , "cheese" , "onion" ] extra = input ( "Enter another filling: " ) fillings.append(extra) print ( "Your sandwich:" , *fillings) dog cat hamster rabbit Enter another filling: lettuce Your sandwich: ham cheese onion lettuce Insert items to a specific index Use the insert command to place an item in a specific position within the list. Remember that Python counts from 0 so the medals example below puts "silver" as index 2 , which is actually the 3rd item . medals = [ "platinum" , "gold" , "bronze" ] medals.insert(2, "silver" ) print (*medals) names = [ "Stacy" , "Charli" , "Jasper" , "Tom" ] name = input ( "Enter a name: " ) position = int ( input ( "Enter an index: " )) names.insert(position,name) print (*names) platinum gold silver bronze Enter a name: Lena Enter an index: 0 Lena Stacy Charli Jasper Tom Enter a name: Pat Enter an index: 3 Stacy Charli Jasper Pat Tom Use a loop to add items to a list A for loop can be used to add a certain number of items to a list. A while loop can be used to keep adding values until a certain value (e.g. ' stop ' or ' end ') is input. animals = [ ] for i in range (4): animal = input ( "Enter an animal: " ) animals.append(animal) print ( "\nAnimals:" , *animals) animals = [ ] while True : animal = input ( "Enter an animal: " ) if animal == "stop" : break else : animals.append(animal) print ( "\nAnimals:" , *animals) Enter an animal: lion Enter an animal: horse Enter an animal: hyena Enter an animal: squirrel Animals: lion horse hyena squirrel Enter an animal: rhino Enter an animal: gazelle Enter an animal: deer Enter an animal: stop Animals: rhino gazelle deer Example solution: Lists Task 3 (Favourite Musicicans ) Create a list of three musicians or bands you like . Print the list . Then append two new bands using two inputs . Print the list again. Use the sandwich filling example for help. Musicians I like: Lana Del Rey Devon Cole Elly Duhé Enter another musician: Charli XCX Enter another musician: Kenya Grace Musicians I like: Lana Del Rey Devon Cole Elly Duhé Charli XCX Kenya Grace Lists Task 4 (Missing 7 ) Create a list of numbers in order from 1 to 10 but miss out 7 . Use the insert command to add 7 in the correct place . Print the list before and after you insert 7. Example solution: 1 2 3 4 5 6 8 9 10 1 2 3 4 5 6 7 8 9 10 Lists Task 5 ('Land' Countries ) Use a while True loop to input countries that end in 'land' until the word 'finish ' is input . Print the list at the end. Note: You do not need to check if the countries entered are correct. There are also more than four. Example solution: Enter a country ending in 'land': Iceland Enter a country ending in 'land': Poland Enter a country ending in 'land': Switzerland Enter a country ending in 'land': Thailand Enter a country ending in 'land': finish Country list: Iceland Poland Switzerland Thailand Delete (Remove/Pop) from a List Delete items with a specific value To delete data with a certain value use the .remove() command, with the value in brackets . trees = [ "fir" , "elm" , "oak" , "yew" ] trees.remove( "elm" ) print (*trees) fir oak yew trees = [ "fir" , "elm" , "oak" , "yew" ] tree = input ( "Select a tree to remove: " ) trees.remove(tree) print (*trees) Select a tree to remove: oak fir elm yew Delete items with a specific index To delete data in a specific position in your list use the .pop() command, with the position in the brackets . Remember that indexes start at 0 so .pop(0) removes the first item . Negative values start from the end of the list , so -1 is the final item and -2 is the second last item and so on. kitchen = [ "plate" , "cup" , "spoon" , "jug" ] kitchen.pop(0) print (*kitchen) kitchen = [ "plate" , "cup" , "spoon" , "jug" ] kitchen.pop(-2) print (*kitchen) kitchen = [ "plate" , "cup" , "spoon" , "jug" ] index = int ( input ( "Select an index: " )) kitchen.pop(index) print (*kitchen) cup spoon jug plate cup jug Select an index: 1 plate spoon jug Delete all items in a list To delete data in a list use the .clear() command. insects = [ "ant" , "bee" , "wasp" ] insects.clear() insects.append( "hornet" ) print (*insects) hornet Lists Task 6 (Day Off ) Example solution: Create a list with the five week days . Ask the user to input a weekday and remove that day from the list. Print the list. Which day do you want off? Tuesday Your new days of work: Monday Wednesday Thursday Friday Lists Task 7 (May and October ) Create a list with the twelve months in order . Delete May and then October using the pop command by referring to their indexes in the list. Print the list. Note: Be aware the index of each month after May will change when May is popped from the list. Example solution: January February March April June July August September November December Finding the Length of a List To find the length of a list use the len function. You can create a separate variable for the length (shown in the first example below) or use the len command directly (second example). states = [ "Maine" , "Utah" , "Ohio" , "Iowa" ] length = len (states) print ( "There are" , length , "states in the list." ) states = [ "Maine" , "Utah" , "Ohio" , "Iowa" ] print ( "There are" , len (states), "states in the list." ) There are 4 states in the list. Lists Task 8 (Q Words ) Use a while True loop to input words beginning with q until the word ' stop ' is entered. Then use len to find the length of the list and print this value. Note: You do not need to check if the entered words actually start with q. Example solution: Input a Q word: question Input a Q word: quick Input a Q word: quiet Input a Q word: quandry Input a Q word: stop You wrote 4 Q words! Cycle Through List Items A for loop can be used to cycle through each item in a list. The following examples present some ways that this may be used. This program uses a for loop to add a word (David) before each list item. davids = [ "Beckham" , "Attenborough" , "Schwimmer" , "Tennant" , "Lynch" ] for i in range (5): print ( "David" , davids[i]) David Beckham David Attenborough David Schwimmer David Tennant David Lynch An if statement can be used within a for loop to check the value of each item . The example below checks how many items are 'medium'. sizes = [ "small" , "medium" , "small" , "large" , "medium" , "small" ] count = 0 for i in range (6): if sizes[i] == "medium" : count = count + 1 print ( "There were" ,count, "medium choices." ) There were 2 medium choices. The program below uses a while loop to allow entries until 'stop ' is input then a for loop to check the value of each item . Because the final length of the list is not known when the program starts, the len command is used in the range of the for loop . sports = [] fcount = 0 rcount = 0 while True : option = input ( "Choose football or rugby: " ) sports.append(option) if option == "stop" : break for i in range ( len (sports)): if sports[i] == "football" : fcount = fcount + 1 elif sports[i] == "rugby" : rcount = rcount + 1 print ( "\nResults:" ,fcount, "people chose football and" ,rcount, "chose rugby." ) Choose football or rugby: rugby Choose football or rugby: rugby Choose football or rugby: football Choose football or rugby: rugby Choose football or rugby: football Choose football or rugby: stop Results: 2 people chose football and 3 chose rugby. Lists Task 9 (Over 25 ) Create a list with the following eight numbers: 13, 90, 23, 43, 55, 21, 78, 33 Use a for loop to cycle through the list and check if each item is over 25 . Use a count variable to increase by 1 if the number is over 25. At the end print how many numbers are over 25 - there are five . Example solution: 5 numbers are over 25. Lists Task 10 (Favourite Lesson ) Use a while True loop to keep inputting school subjects until ' done ' is entered. Keep a count of how many times ' Maths ' is entered. Print the total number of people who entered maths. Example solution: Enter a subject: English Enter a subject: Maths Enter a subject: Art Enter a subject: Maths Enter a subject: History Enter a subject: done There were 2 people who chose maths. Sorting Lists The .sort() command will sort elements in a list into alphabetical order (if a string ) or numerical order (if a number ). names = [ "Robb" , "Jon" , "Sansa" , "Arya" , "Bran" , "Rickon" ] print ( "Original:" , *names) names.sort() print ( "Sorted:" , *names) Original: Robb Jon Sansa Arya Bran Rickon Sorted: Arya Bran Jon Rickon Robb Sansa numbers = [56,98,23,12,45] numbers.sort() print (*numbers) 12 23 45 56 98 The .sort() command can be used to sort values in descending order by including reverse = True in the brackets. names = [ "Robb" , "Jon" , "Sansa" , "Arya" , "Bran" , "Rickon" ] print ( "Original:" , *names) names.sort(reverse = True ) print ( "Sorted:" , *names) Original: Robb Jon Sansa Arya Bran Rickon Sorted: Sansa Robb Rickon Jon Bran Arya numbers = [56,98,23,12,45] numbers.sort(reverse = True ) print (*numbers) 98 56 45 23 12 Lists Task 11 (Sorted Fruit ) Example solution: Use a for loop to append six fruits to an empty list. Sort the list into alphabetical order and print it. Enter a fruit: strawberry Enter a fruit: kiwi Enter a fruit: lemon Enter a fruit: pear Enter a fruit: orange Enter a fruit: mango Sorted fruit: kiwi lemon mango orange pear strawberry Searching Through Lists A simple if statement can be used to see if a certain value appears within a list. names = [ "Alex" , "Bill" , "Charlie" , "Darla" ] name = input ( "Enter a name: " ) if name in names: print ( "Yes," , name , "is in the list." ) else : print ( "Sorry," , name , "is not in the list." ) Enter a name: Bill Yes, Bill is in the list. Enter a name: Sadie Sorry, Sadie is not in the list. Lists Task 12 (Packed Suitcase ) Example solutions: Create a list with five items to take on holiday. Ask the user to input an item and use an if statement to check if it is or isn't in the list. What should I pack? sun cream I've already packed sun cream What should I pack? toothpaste Whoops! I forgot to pack toothpaste Calculating the Sum of a List To calculate the sum of a list of numbers there are two methods. Using Python's built-in sum function : numbers = [1,4,2,3,4,5] print ( sum (numbers)) Both methods will result in the same output : 19 Using a for loop to cycle through each number in the list and add it to a total . numbers = [1,4,2,3,4,5] total = 0 for number in numbers: total = total + number print (total) Lists Task 13 (Sum and Average ) Example solution: Use a for loop to ask the user to input 5 numbers and append each to a list. Use the sum command to output the total and use it calculate the average . Enter a number: 6 Enter a number : 7 Enter a number : 6 Enter a number : 9 Enter a number : 4 The total is 32 The average is 6.4 Extending a List .extend() can be used in a similar way to .append() that adds iterable items to the end of a list . This commands works well with the choice command (imported from the random library ) to create a list of characters that can be randomly selected. The code below adds a lowercase alphabet to an empty list and then, depending on the choice of the user, adds an uppercase alphabet too. The choice command is used in a loop to randomly select 5 characters. Using .extend() to make a random 5-character code from random import choice list = [] list. extend ( "abcdefghijklmnopqrstuvwxyz" ) upper = input ( "Include uppercase letters? " ) if upper == "yes" : list. extend ( "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ) code = "" for number in range (5): letter = choice (list) code = code + letter print ( "Your five character code is" , code) Possible outputs: Include uppercase letters? yes Your five character code is yPfRe Include uppercase letters? yes Your five character code is GJuQw = Include uppercase letters? no Your five character code is gberv Extend treats each character as an indidual item whereas append adds the whole string as a single entity . Most of time append would be used, but extend is suitable for a password program as additional individual characters can be added to a list depending on the parameters (e.g. lowercase letters, uppercase letters, numbers and special characters). list = [] list. extend ( "ABCD" ) list. extend ("EFGH" ) print (list) list = [] list. append ( "ABCD" ) list. append ("EFGH" ) print (list) ['A','B','C','D','E','F','G','H'] ['ABCD' , 'EFGH'] = = Practice Task 14 Use the code above (for a 5-character code ) to help you make a password generator . Ask the user if they want uppercase letters , numbers and special characters and use the extend command to add them to a list of characters if they type yes (you should extend lowercase characters into an empty list regardless, like in the code above). Use a for loop and the choice command (imported from the random library) to randomly generate a 10-character password . Example solutions: Include uppercase letters? yes Include numbers? yes Include special characters? yes Your new password is RjWSbT&gW5 Include uppercase letters? no Include numbers? yes Include special characters? no Your new password is hdf8se9y2w ⬅ Section 7 Practice Tasks 8b - 2D Lists ➡
- App Inventor 2 | Munchin' Pizza | CSNewbs
Learn how to use App Inventor 2 to create simple programs. Try to complete task 3 on this page. Perfect for Key Stage 3 students to experiment with block coding, objects and properties. App Inventor Task 3 - Munchin' Pizza This page will teach you how to make a simple app that changes pictures when a button is pressed . You can make the app more complex by adding sounds or additional buttons. Step 1: Set up App Inventor 2 Open App Inventor 2 (use the button on the right) and create a new project. You will need to log in with a Google account. Download the picture images from the zipped folder on the App Inventor 2 Basics page here . Once you have downloaded the pizza pictures you will need to upload them. Find the Media tab on the right side of App Inventor and click 'Upload File...' You will need to upload each picture individually. In the Palette tab on the left side, drag two buttons into the middle screen so they look like this: In the Components tab on the right, click on Button1 and click the Rename button at the bottom to change it to Pizza . Then Rename Button2 to Munch . This will help us when we code later as it will be less confusing. Click on the second button (Munch) that you just dragged into the centre then look in the Properties tab on the right and scroll down to Text . Change 'Text for Munch' to something like 'Munch Pizza' . Now click on the first button in the centre (Pizza) and in the Properties tab, click on Image and select the first image. It should be the full slice of pizza. When you have set the image, you might notice it goes a bit crazy. Still in the Properties tab, change the Height and Width to 'Fill parent...' for both. This will make the image fit within the boundaries of the screen. Finally, change the Text for the Pizza button to be blank. Otherwise it will appear on top of the pizza and look odd. So far you should have a button disguised as a pizza and another button that tells you to munch that lovely cheesy deliciousness. If your program does not look like this, read the instructions above again carefully. Step 2: Code Click on the Blocks button in the top right to start adding code. In the Blocks tab on the left side click on Munch and drag the when Munch Click block into the centre. This block will execute any code inside of it whenever the munch button is clicked. In the Blocks tab on the left side click on Logic and drag an if then block and snap it inside the block you just dragged over. Click on the blue cog button and drag four else if blocks inside the if block at the bottom. The blocks at the top will automatically update when you drag the blocks under the if block underneath. Because we are using different images, we need to check which image is currently being displayed, so we know which picture to change to. Firstly we want to check if the first image is being displayed. Connect an = block from the Logic section. Then add a Pizza Image block from the Pizza section. Lastly grab a " " block from the Text section and write the name of your first image inside (e.g. pizza1.jpg) Don't forget the extension (.jpg). But what does this code actually mean? It is checking to see what the current pizza image is. And if it is pizza1.jpg then it is going to... ...change the picture to pizza2.jpg, as if someone has munched the pizza! Grab a set Pizza Image to block from Pizza and then snap another " " block from Text and add the pizza2.jpg text inside. Now that we have written the code to check the current picture and move it to the next one when pressed, we just need to copy this for the other four pizza pictures. Rather than select all the blocks again, right-clicking on the blocks and selecting 'Duplicate' will copy them. Copy each block and then change the values so that if pizza2.jpg is the current image, then it sets it to pizza3.jpg and so on. Make sure that pizza5.jpg sets the image to pizza1.jpg so that it goes round in a loop. Program 3 Complete! Step 3: Run The easiest way to run an app that you have created at home using App Inventor 2 is to download the free MIT AI2 Companion App on your smartphone from the Google Play Store . At the top of the App inventor program on your computer , click on Connect and AI Companion . This will generate a six-digit code you can type into your phone. If your school has the emulator installed, you can also use this to test your app. Extra Step: Challenges 1. Create your own images and upload them . You can easily create your own set of pictures and link them together. Why not try: Eating a different type of food (e.g. cookie or doughnut). A simple scene that changes from night to day. A simple character that changes appearance (like Pikachu powering up a thunder strike with each button press). 2. Add a sound effect whenever a button is pressed . In the video at the top of the page, you'll see I have a 'munch' sound whenever the button is pressed. You could record this sound yourself or use a sound effect site. Once you have got your sound file (it should be short and .mp3) you need to upload it, just like you uploaded your images. In the Designer layout click 'Upload file...' in the Media tab on the right. Then look in the Palette tab on the left side, open the Media section and drag a Sound block into the centre. It will appear underneath the phone screen in a section called 'non-visible components' which is fine. Now click on Properties on the right side and choose the sound file you just uploaded in the Source box. Click on the Blocks button in the top right to start adding the code! In the Blocks tab on the left side, click on Sound1 and drag the call Sound1 Play block directly underneath when Munch click . This will play the sound everytime the button is pressed. 3. Add more buttons . You could add a second clickable button which reverses the pattern and a third button that resets the order back to the first image. Adding new buttons is easy - drag them from the Palette tab in the Designer layout. Change the button text in the Properties tab and the name of the button in the Components tab. To add code, click on Blocks in the top right then you can duplicate the code for Munch by right-clicking and choosing Duplicate. Now just change the values to what you want. If you are making a reset button, you don't need an if then statement, just set the image to your first image when the button is clicked. Keep messing around with the program and have fun! KS3 Home Tasks 4, 5 & 6
- 6.1b - Legislation - OCR GCSE (J277 Spec) | CSNewbs
Learn about key computing laws including the Data Protection Act (2018), Computer Misuse Act (1990), Copyright, Designs and Patents Act (1988) and software licences. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR 6.1b: Legislation Specification: J277 Watch on YouTube : Data Protection Act Computer Misuse Act Copyright, Designs & Patents Act Open Source Licence Proprietary Licence Data Protection Act (2018) In 2018 the European Union introduced GDPR (General Data Protection Regulation ) to protect the privacy of data for people in the EU. The UK matched this by updating the Data Protection Act introduced in 1998 to become the Data Protection Act (2018) . This act protects the data of individuals that is stored on computers and processed by organisations. How the Data Protection Act works: Each person who has their data stored is known as a data subject . An employee within an organisation must be appointed as a data controller and it is they who are responsible for registering with the Information Commissioner . The Information Commissioner is the person in the UK who is responsible for managing several laws , most significantly the Data Protection Act. When registering with the Information Commissioner, the organisation's data controller must be clear on exactly: What information they are collecting, Why it is being collected, What the data will be used for . The six principles of the Data Protection Act state that data must be: 1. Collected lawfully and processed fairly. 4. Data must be accurate and up-to-date. 2. Only used for the reasons specified. Principles of the Data Protection Act (2018) 5. Data must not be stored for longer than necessary, 3. Data must be relevant and not excessive. 6. Data must be stored and processed securely. Computer Misuse Act (1990) This act was introduced as computers became cheaper and more common at home and work . The act attempts to stop and punish those who use computers inappropriately . Breaking any of the three principles could result in fines and a jail sentence but only if it can be proved it was done on purpose and not by accident. The Computer Misuse Act (1990 ) includes three main principles : 1. No unauthorised access to data. Example: Hacking a computer system. 2. No unauthorised access to data that could be used for further illegal activities. Example: Accessing personal data to use as blackmail or identity theft. 3. No unauthorised modification of data. Example: Spreading a virus to change data. Copyright, Designs & Patents Act (1988) This act makes it a criminal offence to copy work that is not your own without the permission of the creator or the copyright holder. This can refer to text, images, music, videos or software. Owning the copyright of an image might not prevent others from copying and using it but this act means that the owner can bring legal proceedings in court to those who have stolen their work . However, it is difficult to trace who has stolen work once it has been uploaded to the internet and copies can easily spread, especially television shows and movies. This act specifically prohibits the following actions: Making copies of copyrighted material to sell to others . Importing and downloading illegally copied material (except for personal use). Distributing enough copyrighted material to have a noticeable effect on the copyright holder . Possessing equipment used to copy copyrighted material , as part of a business. Software Licences A software licence refers to how a user can legally use the software , there are two main types: Open Source Licence Source code is the software code written by programmers . If the software is open source it means that users can view and modify the source code . Linux, Python and Firefox are examples of open source software. Benefits Drawbacks Because the source code is available to edit , it can be customised to the organisation's needs . Often shared in the public domain so users can work together to modify, debug and improve a product. Unwanted features can be removed to make the software run faster . There are security risks - some editors may add malicious code to the program. Open source software is often low in price and sometimes free. It may be difficult to receive support as development is often distributed between people in different locations. The code may be prone to errors as it may not have been tested fully. It requires technical skills to be able to adapt source code efficiently and to maintain the code . Proprietary Licence Another term for a proprietary licence is closed source because the code is restricted - users are prevented from being able to view or modify the source code . You buy the right to use the software but you don't actually own it. Microsoft Office, Fortnite and Spotify are examples of closed source software. Benefits Drawbacks The code is well tested and has been professionally developed. Updates will generally be secure . Users must rely on the company to provide updates and fix issues. This might be infrequent or stop completely. The company can be held to account if it does not perform as listed in the terms and conditions upon purchase. Often not free and may be expensive. Most developers will provide some form of help/support . Users cannot modify, debug or improve the code for their own benefit. Q uesto's Q uestions 6.1b - Legislation: 1a. State the 6 principles of the Data Protection Act (2018) . [ 6 ] 1b. Explain how the Data Protection Act works . In your answer, you should include definitions of a data subject , the data controller and the Data Commissioner . [ 6 ] 2. Describe the 3 principles of the Computer Misuse Act (1990) . [3 ] 3a. What is the purpose of the Copyright, Designs & Patents Act (1988) ? [ 2 ] 3b. Describe 3 actions that CDPA (1988) prohibits . [ 3 ] 4a. Describe the difference between an open source and a proprietary licence . [ 2 ] 4b. State two benefits and two drawbacks of using software with a: Open source licence [ 4 ] Proprietary licence [ 4 ] 6.1a - Impacts of Technology Theory Topics
- Download Greenfoot | CSNewbs
A tutorial to understand how to create a game in Greenfoot. A simple step-by-step guide and walkthrough featuring all code needed for the Eduqas GCSE 2016 specification. Installing Greenfoot Greenfoot Home According to the WJEC 2017 specification , students will use version 2.4.2 of Greenfoot in the Component 2 exam . WJEC GCSE students should practice using version 2.4.2 - despite the most up-to-date version currently being 3.9.0 . If you are not learning Greenfoot for the WJEC GCSE then you may wish to download and use the most current version . WJEC 2017 Specification Students Other Students The version used in the Component 2 exam is 'Greenfoot version 2.4.2 '. Scroll down to 2.4.2 on the old download page and select the correct version for your computer. Windows systems should use the 'For Windows ' option. If you are not following the WJEC 2017 specification then you should download the most up-to-date version of Greenfoot. Select the correct version for your computer at the top of the download page .
- 3.2 - Project Planning Tools | F160 | Cambridge Advanced National in Computing AAQ
Learn about project planning tools such as the Arrow diagram, Critical Path Analysis (CPA)/Critical Path Method (CPM), Flowcharts, Gantt charts, PERT charts and SWOT (Strengths / Weaknesses / Opportunities / Threats) analysis. 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) 3.2 - Project Planning Tools Watch on YouTube : Project planning tools Arrow diagram Critical path analysis Flowcharts Gantt charts PERT charts SWOT analysis Project Planning Tools Project planning tools help to visualise the project by clearly showing tasks , timelines and dependencies . They also break down complex work into smaller , manageable steps and can be used to track progress and identify delays . Each tool suits different project needs and has its own advantages and disadvantages . Choosing the right tool makes planning more accurate , efficient and successful . Arrow Diagram The arrow diagram method is a project planning tool that represents tasks as arrows connected in sequence to show their order and dependencies . It helps identify the critical path . This is the longest sequence of dependent tasks that determines the project’s minimum completion time . This method is useful for visualising task relationships , spotting bottlenecks and showing the order of activities . Critical Path Analysis Critical path analysis ( CPA ), also known as the critical path method ( CPM ), is a project planning tool used to identify the critical path . This is the sequence of tasks that determines the shortest possible project duration . It highlights tasks that cannot be delayed without affecting the overall timeline . Critical path analysis helps prioritise resources , manage dependencies and minimise project delays . Flowcharts A flowchart is a diagram that represents a process or workflow using standard symbols and arrows to show the sequence of steps . It helps visualise decision points and actions and clearly highlights the flow of information or tasks . Flowcharts make complex processes easier to understand , communicate ideas to clients and troubleshoot potential problems . Gantt Charts A Gantt chart is a visual project management tool that displays tasks along a timeline , showing their start and end dates . It helps track task dependencies , overlaps and progress at a glance . Gantt charts are useful for coordinating work , meeting deadlines and ensuring all project stages are completed in order . PERT Charts A PERT ( program evaluation and review technique ) chart is a project planning tool that maps tasks , their dependencies and timelines in a network diagram . It uses three time estimates ( optimistic , most likely and pessimistic ) to calculate expected completion times for each task . PERT charts are especially useful for scheduling complex projects and identifying the critical path to meet deadlines . SWOT Analysis SWOT analysis is a strategic planning tool used to identify a project’s strengths , weaknesses , opportunities and threats . Strengths and weaknesses focus on internal factors ( controllable by the organisation ), while opportunities and threats look at external influences ( outside of the organisation's control ). It helps guide decision-making by highlighting advantages , weaknesses to address and potential risks or openings in the wider environment . Q uesto's Q uestions 3.2 - Project Planning Tools: 1. Define the term 'critical path ' and explain why it is calculated . [3 ] 2. Explain the S , W , O and T in SWOT analysis (not just what they stand for). [4 ] 3. Choose three project planning tools and describe the advantages and disadvantages of each . [ 12 ] Henry Gantt , an American engineer , created the Gantt chart in the 1910s . It has been used as a planning tool in many major projects , including building the Hoover Dam . D id Y ou K now? 3.1 - Planning Projects Topic List 4.1 - Gathering Client Requirements
- 1.7 & 1.8 - Internet Pros & Cons | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the advantages and disadvantages to individuals and organisations when using the internet. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 1.7 & 1.8 - Internet Pros & Cons Exam Board: OCR Specification: 2016 - Unit 2 The internet has become easier and cheaper to access since the mid 1990s and today it is almost taken for granted. The rise of the internet, and the services it provides, has lead to advantages and disadvantages for both individuals and organisations . Advantages for Individuals Increased speed of personal communication Allows for instant messaging, emails and video chats across the world. Easy access to information The internet has free resources such as CSNewbs and Wikipedia, plus academic journals for research & study. 24/7 access to services Shopping, browsing and banking can be completed when convenient for the user. Social interaction with others Social media, discussion forums and online games provide entertainment and social interaction. Disadvantages for Individuals Potential for identity theft Uploading personal data and storing sensitive information risks hackers obtaining and utilising it. Cost of connection & services Internet service providers (ISPs) charge a monthly fee and equipment like a router needs installation. Cyberbullying & trolling The abuse of others on social media is possible. Anonymisation makes it harder to catch offenders. Spreading misinformation 'Fake news' or biased information can be easily spread on social media and lead to incorrect assumptions. Source of distraction Staff and students may neglect their work and study for entertainment or social media. Advantages for Organisations Share data quickly globally Files and information can be sent instantly to locations across the world. Cloud storage can store data. Online services always available E-commerce businesses can operate 24/7 globally, permit users to browse and accept payments. Easy internal communication Staff can use emails, video calls or instant messages to communicate. Open up the workplace Staff can work from home, on the commute to/from work and outside of the office. Disadvantages for Organisations Malicious attacks & threats Websites can be hacked / taken offline with DDoS attacks. Data can be stolen or corrupted. Cost of maintaining services Most companies require an IT department to oversee device installation and maintenance. Reputation and controversies Companies that leak data will damage their reputations. Social media posts could backfire. Q uesto's Q uestions 1.7 - Internet Pros & Cons: 1. List 5 points for the following categories (you may need to include researched / your own points for some): a. Advantages of the internet for individuals [5 ] b. Disadvantages of the internet for individuals [5 ] c. Advantages of the internet for organisations [5 ] d. Disadvantages of the internet for organisations [5 ] 1.6 - Information Formats Topic List 2.1 - Information Styles
- Key Stage 3 Python | Inputs | CSNewbs
The third part of a quick guide to the basics of Python aimed at Key Stage 3 students. Learn about creating and using inputs. Python - #3 - Inputs 1. Asking Questions Input means to enter data into a program. Use the input command to ask a question. You must save the answer into a suitably named variable using the = symbol. Task 1 - Create a new Python program and save the file as 3-Inputs.py Use the picture to help you ask what someone's name is. Run the program and type your name. When you run the program (F5) you can type your answer on any question line in the Python Shell . 2. Asking more Questions There is no limit to how many questions you can ask in Python. It is the most important way to interact with the user of your program. Task 2 - Ask two more questions on topics of your choice. 3. Using Variables in a Sentence When we have printed the answers so far, they have not been very informative! You can print variables together with sentences so that they mean more. Use a comma ( , ) between variables and sentences . Task 3 - Use the pictures to help you add commas and sentences to your program to be more informative. BONUS: After I took the screenshot of my code I added in print lines in the two blanks spaces that print a line of dashes. Try to do the same to make your program easier to read. 4. Using Integers An integer is a whole number . When you are asking a question that you know will have a number for an answer , you need to add int ( before your input. Don't forget to add double close brackets at the end of the question line ! Task 4 - Underneath your previous questions (don't delete anything) ask 2 questions that will have numbers for answers. You must use int ( - see the image for help. Challenge Programs Use everything that you have learned on this page to help you create these programs... Challenge Task 1 - Funny Food Create a new Python program. Save it as ' 3-FunnyFood.py ' Add a comment at the top with your name and the date. Create a program that asks two questions, one for their favourite colour and one for their favourite food. Print a funny sentence using both of their answers. BONUS : Try to use only one print line. Remember: Break up variables in a print line by using commas. When you run it, it could look something like this: Challenge Task 2 - Trivia Question Create a new Python program. Save is as ' 3-Trivia.py ' Add a comment at the top with your name and the date. Create a program that asks the user a trivia question of your choice. Print the correct answer AND their answer. BONUS : Use only one print line. BONUS : Try to use only two lines in total . Remember: Break up variables in a print line by using commas. When you run it, it could look something like this: Challenge Task 3 - Getting to School Create a new Python program. Save it as ' 3-School.py ' Add a comment at the top with your name and the date. Create a program that asks two questions, one for how they get to school and one for how long it takes. Don't forget - use int( and then double close brackets for a number! Print an appropriate response that uses both of their answers. BONUS : Use two separate input lines. BONUS : Try to use only one print line . Remember: Break up variables in a print line by using commas. When you run it, it could look something like this: <<< #2 Variables #4 Calculations >>>
- 1.1a - The CPU - OCR GCSE (J277 Spec) | CSNewbs
Learn about the components of the Central Processing Unit (CPU) and Von Neumann architecture. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR 1.1a: The CPU Specification: J277 Watch on YouTube : Purpose of the CPU CPU Components Von Neumann Architecture The Central Processing Unit ( CPU ) is the most important component in any computer system. Like many computer components, it is attached to the motherboard . The purpose of the CPU is to process data and instructions by constantly repeating the fetch-execute cycle . CPU Components The Control Unit (CU ) sends control signals to direct the operation of the CPU . Control signals and timing signals are sent to the ALU and other components such as RAM . It also decodes instructions as part of the fetch-execute cycle . ALU stands for ‘ Arithmetic and Logic Unit ’. It performs simple calculations and logical operations . A register is a temporary storage space for one instruction or address . Different registers are used during the fetch-execute cycle . Cache memory is used to temporarily store data that is frequently accessed . Cache memory is split into different levels . Cache is slower to access than the registers but much faster than RAM . Computer Architecture The way a computer is designed and structured is known as its architecture . The most common type of computer architecture is Von Neumann . It is named after the mathematician John Von Neumann (pronounced Von Noy-man) Von Neumann Architecture A computer with Von Neumann architecture stores both program instructions and data in the same memory (RAM ) and in the same format (in binary ). Instructions (technically called the opcode ) and data (technically called the operand ) are not the same . An instruction is an action to perform and data is the value to be used. For example with the command 'ADD 43 ', ADD is the instruction and 43 is the data . Von Neumann architecture also contains the key CPU components of a control unit , arithmetic logic unit (ALU ), registers and cache memory . Q uesto's Q uestions 1.1a - The CPU: 1a. What does 'CPU ' stand for ? [1 ] 1b. What is the purpose of the CPU ? [ 2 ] 2. Draw a diagram of the CPU , and l abel the four main components . [ 4 ] 3. Describe the purpose of: a. The Control Unit [ 2 ] b. The ALU [ 2 ] c. The registers [ 2 ] d. Cache memory [ 2 ] 4a. Describe the key feature of Von Neumann architecture . [ 2 ] 4b. Explain how an instruction is different to data . [ 2 ] 1.1b - Registers & FE Cycle Theory Topics
- OCR CTech IT | Unit 1 | 3.3 - Network Characteristics | CSNewbs
Learn about network topologies including client-server, peer-to-peer, bus, mesh and star. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.3 - Network Characteristics Exam Board: OCR Specification: 2016 - Unit 1 Network Topologies Network topology refers to the arrangement of computer systems on a network . Devices in a network topology diagram are often called ' nodes ' . Client-Server Network Clients make requests to a server , the server manages that request and responds . For example, if the user (client) makes a request to access www.csnewbs.com to a web server . Large services like Amazon and Google will need very powerful servers to handle millions of requests a second. The client is completely dependent on the server to provide and manage the information. The server controls network security , backups and can be upgraded to manage higher demand. Disadvantages: Large amounts of traffic congestion will cause the network to slow down . If a fault occurs with the server then the whole network will fail . IT technicians may be required to manage and maintain the network . Malware , such as viruses, can spread quickly across the network. Peer-to-Peer Network For peer-to-peer networks , data is shared directly between systems without requiring a central server . Each computer is equally responsible for providing data. Peer-to-peer is optimal for sharing files that can then be downloaded. Bus Topology The nodes are connected to a bus (a central cable which transfers all data on the network). How it works: The bus transfers data packets along the cable . As the data packets arrive at each computer system, the computer checks the destination address contained in the packet to see if it matches its own address . If the address does not match , the computer system passes the data packet to the next system . If the address of the computer system matches the destination address in the data packet, it is accepted and processed. At both ends of the cable are terminators to mark the end of the bus. Advantages: Because of the simple layout, it is easy to attach another system to the main cable without disrupting the whole network . A bus topology is quick to set up once the main cable has been established making it optimal for temporary networks . A bus topology is cost-effective because it usually contains less cabling than other topologies and requires no additional hardware (like a hub or switch). Disadvantages: Poor security as data packets are passed on to each system on the network. Data collisions are likely - this is when two systems attempt to transfer data on the same line at the exact same time. Resending the data wastes time and slows down the network . The main cable will only have a limited length which can become crowded and slows network speed as more systems are attached. The main cable must also be terminated properly . Token Ring Topology In a token ring network , computer systems are connected in a ring or a loop. How it works: A token (small data packet) is sent around the ring in one direction, being passed from one computer system to the next. A computer seizes the token and includes its own data when it transfers data. As the token arrives at each computer system, the system checks the destination address contained in the packet to see if it matches its own. If the addresses match, the computer processes the data otherwise it ignores it. Advantages: Data collisions are avoided as data packets are transmitted in one direction around the ring. Attaching more systems to a ring topology won't affect the transfer speed as much as other layouts like a bus topology because the data is transferred at a consistent speed . Disadvantages: If any system on the network fails then the whole network fails as the loop is broken and data can't be transferred to all systems. To add a new system to a ring topology the network must be temporarily shut down . Star Topology In a star network , each computer system is connected to a central node: a hub or switch . How it works: Each node is connected to the central node (usually a hub or switch ) and transfers its data packets here. The hub/switch looks at the destination address and transfers the packets to the intended computer only. Advantages: A star topology has improved security because data packets are sent directly to and from the hub / switch in the centre and not necessarily all devices like in a bus or ring topology. New systems can be attached directly to the central system so the network doesn't need to be shut down . System failures of attached computers won't usually cause complete network failure. Transfer speeds are generally fast in a star topology as there are minimal network collisions . Disadvantages: Extra hardware (the hub or switch) is required to be purchased, installed and maintained. If the central system (the hub or switch) fails then the whole network will be unusable until the error is fixed. Mesh Topology In a mesh network, each computer system is connected to every other computer system . How it works: Data packets are transferred to the destination address along the quickest path, travelling from node to node. If a pathway is broken, there are many alternative paths that the packets can take. Advantages: If one cable or system fails then data packets can take an alternative route and still reach the destination address. Because of the large possible number of systems and connections, a mesh topology can usually withstand large amounts of data traffic . New systems can be added to the network without disrupting the entire topology . Disadvantages: Because of the possibly large amount of cables required (especially in a complete mesh topology) this network layout can be expensive to install and maintain . Redundant cabling should be avoided - this is when cables are connected between systems that won't ever need to communicate . Configuration Before a computer system can use a network, three pieces of information must be configured (set up) correctly. IP Address An IP address is used to uniquely identify computer systems on a network , allowing communication between them. An example of an IP address is 195.10.213.120. Default Gateway When data is to be sent from one network to another , it must be sent through a default gateway . This default gateway is usually a router that connects the local network to another network . On many home networks , the default gateway will use the same private IP address : 192.168.1.1 Network managers can use automatic configuration which is quicker and easier to set up . A new device can connect to and use a network automatically , such as free WiFi in an airport. Network managers can also set manual configuration which improves security as new devices can’t be used until the addresses have been configured by a technician . This stops unauthorised devices from connecting to the network. Subnet Mask Subnetting is the act of dividing a physical network into smaller 'sub' networks (known as subnets ) . This helps to reduce traffic and means that users can externally access parts of a network (e.g. emails from home) without having to open the entire network. A subnet mask is used to define these subnets . The mask is used to determine the start and end address of each IP address in a subnet. A common subnet mask is 255.255.255.0 as making the first 3 sections full restricts the fourth section to 256 unique values. For example 113.12.14.230 and 113.12.14.157 are in the same subnet but 114.12.14.127 wouldn't be. Q uesto's Q uestions 3.3 - Network Characteristics: 1 a. Describe how peer-to-peer networks and client-server networks function. 1b. Give one use for both types of network. 2a. Draw and label a diagram for all 6 network topologies . 2b. Describe 2 advantages and 2 disadvantages of each network topology . 3 . What is an IP address ? Why is it necessary for networks? 4. Describe what is meant by a default gateway . 5a. What is subnetting ? 5b. What is the purpose of a subnet mask ? 5c. State a common subnet mask . How many unique devices can be used on a network with this subnet mask? 6. Describe 1 reason why a network manager may use automatic configuration and 1 reason why they may use manual configuration . Advantages: The network can be controlled centrally from the server to easily backup data and update software . Hardware, software and resources can be shared across the network, such as printers, applications and data files . The network allows for improved scalability , meaning more clients can be easily added to the central server . Disadvantages: Without a dedicated server there is no central device to manage security or backups . Backups must be performed on each individual system. Computer performance will decrease with more devices connected to the network, especially if other machines are slow. Advantages: This is a simpler network than client-server to set up as no server is required . Clients are not dependent on a server . Perfect for quickly sharing files between systems , such as downloading media files. 3.2 - Virtualisation Topic List 3.4 - Connection Methods
- Python | 5a - Random | CSNewbs
Learn how to use random commands in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 5a - Random Importing Section 5 looks at additional commands that you can import and use from Python’s code libraries . A library is a collection of different commands that automatically come with Python but are separate from the main file. They can be imported (brought in) to your program by using the import command at the start of your program . Imagine Python’s library to be similar to an actual library. There are different sections in a real library (such as History, Geography, Reference) and different sections in Python’s library (such as random or time ). Each real library has many individual books in each section, just like commands in Python. randint() choice() sample() shuffle() random sleep() ctime() strftime() time from random import randint from time import ctime You can import a specific command from one of Python's libraries using the from and import commands at the top of your program . Random Numbers To generate random numbers , first import the randint command section from Python’s random code library on the first line of the program. The randint command stands for random integer . In brackets, state the number range to randomly choose from. The random value should be saved into a variable . from random import randint number = randint(1,100) print ( "A random number between 1 and 100 is" , number) = A random number between 1 and 100 is 39 = A random number between 1 and 100 is 73 = A random number between 1 and 100 is 4 The randint range does not have to be fixed values and could be replaced by variables . Below is a program where the user selects the upper and lower values of the range: from random import randint lower = int ( input ( "What is the lowest number? " )) upper = int ( input ( "What is the highest number? " )) number = randint(lower,upper) print ( "A random number between" , lower , "and" , upper , "is" , number) = What is the lowest number? 1 What is the highest number? 50 A random number between 1 and 50 is 36 = What is the lowest number? 500 What is the highest number? 1000 A random number between 500 and 1000 is 868 Random Numbers Task 1 ( Ice Comet) A special comet made of ice passes the Earth only once every one hundred years , and it hasn't been seen yet in the 21st century . Use the randint command to randomly print a year between the current year and 2099 . Example solutions: Did you know it won't be until 2032 that the ice comet will next pass Earth!? Did you know it won't be until 2075 that the ice comet will next pass Earth!? Random Numbers Task 2 ( Guess the Number) Use randint to generate a random number between 1 and 5 . Ask the user to enter a guess for the number with int and input . Print the random number and use an if statement to check if there is a match , printing an appropriate statement if there is and something different if there is not a match . Example solutions: Enter a number between 1 and 5: 4 Computer's number: 5 No match this time! Enter a number between 1 and 5: 3 Computer's number: 3 Well guessed! It's a match! Choice - Random Word Rather than just numbers, we can also randomly generate characters or strings from a specified range by using the choice command. You must first import the choice command from the random library. Choice works well with a list of values , which require square brackets and commas separating each word . Below is a program that randomly chooses from a list of animals : from random import choice animals = [ "cat" , "dog" , "horse" , "cow"] randomanimal = choice(animals) print ( "A random animal is" , randomanimal) = A random animal is cat = A random animal is horse Choice - Random Character Instead of using a list you can randomly select a character from a string . The program below randomly selects a character from the variable named 'letters ' which is the alphabet . from random import choice letters = "abcdefghijklmnopqrstuvwxyz" randomletter = choice(letters) print ( "A random letter is" , randomletter) = A random letter is e = A random letter is y Random Choice Task 1 ( Holiday Destinations ) Harriet can't decide where to go on holiday and needs help deciding. Make a list of at least 6 destinations (see the animal example above ) and use the choice command (don't forget to import it from the random library ) to print a random destination . Example solutions: Why don't you go to Paris on holiday? Why don't you go to Barcelona on holiday? Random Choice Task 2 ( Vowels ) Use the choice command to randomly select a vowel (look at the alphabet example above ). Ask the user to input a vowel and use an if statement to check if the user's letter matches the randomly selected letter . Print a suitable statement if they match and something else if they don't . Example solutions: Enter a vowel: i Random vowel: i The vowels matched! Enter a vowel: o Random vowel: u The vowels didn't match! Sample - Random Strings To choose more than one value from a set of data, use the sample command. Sample is used with a list of values and a number representing how many from that list to pick. The code sample(days,2) picks two random values from the list called days . Both examples below perform the same task but, as with most code, there is no one way to solve a problem. from random import sample days = [ "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" ] two_days = sample(days , 2) print ( "You will be set homework on:" , *two_days) A separate list and then a sample . = You will be set homework on: Thursday Monday = You will be set homework on: Friday Tuesday from random import sample two_days = sample([ "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" ] , 2) print ( "You will be set homework on:" , *two_days) The list and sample is combined on one line. The sample command actually makes a new list with the number of values selected (e.g. ["Tuesday" , "Thursday"] in the examples above). You can use an asterisk - * - directly before the sampled variable to print just the list values , otherwise the brackets and apostrophes will be printed too. from random import sample names = sample([ "Bob" , "Ben" , "Jen" , "Ken" ] , 2) print ( "The names are:" , names) from random import sample names = sample([ "Bob" , "Ben" , "Jen" , "Ken" ] , 2) print ( "The names are:" , *names) The names are: ['Bob', 'Jen'] The names are: Bob Jen Sample - Random Numbers You can also use the sample command to choose several integers from a given range. By implementing the range command you don’t need to individually write out each number. from random import sample numbers = sample( range (1,100) , 5) print ( "Five random numbers between 1 and 100 are:" , *numbers) Five random numbers between 1 and 100 are: 53 42 11 8 20 Five random numbers between 1 and 100 are: 74 52 51 1 6 Random Samples Task 1 ( Frost Comets) The ice comet from a previous task has broken up into four smaller frosty comets that could pass the Earth anytime from next year to the year 2095 . Print four random years in that range . Example solutions: I predict the frost comets will be seen in these years: 2093 2036 2027 2091 I predict the frost comets will be seen in these years: 2076 2033 2053 2085 Random Samples Task 2 ( Baby Boy ) Aunt Meredith is having a baby boy . Create a program that randomly selects 3 male names from a list of 10 possible names . Example solutions: Hey Aunt Meredith, how about these names: Charlie Eddie Frank Hey Aunt Meredith, how about these names: George Harold Bill ⬅ Section 4 Practice Tasks 5b - Sleep ➡
- Computer Science Newbies
Homepage for learning about computer science in school. Discover topics across GCSE and Level 3 IT subjects, plus programming languages including Python, HTML and Greenfoot. C omputer S cience P ros Official 2025 CSPros: Walter Thomas Zach Pippa Marcus Ryan Jess Asher Zac Leighton Folu Holly James Jack Harry Aarav Trisha Mario Hiba Rory Clark Lucy Divya Luke Callum James Zoya Timucin Matthew 2024 CSPros: 2023 CSPros: Henry Zain Iman Alex I-C Alex B Tomos Aidan Rahul Hussain Diyar Sam Harry Will Alex H 2022 CSPros: Logan Eleanor Mark Edward Alfie Henry Enzo Sam George Harry Ella Kav
- Memory | Key Stage 3 | CSNewbs
Learn about the three main types of memory in a computer system - RAM (Random Access Memory), ROM (Read Only Memory) and Cache Memory. Memory What is memory? Memory is where a computer stores information , instructions and data so it can use them quickly when needed . There are three main types of memory : RAM Random Access Memory ROM Read Only Memory Cache Memory What is Random Access Memory? RAM is volatile (this means that when power is lost, the data is deleted ). Every program that is being run by the computer (such as Google Chrome, Spotify or Microsoft Word) is stored in RAM . RAM is made up of a large number of storage locations , and each is identified with a unique address . What is Read Only Memory? ROM is non-volatile (this means that data is saved, even when the power is off ). The start-up instructions (for when a computer is switched on ) are stored in ROM . ROM is read-only, which means that it cannot be edited or changed . What is Cache Memory? Cache memory is fast to access because it is built into the CPU (or very close to it) . Cache memory stores data that needs to be accessed very frequently . Cache memory is very expensive , so there is only a small amount in most computers. How can a computer run faster? There are many reasons why a computer may be running slowly . Here are some methods related to memory that can help speed up a system : Close unnecessary programs to free up RAM so it doesn't run out of memory space . Add more RAM so the computer can run more programs at once without slowing down . Increase the cache size so the CPU can access important data more quickly . KS3 Home Note: Only larger systems like desktop computers can have their components easily upgraded and replaced.








