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 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 ➡
- 1.1 - The CPU - Eduqas GCSE (2020 spec) | CSNewbs
Learn about the Central Processing Unit (CPU), the four components within and Von Neumann architecture. Based on the 2020 Eduqas GCSE (WJEC) specification. Exam Board: Eduqas 1.1 The Central Processing Unit (CPU) Specification: 2020 The Central Processing Unit ( CPU ) is the most important component in any computer system. The purpose of the CPU is to process data and instructions by constantly repeating the fetch - decode - execute cycle . CPU Components The control unit directs the flow of data and information into the CPU. It also controls the other parts of the CPU . ALU stands for ‘ Arithmetic and Logic Unit ’. It performs simple calculations and logical operations . The registers are temporary storage spaces for data and instructions inside the CPU. The registers are used during the FDE cycle . Five essential registers are explained in 1.2 . Cache memory is used to temporarily store data that is frequently accessed . Cache memory is split into different levels . Level 1 and level 2 (L1 & L2) are usually within the CPU and level 3 (L3) is just outside it. See 1.3 and 1.5 for more information about cache. You should know: The control unit is also known as the controller and cache memory is sometimes called internal memory . Computer Architecture The way a computer is designed and laid out is known as its architecture . The most common type of computer architecture is Von Neumann . Von Neumann Architecture The CPU is the most important component in Von Neumann architecture as it is constantly fetching and decoding instructions from RAM and controlling the other parts of the system . Von Neumann architecture also stores both instructions and data in memory . Being able to store programs in memory allows computers to be re-programmed for other tasks - this enables it to multitask and run several applications at the same time. Data input and output is another key feature of this architecture. An alternative architecture is Harvard , which features the control unit as the most essential component. Q uesto's Q uestions 1.1 - The Central Processing Unit (CPU): 1a. What does 'CPU ' stand for ? [1 ] 1b. What is the purpose of the CPU ? [ 2 ] 2a. Draw a diagram of the CPU , use the same symbols as shown on this page. [ 4 ] 2b. Label the four main components of the CPU. [ 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 features of Von Neumann architecture . [ 3 ] 4b. Explain why storing data in memory is important. [ 1 ] 4c . State an alternative architecture . [ 1 ] Theory Topics 1.2 - The FDE Cycle
- Python | 10c - Remove & Edit Lines | CSNewbs
Learn how to split, edit and removes lines using files in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Python 10c - REMOVE & Edit LINES Splitting a File The split command is used to split up a line of a file into different parts . The character or string in brackets after the split command is the value that will denote each split . In the example below I have split the file at each comma . Remember that Python numbering starts at 0 so the first section is 0, not 1. 0 1 2 3 The program below splits each line of the file at each forward-slash ( / ). The printed statement is the employee's first name, surname and job position. 0 1 2 3 4 Practice Task 1 Create a file (new txt document in Notepad) called movies. Type in the movie name, main actor, genre (e.g. horror), year it was released and your rating out of 10. Print just the movie name and year it released. Example solution: Deleting Lines in a File Exact Line Name The code below shows how to remove a line from a file using the exact name of the line , which will only work for short or simple files . First open the file in read move to save each line in a variable I've named lines. Then ask the user to input the exact line they want to remove (e.g. 'plum' in my example). Then open the file in write mode and use a for loop to read each line and only write it back into the file if it isn't equal to the line the user entered - such as 'plum'. The line.rstrip() command is important as it removes any spaces or empty lines that may interfere with matching the line to the input. Deleting Lines in a File Word in the Line The code below shows how to remove a line from a file if a certain word appears in that line , although this could be dangerous with large files. In my example I have written apple which has also removed pineapple! The difference from the previous program is to change the for loop so that it checks if the inputted word appears in the line . If it does appear then nothing happens (except a print statement to acknowledge it's been found). If the word doesn't appear then that line can be safely rewritten to the file . Practice Task 2 Download the trees text file. Give the user a choice of removing a specific tree or a type of tree. If they choose a specific tree then remove the line if it is an exact match (e.g. Field Maple). If they choose to remove a type of tree remove all lines that contain the name of that tree (e.g. willow) Make sure you actually check the file to see if the lines have been removed correctly! Example solution: Download the trees file: Sorting a File Sorting a file into alphabetical (or numerical ) order is a simple process. Open the file in read mode and save the lines into a list . The sort c ommand will automatically order the list of lines. If necessary, in the brackets type reverse = True to sort the list in reverse. Practice Task 3 Expand on your tree program from the previous practice task. As well as SPECIFIC or TYPE, allow the user to enter SORT to sort the tree file either in alphabetical order or reverse alphabetical order. Check the text file to see if it has been sorted correctly. You may make this a separate program from task 2 if you wish. Example solution: Editing Lines in a File Overwriting data in a file is a tricky process. The program below uses the same Employees.txt file as above but allows the user to change the address of an employee . A temporary file is created to store the lines of the employee file, but the line with the changes is replaced specifically with the new address. I have explained each line of the program to the right: When I executed the program below I entered Thomas Wynne's details and changed his address. When I opened the employees file the address had been updated : 1: Importing os allows me to rename and remove files later in the program. 3: Opens the employee file in read mode . 5 - 8: Input lines allow the user to enter the first name, surname and the person's new address. 10: A found flag is set up and set to False . 12: The for loop cycles through each line in the file. 13: Each line is split into separate parts from each / . 15: An if statement checks if the first name and surname match an employee in the file. 16: A replacement line is created by putting the original line together but with the new address. 18: The found flag is changed to True because the employee first name and surname matched . 19: A temporary file is created and opened in write mode . 20: The seek command restarts the file at line 0 . 22: The for loop cycles through each line of the employee file from the beginning. If the first name and surname match it will write the new line to the file, otherwise it will rewrite the original line . 28 & 29: Both files are closed . 31 & 32: If the names didn't match , an appropriate message is printed. 34 - 37: If the address was changed, the original file is renamed and deleted and the temp file is renamed as the original file. Practice Task 4 Use the movie file you created for practice task 1. Ask the user to enter the name of a movie. Ask them to enter an updated rating out of 10. Update the file to change the rating to the new value. Example solution: ⬅ 10b - Read & Search Files Section 10 Practice Tasks ➡
- Motherboard | Key Stage 3 | CSNewbs
Learn about the motherboard and the components that are connected to this important piece of computer hardware. The Motherboard What is a motherboard? The motherboard is the main circuit board of a computer that links all other components together. Components can communicate by sending signals and data across pathways called buses . Some components, like the CPU and RAM , are directly installed in special sockets on the motherboard . There are expansion slots for further components like a graphics card . What is connected to the motherboard? Central Processing Unit Random Access Memory Graphics Processing Unit Read Only Memory Cache Memory Sound Card Hard Disk Drive Power Supply Unit What is a motherboard's form factor? Form factor relates to the motherboard's size , shape and how many components it can fit . The three most common form factors are compared below: ATX Micro ATX Mini ITX Standard Small Very Small 32 GB 64 GB 128 GB 7 4 1 Size Max RAM Expansion Card Slots GB stands for gigabytes What ports does a motherboard have? The motherboard contains several ports on the back panel , allowing cables to be connected to input or output data . Below are some of the common ports : USB (Type-A) Connects input devices like keyboards and mice or storage devices like a USB memory stick. USB (Type-C) A newer type of USB that is faster and commonly used to charge devices or transfer data. Ethernet Allows a device to connect to a wired network, most commonly to a router, for internet access. HDMI Connects to a monitor or TV to show the computer's audio and visual output. KS3 Home
- App Inventor 2 | Pop-up Blob | CSNewbs
Learn how to use App Inventor 2 to create simple programs. Try to complete the final task (7) on this page. Perfect for Key Stage 3 students to experiment with block coding, objects and properties. App Inventor Task 7 - Pop-up Blob The previous apps have been preparing you to make a longer and more complicated app. Now we will put together all of the skills you have learned to create a fun game. Check the video: Open App Inventor 2 (use the button below) and create a new project. You will need to log in with a Google account. App Inventor 2 Ready for a challenge? This is what the program looks like in Designer layout. To the left are the components with all their Properties correct. To the right are the Components names. Put the three labels and button inside a HorizontalArrangement from the Layout section of Palette . The Text for ScoreLabel is 'Score: 0'. The Text for TimeRemainingLabel is 'Time Remaining:'. The Text for SecondsLabel is '20'. Place an ImageSprite inside a Canvas (both from the Drawing and Animation section of Palette ). Download the blob image from the Basics page here and upload it as the Picture for the ImageSprite . Change to Blocks layout and drag a initialize global to block from Variables . Type 'Score' in the empty space to create a variable that we will use to track how many times the blob has been touched. Attach a 0 block from Math to start the score at 0. This big block of code uses some of the concepts which you have used before. Whenever the Blob is touched the variable Score is increased by 1. The X and Y coordinates of the Blob are changed by random numbers so it will appear in a random location on the screen. The bottom blocks change the ScoreLabel to show the current score. Every second that the timer ticks we want to check if the score is more than 1 (to check it hasn't reached 0). If it is more than 1 second then the time will count down by 1. In the else part you need to add the following: Set Blob Enabled to false . Set Blob Visible both to false . Set TimeRemainingLabel Visible to false . Set SecondsLabel Visible to false . When the Reset Button is clicked the score variable is changed to 0 and the Seconds label is rewritten to 0. Make sure you use the " " block from Text and not a block from Math. Inside the when ResetButton Click block you need to reverse the code you have added for the else block when the timer ticks: Set Blob Enabled to true . Set Blob Visible both to true . Set TimeRemainingLabel Visible to true . Set SecondsLabel Visible to true . Extra Step: Challenges 1. Large score display . If you watch the video at the top of the page again, you will see that when the time runs out (is less than 1) some of the labels turn invisible and the TextColour and FontSize of the ScoreLabel changes. Try to do the same in your app. Remember to reverse what you have done in the code for the reset button; otherwise, the labels will still be invisible! 2. Customise your game . Change the background of the Canvas to an image, change the blob to a different image and add a sound when the character is 'popped'. 3. *HARDER Challenge* Add a High Score Label . Follow these hints carefully and use the colours to help you. You need to initialize a new Variable called HighScore and set it to 0 . You also need to add a new HighScoreLabel and put it in your Horizontal Arrangement in Designer layout. Add an if then block in the else part of the When Timer Timer block you already have. If Score > HighScore then HighScore = Score . This will change the value of HighScore to the current Score if it is higher than the current high score. Remember to make the HighScoreLabel display the new HighScore . KS3 Home
- 10.3 - Programming Errors - Eduqas (2020 Spec) | CSNewbs
Learn about the six programming errors - syntax, runtime (execution), linking, logical, rounding and truncation. Based on the 2020 Eduqas (WJEC) GCSE specification. 10.3: Programming Errors Exam Board: Eduqas Specification: 2020 Syntax Error A syntax error is a mistake in the grammar or spelling of the program. A syntax error will prevent the program from being compiled . Examples: Incorrect Spelling: pront ( "hello" ) Incorrect punctuation: print ( "hello" ( Execution (Runtime) Error An execution error is when the program unexpectedly stops as a result of an operation during execution . Examples: Dividing by zero: 400 / 0 Reading too far in a file: #There are 50 lines in the file line = file.readlines( ) print ( line [100] ) Logical Error Linking Error A logical error is a mistake made by the programmer - the program still works but displays the wrong output . Examples: Truncation Error Rounding Error A linking error occurs when a compiler can’t find a sub procedure (e.g. the random library in Python) that has been used. The programmer might have declared it incorrectly or forgotten to link (import) it . Examples: Spelling an import command incorrectly: import ramdon number = random.randint(1,10) Requesting a function without linking: number = random.randint(1,10) Incorrect calculation: total = num1 - num2 print (total) Incorrect variable printed: age = 16 name = "Steve" print ( "Nice to meet you" , age) A rounding error is when the program rounds a real number to a fixed number of decimal places. This results in losing some value as the number becomes less accurate . Examples: Rounding up: 80.87 = 80.9 (Inaccurate by 0.03) Rounding down: 63.4 = 63 (Inaccurate by 0.4) A truncation error is when the program truncates a real number to a fixed number of decimal places . This results in losing some value as the number becomes less accurate . Examples: Truncation to 2 decimal places: 92.13787 = 92.13 (Inaccurate by 0.00787) Truncation to 1 decimal place: 25.199876 = 25.1 (Inaccurate by 0.099876) Q uesto's Q uestions 10.3 - Programming Errors: 1. Describe and give an example of each type of error: a. Syntax Error [ 3 ] b. Execution (Runtime) Error [ 3 ] c. Logical Error [ 3 ] d. Linking Error [ 3 ] e. Rounding Error [ 3 ] f. Truncation Error [ 3 ] 2. State the error that will occur for each scenario: [1 each ] a. A command word (such as for or print) has been misspelt. b. The average speed is 120.3856 but only 120.3 is displayed. c. The cost of a meal is £47 but £40 is displayed. d. A program uses a subroutine that has not been imported. e. The height of a dog is 33.38cm but 33.4cm is displayed. f. The user wants to read line 9 of a file that only has 6 lines. g. The user's age is printed instead of their name. h. The programmer has typed print("hello"( i. A number is divided by 0. j. The program is asked to generate a random number but 'import random' has not be written. 10.2 - Stages of Compilation Theory Topics 11.1 - Impacts of Technology
- A-Level Key Terms | CSNewbs
A key term generator to display randomised or sequential terms from the OCR A-Level Computer Science (H446) course. Filter terms by topics and 'favourite' tricky terms to focus on later. Perfect for students learning A-Level Computer Science in UK schools. A-Level Key Terms Generator If you see this message, your school may be using a strict network filter which has blocked it. The tool uses basic JavaScript and should work fine on a home network. Use this tool to check your understanding of the OCR A-Level Computer Science H446 specification's key terms . OCR A-Level Homepage
- 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 ➡
- 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
- 4.3 - Green IT | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the purpose of Green IT, the benefits for an organisation following its practice and methods of use. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 4.3 - Green IT Exam Board: OCR Specification: 2016 - Unit 2 What is 'Green IT'? ‘Green IT ’ is to use computers and IT resources in an efficient and environmentally responsible way to reduce an organisation’s carbon footprint . To 'reduce carbon footprint ' means to decrease the amount of pollution (such as CO2 ) produced by an organisation and to engage in more eco-friendly practice. Examples of Green IT Practice Global Requirements of Green IT United Nations Climate Change conferences occur every year and are attended by leaders of each country in the United Nations. The conferences establish obligations for countries to work towards reducing their carbon footprints and emissions of greenhouse gases . Whilst Green IT is not specifically mentioned in these talks, IT is a hugely important sector with large annual emissions that need to be reduced to meet the climate change limitations, such as the Paris Agreement. In the UK, the Greening Government ICT Strategy (running between 2011 and 2015) was an annual report that investigated how IT use could become 'greener' within the government . Positive consequences of this strategy included: Using more cloud storage technology , enabling fewer individual storage devices to be purchased, reducing emissions . Using social media more widely to contact voters - saving money by posting fewer letters and leaflets. Increasing the use of teleconferencing and video calls - reducing the need for unnecessary travel to meetings and avoiding the generation of heavy pollution. Q uesto's Q uestions 4.3 - Green IT: 1. What is meant by the term 'Green IT '. [3 ] 2a. Explain four ways that an organisation can follow good green IT practice . [4 ] 2b. Describe two reasons why it is beneficial to a company of following Green IT . [4 ] 3a. Why are the United Nations Climate Change conferences important ? [2 ] 3b. Describe two ways that the UK government have used Green IT . [4 ] Turn off computers , monitors and other connected devices when not in use . Adjust power options to help minimise power consumption. Use cloud storage or virtualisation to reduce the number of physical devices being bought, powered and maintained. Repair older devices rather than throwing them away. Consider if it is necessary to print a document before doing so and print only what is required . Recycle ink cartridges and paper . Donate older equipment to charities or schools for reuse . Why use Green IT? It is in an organisation's best interests to use Green IT practices for the following reasons: To become more sustainable by reducing the company's carbon footprint and positively impacting the environment . Reducing energy costs (e.g. by turning equipment off when not in use) and saving money . Improving the public image of the organisation as people are increasingly environmentally conscious and will prefer to do business with a company that follows environmentally-friendly policies. 4.2 - Global Legislation Topic List 5.1 - Data Types & Sources
- OCR CTech IT | Unit 1 | 2.2 - Applications Software | CSNewbs
Learn about the different types of applications software including productivity programs, business tools and IDEs. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.2: Applications Software Exam Board: OCR Specification: 2016 - Unit 1 What is applications software? Don't confuse applications software and apps . Apps generally have a single purpose , such as a game like Angry Birds or the torch tool on a phone. Applications software can be used for a number of different functions depending on the user's needs and their purpose. Productivity Software This is general use software for completing a range of tasks accurately and efficiently . Key examples include word processors (e.g. Microsoft Word or Google Docs), presentation software (e.g. Microsoft PowerPoint or Google Slides) and web browsers (e.g. Microsoft Edge or Google Chrome). Email applications (e.g. Microsoft Outlook or Gmail) are beneficial to organisations because staff can send information to many customers at once which is a simpler and less costly method of communication than something like sending letters or leaflets in the mail. Emails can also include attachments of important documents and include multimedia elements like images and videos to make communication more interesting . Databases and Spreadsheets Database tables and spreadsheets can store both numerical and textual data ready for analysis . Examples include simple database tables and financial spreadsheets of a company's profits each year. Microsoft Access is an example of database software that uses tables of records and Microsoft Excel is an example of spreadsheet software . Data can be sorted numerically or alphabetically for both software types but graphs can be created from spreadsheets to visualise data . When using spreadsheets (or databases) records can be locked ('record locking' ) so that only one person can make edits to a specific record at any one time. Edits will be saved before unlocking the file. This will stop data being incorrectly overwritten and will ensure that the data in the spreadsheet is up-to-date, accurate and fit for purpose. Development Tools These are tools for programmers who are creating or modifying software . An integrated development environment ( IDE ) is software used to create , edit and debug (fix) programs . An IDE features a number of tools , including: A source code editor to type program code into. It may contain features such as error highlighting and automatic formatting . Because IDEs use high-level languages like Python or Java , a translator is required to convert the source code into machine code ( binary ) so that it can be understood and processed by the CPU . A compiler is a type of translator that converts instructions into machine code (binary) in one go . An interpreter is a type of translator that converts instructions into machine code (binary) line by line . A debugger is used to test code and display errors . Other development tools aid programmers with developing and maintaining websites and apps for phones / tablets. An advantage of databases over spreadsheets is that data can be atomised - meaning it can be stored in separate tables (e.g. one for patients and one for doctors ) with records linked through relationships . This minimises data redundancy (duplication ), meaning there is a lower chance of making errors , and it is easier to search through the table as each record will only appear once . A search through a database is called a 'query '. Business Software This is specialist software for businesses , often made bespoke for an organisation based on their needs . Types of business software: Project management software allows teams of workers to collaborate and split large projects into manageable tasks with clear deadlines and assigned roles . A management information system (MIS ) processes a large amount of data and organises it for use in decision-making and general data analysis . See more about an MIS in section 3.5 . Multimedia programs such as video editors or animation suites can be used to create high-quality videos with images , audio and video clips . Collaboration tools for businesses allow employees to share ideas and resources in real-time . Publishing software allows users to implement text and images into eye-catching designs such as posters , leaflets or static adverts to include on a website. Expert systems use large databases for automatic decision-making , often making use of AI to quickly solve complex problems . A healthcare example of an expert system is a medical diagnosis program that may suggest possible illnesses when a patient's symptoms are input . CAD / CAM One example of business software used for the design and manufacture of a product is CAD / CAM (C omputer-A ided D esign / C omputer-A ided M anufacturing). CAD is used to create highly detailed digital designs and CAM translates these designs into instructions for manufacturing machines to make the product physically. These software packages use 3D modelling and image rendering along with exact measurements to create precise designs ready to be manufactured . Engineers use them to design and make mechanical parts and architects use them to create detailed building models and blueprints . Q uesto's Q uestions 2.2 - Applications Software: 1. State four different kinds of productivity software and briefly describe how each could be used . For example: "Word processors can be used to type up a letter in an office or write an essay for school." [8 ] 2. Describe two differences between database and spreadsheet software. [2 ] 3a. What is an Integrated Development Environment ? [1 ] 3b. Describe three tools used in an IDE. [6 ] 4. Giving brief examples of how they can be used, state four different types of business software . [8 ] 5. Suggest how a website design company could use each of the three types of applications software (Productivity Software , Development Tools and Business Software ). [ 6 ] 2.1 - Types of Software Topic List 2.3 - Utility Software
- GCSE Key Terms | CSNewbs
A key term generator to display randomised or sequential terms from the OCR GCSE Computer Science (J277) course. Filter terms by topics and 'favourite' tricky terms to focus on later. Perfect for students learning GCSE Computer Science in UK schools. GCSE Key Terms Generator If you see this message, your school may be using a strict network filter which has blocked it. The tool uses basic JavaScript and should work fine on a home network. Use this tool to check your understanding of the OCR GCSE J277 specification's key terms . OCR GCSE Homepage










