Search CSNewbs
Search this site
304 results found with an empty search
- 5.1 - Computing Legislation | OCR A-Level | CSNewbs
Learn about the laws related to computing - the Data Protection Act, Computer Misuse Act, Copyright Design and Patents Act and Regulation of Investigatory Powers Act. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 5.1 - Computing-related Legislation Watch on YouTube : Data Protection Act Computer Misuse Act Copyright, Designs and Patents Act Regulation of Investigatory Powers Act Several key UK laws govern the ethical and legal use of computers and digital information including the Data Protection Act and Computer Misuse Act . Each act is designed to protect data , users or intellectual property in the digital age. Data Protection Act (2018) The Data Protection Act is a UK law designed to ensure that personal data is collected , stored and used responsibly . It gives individuals (data subjects ) rights over their personal information and sets rules for organisations that process it . Introduced in 1998 , it was updated in 2018 to align with the EU’s General Data Protection Regulation (GDPR ). The Data Protection Act's key principles include that data must be processed lawfully , fairly and transparently , used for specific purposes , kept accurate and up to date , stored securely and not kept longer than necessary . It also gives data subjects rights such as accessing their data , correcting inaccuracies , objecting to processing and requesting deletion . Organisations that break the law can face heavy fines and legal action from the Information Commissioner’s Office (ICO ). Computer Misuse Act (1990) The Computer Misuse Act (1990 ) is a UK law created to make unauthorised access and use of computer systems illegal . It was introduced in response to the rise of hacking and other cybercrimes as computers became more common . This act defines several offences , including: Unauthorised access to computer material , such as hacking into a system without permission . Unauthorised access with the intent to commit further offences , such as fraud or data theft . Unauthorised modification of data or programs , for example, spreading viruses or deleting files . Making , supplying or obtaining tools used for committing these offences . Penalties range from fines to imprisonment , depending on the severity of the crime . This act helps protect individuals , organisations and data from malicious attacks and misuse . Copyright, Designs & Patents Act (1988) The Copyright, Designs and Patents Act (1988 ) is a UK law that protects people’s creative and intellectual work from being copied or used without permission . It gives creators automatic legal rights over their original work , such as books , music , films and software . The act states that the copyright owner controls how their work is used , including the rights to copy , distribute or adapt it. Anyone wishing to use the work must get permission or a licence from the owner. It also includes exceptions , allowing limited use for purposes like education or research . This act helps ensure that creators are fairly rewarded for their work and that their intellectual property is legally protected . Regulation of Investigatory Powers Act (2000) The Regulation of Investigatory Powers Act (RIPA ) (2000 ) is a UK law that governs how public bodies and law enforcement can carry out surveillance and access electronic communications . It was introduced to balance national security and crime prevention with individuals’ right to privacy . RIPA allows authorised agencies , such as the police , intelligence services and local councils , to monitor communications , intercept phone calls or emails and use covert surveillance , but only with proper legal authorisation . It also regulates the use of informants and access to encrypted data . This act aims to ensure that surveillance is done lawfully , proportionately and for legitimate purposes , such as preventing or detecting serious crime or protecting public safety . Q uesto's K ey T erms Legislation: Data Protection Act (2018) Computer Misuse Act (1990) Copyright Design and Patents Act (1988) Regulation of Investigatory Powers Act (2000) D id Y ou K now? In 1985 , two journalists were arrested for ‘ hacking ’ into the emails of the Duke of Edinburgh ( Prince Philip ) after discovering an engineer’s username was ‘ 2222222222 ’ and password was ‘ 1234 ’. They were acquitted in court because no UK laws covered hacking , exposing a major legal gap that led to the creation of the Computer Misuse Act ( 1990 ) . 4.3 - Boolean Algebra A-Level Topics 5.2 - Moral & Ethical Issues
- 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 Newb ie s Popular topics: Python Programming Learn how to program in Python, with examples and challenges to test your skills. OCR GCSE ( J277 ) Covers all content from both papers of the current Cambridge OCR GCSE specification. OCR A-Level ( H446 ) Covers all content from both papers of the current Cambridge OCR A-Level spec. Application Development Cambridge Advanced National In Computing resources for Units F160 and F161. Latest YouTube Video Latest Blog Post Links & Information You are viewing the mobile version of CSNewbs. The site will appear better on a desktop or laptop . YouTube Channel Last updated: - Support CSNewbs - 875,000+ views - Sunday 25th October 2026 Millions of visits since 2017! About CSNewbs
- 2.2 - Secondary Storage - OCR GCSE (J277 Spec) | CSNewbs
Learn about the three main types of secondary storage - magnetic, optical and solid-state. Also, learn about the characteristics of secondary storage media including reliability and durability. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.2: Secondary Storage Exam Board: Cambridge OCR Specification: GCSE - J277 Watch on YouTube : Secondary Storage Why computers need secondary storage . The main characteristics of secondary storage: portability , capacity , cost , access speed , reliability and durability . The advantages and disadvantages of the three types of secondary storage: optical , magnetic and solid state . What You Need to Know Secondary storage is non-volatile storage used to save and store data that can be accessed repeatedly. Secondary storage is not directly embedded on the motherboard (and possibly even external ) and therefore further away from the CPU so it is slower to access then primary storage . Storage Characteristics you should know: CAPACITY : The maximum amount of data that can be stored on the device. DURABILITY : The strength of the device, to last without breaking . PORTABILITY : How easy it is to carry the device around . ACCESS SPEED : How quickly data on the device can be read or edited . COST : The average price it costs to purchase the storage device. RELIABILITY : The likelihood of the device continuing to perform well over time . Magnetic Storage A magnetic hard disk drive (HDD ) is the most common form of secondary storage within desktop computers. A read/write head moves nanometres above the disk platter and uses the magnetic field of the platter to read or edit data. An obsolete (no longer used) type of magnetic storage is a floppy disk but these have been replaced by solid state devices such as USB sticks which are much faster and have a much higher capacity. Another type of magnetic storage that is still used is magnetic tape . Magnetic tape has a high storage capacity but data has to be accessed in order (serial access ) so it is generally only used by companies to back up or archive large amounts of data . Magnetic Storage Characteristics (Hard Disk Drive): ✓ - Large CAPACITY and cheaper COST per gigabyte than solid state . ✓ - Modern external HDDs are small and well protected so they are DURABLE and PORTABLE , however because of the moving parts, they should not be moved when powered on because it can damage the device. X - Slower ACCESS SPEED than solid state but faster than optical storage . Optical Storage Optical storage uses a laser to project beams of light onto a spinning disc, allowing it to read data from a CD , DVD or Blu-Ray . This makes optical storage the slowest of the four types of secondary storage. Disc drives are traditionally internal but external disc drives can be bought for devices like laptops. Magnetic Disks are spelled with a k and Optical Discs have a c. Optical Storage Characteristics: X - Low CAPACITY : 700 MB (CD ), 4.7 GB (DVD ), 25 GB (Blu-ray ). X - Not DURABLE because discs are very fragile and can break or scratch easily. ✓ - Discs are thin and very PORTABLE . Also very cheap to buy in bulk. X - Optical discs have the Slowest ACCESS SPEED . Solid State Storage There are no moving parts in solid state storage. SSD s (Solid State Drives ) are replacing magnetic HDDs (Hard DIsk Drives) in modern computers and video game consoles because they are generally quieter , faster and use less power . A USB flash drive ( USB stick ) is another type of solid state storage that is used to transport files easily because of its small size. Memory cards , like the SD card in a digital camera or a Micro SD card in a smartphone , are another example of solid state storage. Solid State Characteristics: X - More expensive COST per gigabyte than magnetic . ✓ - Usually DURABLE but cheap USB sticks can snap or break . ✓ - The small size of USB sticks and memory cards mean they are very PORTABLE and can fit easily in a bag or pocket. ✓ - Solid State storage have a high CAPACITY and the fastest ACCESS SPEED because they contain no moving parts . Q uesto's Q uestions 2.2 - Secondary Storage: 1. Rank magnetic , optical and solid-state storage in terms of capacity , durability , portability , speed and cost . For example, magnetic has the highest capacity , then solid-state, then optical. This could be completed in a table . [6 ] 2. Justify which secondary storage should be used in each scenario and why it is the most appropriate: a. Sending videos and pictures to family in Australia through the post . [ 2 ] b. Storing a presentation to take into school . [ 2 ] c. Storing project files with other members of a group to work on together . [ 2 ] d. Backing up an old computer with thousands of files to a storage device. [ 2 ] 2.1 - Primary Storage Theory Topics 2.3 - Data Units
- Python | Extended Task 1 | CSNewbs
Test your ability to create a more complex program in Python based on a given scenario. Perfect for students learning GCSE Computer Science in UK schools. Extended Task 1 Pete Porker's Pork Pie Emporium Hello, Pete Porker here... I need a new program for customer orders at my bakery . I need the customer to enter how many scotch eggs (45p each ), pork pies (85p each ) and quiche tarts (£1.45 ) they want to order. Next, ask them to confirm their choice . If they are not happy , ask the questions again . If they confirm their choice, print a receipt showing their order and total . To make your program better, you should use validation (either while loops or error handling ) to make sure that a user must enter a correct value. Bronze Award --- Welcome to Pete Porker's Pork Pie Emporium --- Scotch eggs are 45p, pork pies are 85p and quiche tarts are £1.49. Enter the number of scotch eggs to buy: 9 Enter the number of pork pies to buy: 7 Enter the number of quiche tarts to buy: 4 ----- You selected 9 scotch eggs, 7 pork pies and 4 quiche tarts. 9 scotch eggs = £4.05 7 pork pies = £5.95 4 quiche tarts = £5.96 ------- Total: £15.96 There are many ways to create this program, but below are some suggestions : Use inputs with int to let the user enter how many of each item they want. Use total variables , e.g. totaleggs = eggs * 0.45 to work out the total cost for eggs, pies and tarts. Set a finalcost variable by adding the total of the three items together. Use dashes and \n (which makes a new line ) inside speech marks to make your program more presentable . Silver Award --- Welcome to Pete Porker's Pork Pie Emporium --- Scotch eggs are 45p, pork pies are 85p and quiche tarts are £1.49. Enter the number of scotch eggs to buy: 5 Enter the number of pork pies to buy: 3 Enter the number of quiche tarts to buy: 6 ----- You selected 9 scotch eggs, 7 pork pies and 4 quiche tarts. ----- Are you happy with this selection? no Okay, enter your choices again. Enter the number of scotch eggs to buy: 6 Enter the number of pork pies to buy: 2 Enter the number of quiche tarts to buy: 7 ----- You selected 6 scotch eggs, 2 pork pies and 7 quiche tarts. ----- Are you happy with this selection? yes Excellent! Here is your receipt : 6 scotch eggs = £2.70 2 pork pies = £1.70 7 quiche tarts = £10.43 ------- Total: £14.83 There are many ways to improve this program and below are some suggestions : Use a while loop to repeat the input stage until the user is happy with their choices. You will need to ask the user if they are happy with the values that were entered and then use an if statement to repeat the loop if they enter 'no '. Gold Award Example solution: --- Welcome to Pete Porker's Pork Pie Emporium --- Scotch eggs are 45p, pork pies are 85p and quiche tarts are £1.49. Enter the number of scotch eggs to buy: 9 Enter the number of pork pies to buy: 35 Sorry you must enter a number between 1 and 20. Starting again... Enter the number of scotch eggs to buy: 9 Enter the number of pork pies to buy: 20 Enter the number of quiche tarts to buy: 7 ----- You selected 9 scotch eggs, 20 pork pies and 7 quiche tarts. ----- Are you happy with this selection? YES Excellent! Here is your reciept: 9 scotch eggs = £4.05 20 pork pies = £17.00 7 quiche tarts = £10.43 ------- Total: £31.48 There are many ways to make this program even better and below are some suggestions : Include validation so that the user can only enter numbers between 1 and 20 . You will need to use if statements and the and operator to do this. You can include additional features to your program such as rounding the number to two decimal places and including coloured text using the Colorama library (which will only work if you are using an online editor like Replit ). You can use the .lower() command when checking if the user is happy with their choices to automatically accept 'Yes' and 'YES '. If you really want to challenge yourself you could consider outputting the receipt in order from most expensive to least expensive , using if statements to check the three values (although that has not been done in this example on the left). Helpful reminders for this task: Inputting Integers While Loops Calculations Rounding Integers ⬅ 12 - Error Handling Extende d Task 2 (Lottery) ➡
- Assembly Language | CSNewbs
Learn about key mnemonics used in assembly language and how very simple programs can be created. Assembly Language Assembly language is a low-level programming language - it is closer to machine code (binary) than high-level programming languages like Python. Assembly language uses mnemonics (abbreviations of commands) to signify instructions; for example, input is written as INP and output is written as OUT . Little Man Computer is a representation of assembly language . This simulator will help you understand assembly language and allow you to check if your instructions are correct. Assembly Language Mnemonics INP (Input) INP is used to input a number . The number is temporarily stored in the accumulator . OUT (Output) OUT is used to output the number currently stored in the accumulator . STA (Store) STA stores the value that is currently in the accumulator . It can be used to assign a value to a variable. ADD (Addition) ADD is used to add a number to the value currently stored in the accumulator. SUB (Subtraction) SUB takes away a number from the value currently stored in the accumulator. LDA (Load) LDA is used to load the value of a stored variable back into the accumulator . BRZ (Branch if Zero) BRZ is used to loop only if the value in the accumulator is currently 0 . BRP (Branch if Positive) BRP is used to loop only if the value in the accumulator is currently positive (including 0). BRA (Branch Always) BRA is used to loop continuously . HLT (Halt) HLT will stop running the program . Every program MUST have a HLT command. DAT (Data Definition) DAT must be used to define a variable name (and / or set it with a starting value). Data definitions must be written at the end of the instructions . Peter Higginson's Little Man Computer simulation Examples of Simple Assembly Language Programs #1 - Input & Output Program Purpose: Input a number, store the number as a variable called Number1 and output the number. 1. Lets the user input a number 3. Outputs the value in the accumulator - which will be the number that was just inputted. 5. Defines a variable called 'Number1'. This has to be at the end of the program and you must write the variable name first, not the command first. INP STA Number1 OUT HLT Number1 DAT 2. Stores the number in a variable named 'Number1' - there must be no spaces in a variable name. 4. Halts (stops) the program. Type these instructions line by line into the Little Man Computer simulator to see how it works. #2 - Addition Program Purpose: Input and store two numbers. Add them together. Output the total. 1. Lets the user input a number 3. Lets the user input another number 5. Adds number1 to the value in the accumulator (which is currently number2 as you just inputted it). 7. Halts the program. Type these instructions line by line into the Little Man Computer simulator to see how it works. Then change the program to subtract the number instead. INP STA Number1 INP STA Number2 ADD Number1 OUT HLT Number1 DAT Number2 DAT 2. Stores the inputted number in a variable named 'Number1'. 4. Stores the inputted number in a variable named 'Number2'. 6. Outputs the value in the accumulator (which is now number1 added to number2. 8. & 9. The two variables Number1 and Number2 are defined on separate lines. #3 - Load in Order Program Purpose: Input and store three numbers. Load and output them in the order that they were entered. 1. - 6. Lets the user input three numbers and immediately stores each one as they are entered. 8. Now that Number1 has been loaded into the accumulator, this value is outputted. 13. Halts the program. Type these instructions line by line into the Little Man Computer simulator to see how it works. Let the user input a fourth number and output this fourth number last . INP STA Number1 INP STA Number2 INP STA Number3 LDA Number1 OUT LDA Number2 OUT LDA Number3 OUT HLT Number1 DAT Number2 DAT Number3 DAT 14. - 16. The three variables Number1, Number2 & Number3 are defined on separate lines. 9. - 12. Number2 is loaded and output then Number3 is loaded and output 7. Once all three numbers have been inputted and stored, the first number is loaded back into the accumulator. #4 - Branching Program Purpose: Input and store two numbers. Output the largest number. (Branching required). 1. - 4. Lets the user input two numbers and immediately stores each one as they are entered. 7. BRP is 'Branch is Positive'. If the result of Number1 - Number2 is positive then the program will jump to line 11. You can write any value instead of 'loop', such as 'jump' or 'break'. If the result is not positive it will continue to the next line. 11. - 13. The program will jump to line 11 if the result of Number1 - Number2 is positive. This means that Number1 is larger than Number2 so Number1 is loaded and output then the program is halted. INP STA Number1 INP STA Number2 LDA Number1 SUB Number2 BRP loop LDA Number2 OUT HLT loop LDA Number1 OUT HLT Number1 DAT Number2 DAT 5. & 6. Loads Number1 and subtracts Number2 from it. 8. - 10. The program will continue to line 8 if the result of Number1 - Number2 is not positive. Because the result is a negative number, this tells us that Number2 is larger than Number1. So we load Number2, output it because it is bigger, then halt the program. 14. - 15. The variables Number1 & Number2 are defined on separate lines. Type these instructions line by line into the Little Man Computer simulator to see how it works. Change the program so that the smallest number is output .
- 1.3.1 - Application Types | F160 | Cambridge Advanced National in Computing | AAQ
Learn about the purpose and characteristics of the eight application types, including examples. Application types include communication, educational, entertainment, games, lifestyle, productivity, protection & utility and web browsers. Resources based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 1.3.1 - Application Types Watch on YouTube : Application Types There are several types of applications that can be developed , each with a different purpose and common characteristics . There are eight application types you need to know for this 'Fundamentals of Application Development ' unit, including their purpose and common characteristics . Communication Purpose: Communication applications allow users to exchange information with others , most often in real-time . Data can be transferred in a range of formats including text , images and video . Education Purpose: To teach users about specific topics and help people learn new skills . This may be aimed at certain ages or user groups such as those learning a new language . Characteristics of Communication Applications: Has a simple user interface designed for quick and reliable data exchange . Supports multiple formats (text , images , audio , video and files ). Requires a network connection to send and receive data . Often has built-in security and privacy , such as end-to-end encryption . May use presence awareness such as showing ‘typing… ’ or ‘online now ’. Characteristics of Education Applications: It may be structured around learning milestones or long-term goals . Often interactive , such as quick quizzes or regular recaps of topics. Could include different formats of learning (such as text , visuals or audio ). Usually tracks skills or scores over time to show progress in a user-friendly way . Age-appropriate in content and design , possibly with difficulty levels . Examples: WhatsApp, Messenger, Zoom, Slack, Gmail Examples: Duolingo, Kahoot!, Quizlet, Memrise, Anki Entertainment Purpose: To provide enjoyment through formats such as video or audio , often with automatic suggestions based on previous interactions including watched videos , likes or comments . Characteristics of Entertainment Applications: Simple design to focus on keeping users engaged . May include streamed media content or the option to download . Designed for passive or relaxed use , e.g. watching or listening without interacting . Uses algorithms for recommendations based on user preferences . May include social features such as comments or sharing with friends . Examples: Netflix, Disney+, Spotify, YouTube, Twitch Games Purpose: To offer interactive challenges in a fun and possibly competitive way. Games may be played together online or offline for a single-player experience . Characteristics of Game Applications: Based on clear rules and objectives with reward systems , e.g. achievements . High interactivity and quick responsiveness to keep players engaged . Requires graphical rendering , user inputs and sound design . May support local multiplayer or online play with competition , like leaderboards . Often has a range of difficulty levels to keep players challenged . Examples: Minecraft, Fortnite, Among Us, EA Sports FC, Candy Crush Lifestyle Purpose: Supports a healthy and organised way of living . They often help people to manage their daily tasks and form positive personal routines . Productivity Purpose: To support users to complete tasks , manage their time or organise information in a helpful way , all to to maximise productivity . Characteristics of Lifestyle Applications: Often personalised to user preferences or personal data . May use real-time inputs such as location or health data , like steps taken . It may be integrated with smart wearable devices such as a smartwatch . Designed to be used briefly but daily (e.g. checking steps or logging meals ). Encourages improved habits or healthier improvements . Characteristics of Productivity Applications: Has a focus on efficiency , reliability and easy usability . Often allows collaboration and file sharing (e.g. working with colleagues ). Prioritises data organisation and quick access to relevant information . Usually integrated with cloud services or other apps like calendars . It may be designed for professional , personal or educational use . Examples: MyFitness Pal, Noom, Headspace, FitBit, Couch to 5k Examples: Microsoft Word, Calendar, Google Drive, Notion, Trello Protection & Utility Purpose: To secure the computer system against malicious threats and perform housekeeping tasks that maintain stability and a smooth performance . Characteristics of Protection & Utility Applications: Works in the background without frequent user interaction . Often requires permissions to access sensitive data . Needs to be updated frequently , e.g. adding new virus signatures to the database of an antivirus . May be event-driven (e.g. alerts or automatic scans at regular intervals ). Should use low system resources if it needs to be running constantly . Web Browsers Purpose: Accesses , retrieves and displays web pages from web servers . It provides tools like bookmarks , tabs and history to help users easily navigate the interne t. Characteristics of Web Browser Applications: Displays webpages that are built using HTML , CSS and JavaScript . Supports security protocols such as HTTPS , which uses encryption . Enables customisation and user control , e.g. bookmarks , extensions and themes . Contains an address bar to directly type in URLs or search terms . Allows for multiple tabs to run concurrently . Types of Application Examples: Avast Antivirus, CCleaner, 1Password, Battery Saver, Microsoft Defender Examples: Google Chrome, Safari, Mozilla Firefox, Microsoft Edge, Opera Q uesto's Q uestions 1.3.1 - Application Types: 1. Choose four application types and explain how each can be used in a school . [8 ] 2a. For two application types you did not mention in Q1 , explain their characteristics . [6 ] 2a. For the remaining two application types you have not mentioned , explain their purpose . [ 4 ] Minecraft is the best-selling video game of all time , with over 350 million copies sold since its official release in 2011 . D id Y ou K now? 1.2 - Operating Systems Topic List 1.3.2 - Application Software Categories
- 3.4 - Web Technologies | OCR A-Level | CSNewbs
Learn about HTML, CSS, JavaScript, search engine indexing, the PageRank algorithm and client-side and server-side processing. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 3.4 - Web Technologies Specification: Computer Science H446 Watch on YouTube : HTML CSS JavaScript Search engine indexing PageRank algorithm Server-Side & Client-Side Processing This topic looks at the languages that web pages are comprised of (HTML , CSS and JavaScript ) as well as search engines and network processing (client-side and server-side ). HTML HTML ( HyperText Markup Language ) is the standard language used to create and structure web pages . It uses tags enclosed in angle brackets to define elements on a page . A web page begins with , which contains a section for metadata , links and the
- Python | 4a - If Statements | CSNewbs
Learn how to use if statements in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 4a - If Statements If Statements Selection is one of three constructs of programming , along with Sequence (logical order) and Iteration (loops). An if statement is a conditional statement that performs a specific action based on conditional values. Essentially, if thing A is true , then thing B will happen . If the user answers yes to the window question, then an appropriate statement is printed. Double equals stands for ‘is equal to ‘. The colon stands for THEN and the line after an if statement must be indented (press tab key once). answer = input ( "Is the window open? " ) if answer == "yes" : print ( "It's chilly in here!" ) Is the window open? yes It's chilly in here! But what if the window is not open? At the moment nothing will happen if you type no: Is the window open? no The elif command stands for else if . Essentially: If thing A is true then do thing B, else if thing C is true then do thing D: But what about any other answer than yes or no? The else command will submit a response if the value is anything else. The if and elif commands have a colon at the end, but else has it at the start. Also, else does not need to be on a new line. answer = input ( "Is the window open? " ) if answer == "yes" : print ( "It's chilly in here!" ) elif answer == "no" : print ( "It's quite hot in here!" ) answer = input ( "Is the window open? " ) if answer == "yes" : print ( "It's chilly in here!" ) elif answer == "no" : print ( "It's quite hot in here!" ) else : print ( "I'm not sure what you mean." ) Is the window open? no It's quite hot in here! Is the window open? banana I'm not sure what you mean. If Statements Task 1 ( Left or Right?) Use an input line to ask the user whether they want to turn left or right . Print a sentence of your choice if they chose left and a different sentence if they chose right . Include an else statement in case the user doesn't input left or right. Example solutions: There is a path ahead. Do you turn left or right? left The path turns and twists until it reaches a cliff. Dead end! There is a path ahead. Do you turn left or right? right A snake slithers across the path and bites your leg. Oh no! There is a path ahead. Do you turn left or right? backwards That's not an option! Nested If Statements Complex programs may require you to have if statements within if statements - when programming, one thing inside another is known as nesting . You must make sure that the related if , elif and else statements line up with each other . Use the tab key to indent a line. outer if inner if weather = input ( "What is the weather like today? " ) if weather == "sunny" : sunny = input ( "How hot is it? " ) if sunny == "very hot" : print ( "Take some sunglasses with you!" ) elif sunny == "cool" : print ( "Maybe take a jacket just in case?" ) else : print ( "Enjoy the sunshine!" ) elif weather == "rainy" : print ( "Take an umbrella!" ) else : print ( "Have a good day!" ) = What is the weather like today? rainy Take an umbrella! = What is the weather like today? sunny How hot is it? cool Maybe take a jacket just in case? = What is the weather like today? snowy Have a good day! = What is the weather like today? sunny How hot is it? very hot Take some sunglasses with you! If Statements Task 2 ( Nested Ifs) Use the weather program above as an example to help you write your own program with a nested if for at least one option. Be careful to have your nested if's if, elif and else statements in line with each other. Your program doesn't have to be about juice. Example solutions: Would you like orange, apple or tomato juice? orange Would you like your orange juice smooth or with bits? smooth One smooth orange juice coming up! Would you like orange, apple or tomato juice? orange Would you like your orange juice smooth or with bits? bits A pulpy orange juice is on its way! Would you like orange, apple or tomato juice? tomato Yuck, you can't be serious? Using Selection with Numbers Comparison operators such as > (greater than ) > = (greater than or equal to ) < (less than ) and < = (less than or equal to ) can be used with if statements. Logical operators such as and and or can also be used - more about them in section 4c . When comparing a variable's value to a specific number, such as 50, don't forget to use double equals ( == ) . Python Comparison Operators score = int ( input ( "Enter the maths test score: " )) if score == 50: print ( "You scored top marks!" ) elif score >= 40 and score < 50: print ( "You scored a great grade!" ) elif score >= 20 and score < 40: print ( "You did okay in the test." ) else : print ( "You have to try harder next time!" ) = Enter the maths test score: 50 You scored top marks! = Enter the maths test score: 43 You scored a great grade! = Enter the maths test score: 20 You did okay in the test. = Enter the maths test score: 13 You have to try harder next time! If Statements Task 3 ( Fastest lap) A racing video game has a challenging track that players try to get a quick lap on. The current fastest lap time is 37 seconds . Ask the player to enter their lap time and print a response based on their input . You need individual responses for the following inputs: Faster than 37 seconds. Between 37 seconds and 59 seconds. Between 60 seconds and 90 seconds. Slower than 90 seconds. Example solutions: Enter your lap time: 35 You have set a new record!!! Enter your lap time: 59 You did well this time! Enter your lap time: 83 A little bit slow this time! Enter your lap time: 110 Were you even trying!?! Hurry up! Not Equal To The opposite of equal to ( == ) is not equal to ( != ). != is often used with while loops to repeat code while an input is not what is expected , for example repeatedly asking for a password while the input is not equal to "fluffythecat123". The code below uses != for an incorrect answer (although it could easily be re-written to use == for a correct answer). answer = input ( "What is the capital of Eritrea? " ) if answer != "Asmara" : print ( "That is incorrect! It is Asmara." ) else : print ( "You got it right!" ) = What is the capital of Eritrea? Asmara You got it right! = What is the capital of Eritrea? Windhoek That is incorrect! It is Asmara. If Statements Task 4 ( True or False? ) Come up with your own true or false question that the user has to respond to. Depending on their answer , print whether they got it right or wrong . You may want to use an if statement with == for a correct answer or != for an incorrect answer , there's multiple ways to write this program. Example solutions: There are 140 million miles between Earth and Mars. TRUE or FALSE? TRUE That is correct! It is really that far! There are 140 million miles between Earth and Mars. TRUE or FALSE? FALSE You got it wrong, there really are 140 million miles between us! ⬅ Section 3 Practice Tasks 4b - Mathematical Operators ➡
- Python | 2a - Inputting Text | CSNewbs
Learn how to input strings (text) in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 2a - Inputting Text Inputting Text (Strings) in Python A string is a collection of characters (letters, numbers and punctuation) such as: “Wednesday” , “Toy Story 4” or “Boeing 747” . Use the input command to ask a question and let a user input data , which is automatically stored as a string . Variable to save the answer into. Give it a suitable name based on the input. name = input ( "What is your name? " ) = What is your name? Paulina Type your answer directly into the editor and press the Enter key. Statement that is printed to the screen. Leave a space to make the output look clearer. Once an input has been saved into a variable, it can be used for other purposes, such as printing it within a sentence : name = input ( "What is your name? " ) print ( "It is nice to meet you" , name) = What is your name? Jake the Dog It is nice to meet you Jake the Dog Always choose an appropriate variable name when using inputs. colour = input ( "What is your favourite colour? " ) print ( "Your favourite colour is " + colour + "? Mine is yellow." ) = What is your favourite colour? blue Your favourite colour is blue? Mine is yellow. Inputting Text Task 1 ( Holiday) Write an input line to ask the user where they last went on holiday . Write a print line that uses the holiday variable (their answer). Example solution: Where did you last go on holiday? Scotland I hope you had a nice time in Scotland Inputting Text Task 2 ( New Neighbour) Write an input line to ask the user for a title (e.g. Mr, Mrs, Dr). Write another input line for an object . Write a print line that uses both input variables (title and object ). Example solutions: Enter a title: Dr Enter an object: Fridge I think my new neighbour is Dr Fridge Enter a title: Mrs Enter an object: Armchair I think my new neighbour is Mrs Armchair Using a Variable Within an Input To use a variable you have previously assigned a value t o within the input statement you must use + (commas will not work). drink = input ( "What would you like to drink? " ) option = input ( "What would you like with your " + drink + "? " ) print ( "Getting your" , drink , "and" , option , "now...." ) = What would you like to drink? tea What would you like with your tea? biscuits Getting your tea and biscuits now... What would you like to drink? apple juice What would you like with your apple juice? cake Getting your apple juice and cake now... Inputting Text Task 3 ( Name & Game) Ask the user what their name is. Ask the user what their favourite game is. Use their name in the input statement for their game. Print a response with their name and the game they entered. Example solutions: What is your name? Rory Hi Rory, what's your favourite game? Minecraft Rory likes Minecraft? That's nice to know. What is your name? Kayleigh Hi Kayleigh, what's your favourite game? Stardew Valley Kayleigh likes Stardew Valley? That's nice to know. ⬅ Section 1 Practice Ta sks 2b - I nputting Numbers ➡
- 5.1 - Languages & Translators - OCR GCSE (J277 Spec) | CSNewbs
Learn about the two types of language levels - high level languages and low level languages , as well as the use of interpreters and compilers. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 5.1: Languages & Translators Exam Board: OCR Specification: J277 Watch on YouTube : High-Level & Low-Level Languages Translators (Compiler & Interpreter) There are two types of programming languages used within computer systems: High-Level Languages Why do programmers use high-level languages? H igh-level programming languages use code written in a way that is similar to a natural human language , such as English, making it easier to understand and use the language. Using high-level languages leads to fewer errors and allows for more powerful and complex commands compared to low-level languages. However, a high-level language must be translated into machine code (binary) before it can be run, as high-level languages cannot be executed directly by the CPU . Popular high-level languages: PYT HON C++ Ja v a Visual Basic Low-Level Languages Low-level languages do not closely resemble a natural human language , making it harder for humans to understand and write in. Low-level languages are used when a program must be executed quickly or when programmers need to write code that interacts directly with the hardware , such as device drivers. There are two types of low-level language : Machine Code This is the pure binary code that computers can directly process and execute . It is extremely tedious and difficult for humans to understand and write machine code. However, machine code can be used when a programmer needs to perform a very specific command that can't be done in a high-level language. Machine code will be executed faster than high-level programs because it is already in a format the CPU can execute and does not need to be translated . 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0101 0100 1010 1010 1010 1010 1111 1110 0010 1001 0100 1001 0010 0111 0111 0101 0011 1010 1000 0101 0110 0111 0000 1010 1010 0011 1101 1001 0010 1101 0010 0100 1001 0011 1010 1001 0101 0101 0010 0101 0111 0101 0101 1000 1011 0111 Assembly Language Assembly language uses specialised command mnemonics to perform actions . See the Assembly Language section in the programming tab for a list of mnemonics such as INP , OUT and HLT . Assembly language is preferred by many programmers over machine code because it is easier to understand and spot errors . It is faster to execute than high-level languages and, like machine code, can be used to directly control the CPU . INP STA Number1 OUT HLT Number1 DAT Translators A translator changes (translates) a program written in one language into another language (usually machine code ). There are two main types of translator : Interpreter An interpreter converts high-level language one line at a time into machine code and executes it. Compiler A compiler converts high-level language into machine code for execution at a later time. The entire program is converted at once . PYT HON PYT HON 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 Interpreters vs Compilers Interpreter Compiler Execution Method: An interpreter translates source code (high level code) into machine code one line at a time . Execution Speed: An interpreter is slower than a compiler because the code must be reinterpreted each time the program is run. Complexity: Interpreters are smaller, simpler programs . Error Reporting: In error reporting, the interpreter would encounter the errors and report it to the user immediately and stops the program from running. Repetition: Interpreted programs can be edited and run without translating the whole program . Interpreters must reinterpret the program every time it is run. Execution Method: A compiler translates all the source code (high level code) into machine code in one go . A compiler produces an executable file that will run on other machines without the compiler needing to be installed. Execution Speed: Compilers can produce much more efficient code than interpreters making the compiled programs run faster . Complexity: Compilers tend to be large complex programs . Error Reporting: The compiler would analyse the entire program , taking note of where errors have occurred and record them in an error file . Repetition: Compilation requires analysis and the generation of the code only once , whereas interpreters must re-interpret each time. However, compiled programs have to be re-compiled after any changes have been made. x1 ∞ x1 Q uesto's Q uestions 5.1 - Languages & Translators: 1a. Describe three reasons why programmers use high-level languages . [ 3 ] 1b. Explain one limitation of using high-level languages . [2 ] 2a. Describe a key difference between low-level languages and high-level languages . [ 2 ] 2b. Describe when a low-level language would be used instead of a high-level language . [2 ] 2c. Describe an advantage and a disadvantage of writing directly in machine code . [2 ] 2d. Describe what assembly language is. Give one benefit to using assembly language instead of machine code and one benefit to using it instead of a high-level language . [3 ] 3. Compare high-level and low-level languages by stating which is: a. Easier to understand [ 1 ] b. Requiring translation [ 1 ] c. Quicker to execute [ 1 ] 4. Compare interpreters and compilers for each of the following features : a. Execution Method b. Execution Speed c. Complexity d. Error Reporting e. Repetition [ 10 total ] 4.1 - Boolean Logic Theory Topics 5.2 - IDE
- HTML Guide 10 - More Pages | CSNewbs
Learn how to create more HTML pages and link them together using the anchor tag. 10. More Pages HTML Guide Watch on YouTube: Create a New Page Create a new page by either clicking the new page icon in Notepad ++ or selecting File then New . Then you need to save your new page with an appropriate name as a HTML file . Create a new page, save it and add information to it. Your new page needs the same essential tags as your original page: Then you can add the rest of your content . Link to Other Pages The tag is used to link between pages , just like it is used to hyperlink to other websites. Make sure you type your web pages exactly as you have saved them. Make sure all of your web pages are saved in the same folder . Include links between pages on each new page. A link to the second page. Don't forget a link back to your homepage on each new page. Why not add more pages to make your website more detailed? 9. Colours & Fonts HTML Guide
- 6.1a - Impacts of Technology - OCR GCSE (J277 Spec) | CSNewbs
Learn about ethical, legal, cultural, privacy and environmental impacts of digital technology. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 6.1a: Impacts of Technology Exam Board: OCR Specification: J277 Watch on YouTube : Impacts of Technology What are the issues created by technology? As the use of computers and technological devices continues to rise every year, this increase brings with it a range of different types of issues . Categories of issues described on this page include: Cultural issues Environmental issues Ethical issues Legal & Privacy issues Cultural Issues Culture relates to society and how different parts of the world vary in terms of computer and internet usage . The Digital Divide This term relates to the gap between those people who have access to modern digital technology (such as computers and the internet) and those who have limited access . 'Limited access' could be devices at home or shared devices or having lower-performance (cheaper) computers and low-speed internet connections. The digital divide can be seen in different ways , such as: People in cities vs. People in rural areas . Younger people vs. Elderly people. Developed countries vs. Developing countries. The digital divide is an important ethical issue because digital technologies have led to numerous international benefits including boosted growth , improved product delivery , enhanced communication and increased opportunities . However, this impact is uneven and these positive impacts are mostly occurring in technologically-advanced regions such as North America , Western Europe and Japan . Regions like some nations in Africa and Central Asia have limited digital infrastructure and government instability , leading to poor internet speeds , high costs and limited resources . Discussion Points: What do you think can be done to bridge the digital divide? Whose job is it to bridge the gap? Who will pay for the technology? Changes to Work The internet , the development of new technologies such as cloud storage and increased video communication have transformed the way that many businesses operate across the world. Staff may be able to work from home or access documents collaboratively outside of the traditional workplace, such as cafes or on public transport. Some jobs have moved abroad to save costs, such as help centres for online issues. Tasks can be outsourced to freelancers in other countries where people are content to be paid less for their time and services. For example, some companies will hire temporary web developers from countries such as India to work for them for a lower salary than local workers. Another change to work that technology has brought is the loss of jobs , especially low-skilled jobs such as factory workers that have seen their roles replaced by technology and automation . However, technology has also created millions of new jobs , including installing and maintaining the machines that replace other roles. Environmental Issues Environmental issues concern the natural world and the negative effects of producing , using and discarding computer systems and devices. Energy and Material Consumption In the past 30 years, the number of technological devices has increased astronomically and thousands of new devices are manufactured each day . These devices need to be assembled using a range of materials , including plastics , metals and some rarer elements and need a considerable amount of electrical power to run. Certain systems like web servers and data centres must be powered on all day , every day, which uses a large amount of energy . Pollution and Waste Generating the electricity to power computers creates pollution - an average PC could require up to 50% more energy per year than a fridge. Computers are difficult to recycle and discarded components can lead to land, water and air pollution due to harmful materials , such as lead and mercury , leaking into the environment. Smartphone trends are also negative for the environment as new devices are released yearly , with minor upgrades that people buy to appear fashionable and up-to-date. To lessen the environmental impact, people should reuse and recycle their devices. Ethical Issues Ethics relates to what is considered right or wrong . Often this is subjective - people may have differing opinions on the issue. Drones Uses of drones: Filming and photography for television, movies and special events. Monitoring pollution levels in the atmosphere. Tracking and monitoring wildlife , such as rhino populations in Africa. Disaster zone response , such as searching for survivors following an earthquake. Delivery companies are developing drones to quickly deliver goods across cities. Drones are used by the military to target sites in other countries, such as American soldiers deploying surveillance drones in Syria. Discussion Points: Should you need a licence to buy and fly a drone? Should drones be used to monitor the public? Like flying CCTV? Should drones be used to deliver items? Like Amazon packages? If a drone hits a plane and it crashes, what should the punishment be? A drone is an unmanned aerial vehicle (UAV ) that is remotely operated and can be used for a wide range of purposes. Self-Driving Cars Self-driving cars (also known as autonomous vehicles ) are currently in the development and testing stage with companies like Tesla and Amazon. Benefits of self-driving cars include: In theory, driving will be safer because cars are less likely to make mistakes that humans do and they can’t become distracted or tired . Self-driving cars should be more fuel-efficient because they take the most direct route to destinations and do not get lost. ‘Drivers’ in the car can perform other tasks instead of driving, such as work or planning. Autonomous vehicles could include trucks and vans to automate the delivery and freight industries . Trucks could drive overnight to deliver goods whereas currently, human drivers must take breaks every few hours. Drawbacks of self-driving cars include: Cars could still crash as code and software processes may fail. The technology is still in development and will be very expensive for the first few years when self-driving cars are available to purchase. Jobs may be lost such as delivery and truck drivers whose vehicles are equipped with self-driving technology. Other industries like motorway services and hotels may also be affected. Discussion Points: Would you trust a car to drive itself? Who is to blame if a self-driving car crashes? The car maker? The people in the car? The software writers? What should happen to the people whose jobs are taken by self-driving vehicles? Artificial Intelligence Artificial Intelligence (AI ) is the act of computers replacing humans to analyse data and make decisions . In recent years AI has become more common in the home and on devices like smartphones; assistants such as Siri and Alexa are prime examples of modern home AI. AI Chatbots like ChatGPT have become more popular in recent years but have lead to issues such as plagiarism , misinformation and breaking copyright laws . The weather today is cloudy. Benefits of AI include: Processes are sped up as computers can analyse large amounts of data much quicker than a human. AI can be used when a human is unavailable , such as using a symptom checker on the internet for a minor illness rather than booking and waiting for a doctor. Repetitive or time-consuming tasks can instead be completed by a computer , such as searching and sorting scientific data or generating ideas , images or audio from a prompt . Drawbacks of AI include: AI can store and process a lot of personal data , especially personal assistants like Alexa which are always listening for ‘wake words’. This data can be viewed by the company that develops it and could be hacked by attackers. AI is programmed by humans and mistakes in code could have disastrous consequences if the AI is used to make important decisions , such as military deployment. AI GPT tools like ChatGPT can give incorrect results , may use copyrighted material in their response and students may use it to submit work that is not their own . Discussion Points: If a robot harms a human who is to blame? The robot? The programmer? The manufacturer? Us? Would you trust a walking, talking robot assistant in your home? Should ChatGPT be banned in schools or can it be helpful? Should AI make decisions for us? Legal & Privacy Issues Legal and privacy issues regard laws that have been introduced by the UK government to protect data, systems and networks from unauthorised access . See 11.2 for explanations about important computing legislation in the UK. Loss of Privacy & Hacking There has been a lot of criticism in the last few years about how internet companies and governments are using personal data to invade privacy and track civilians . Facebook was involved in a scandal with using personal data for reasons that were not the original intention. In reverse, WhatsApp and Apple have been criticised for encrypting messages sent by terrorists that police have been unable to track and read. Every week a new company seems to announce that its data has been hacked . Attackers are constantly using botnets and infected systems to crack poorly secured databases and attempting to phish individuals for usernames and passwords. In the past few years, major hacking breaches include Sony, Yahoo and TalkTalk. Discussion Points: Should the UK government be able to see the websites you have visited in the last year? What should happen if a major company is hacked and bank details are stolen? Should they be fined? Pay customers? Prison? Should WhatsApp allow authorities to access encrypted messages? What if they know a terrorist is using it to communicate? Should the UK debate privacy laws before they go into place? Online Crime Unlawfully obtaining personal information and using it for identity theft or fraud . Harassment and threatening others on social media or private messages; blackmail . Cyber attacks are more common - see 3.8 for information about DOS attacks , IP spoofing , SQL injection and more. Sharing copyrighted material such as television programmes, music and video games. Distributing prohibited material such as drugs or weapons on the dark web. See 6.1b for explanations about different laws that have been created to tackle online crime . The increased popularity of the internet and the rising number of users has led to a wave of online crime , taking many different forms, including: Q uesto's Q uestions 6.1a - Impacts of Technology: Cultural Impacts 1a. What is the digital divide ? [ 2 ] 1b. Describe 2 examples of how the digital divide can be seen . [ 2 ] 2. Describe in detail 3 ways that technology has changed the way people work . [9 ] Environmental Impacts 1. Describe the different ways that the increasing use of technology negatively impacts the environment . [ 5 ] Ethical Impacts 1a. What is a drone ? [1 ] 1b. Make a list of all of the positive impacts and the negative impacts of using drones . You should have at least 3 on each side. [ 6 ] 2. Describe 2 benefits of using self-driving cars and 2 negative consequences . [4 ] 3. Describe how artificial intelligence can be used for good . [ 4 ] Legal & Privacy Impacts 1. A hack on a bank has occurred. Describe what you think the impacts would be on the following groups of people: a. The customers . b. The bank managers . c. The general public . [ 6 ] 2. Describe 4 different types of online crime . [ 8 ] 5.2 - Utility Software Theory Topics 6.1b - Legislation





