Search CSNewbs
304 results found with an empty search
- 5.2 - Moral & Ethical Issues | OCR A-Level | CSNewbs
Learn about the moral and ethical issues of computing such as computers in the workforce, automated decision making, artificial intelligence, environmental effects, censorship and the internet, monitor behaviour, analysing personal information, piracy and offensive communications, layout, colour paradigms and character sets. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 5.2 - Moral & Ethical Issues Watch on YouTube : Moral & Ethical Issues #1 Moral & Ethical Issues #2 Artifical Intelligence Technology and the internet have transformed society , bringing huge benefits but also raising new ethical , social and environmental challenges . Below are some key modern issues linked to computing and digital systems . Moral & Ethical Issues Computers in the Workforce: Computers and automation have increased productivity and created new tech-based jobs , but they have also led to job losses in areas where machines can replace human labour . This raises concerns about unemployment and retraining in many industries . Automated Decision Making: Systems such as credit checks and recruitment tools now make decisions automatically using algorithms . While this can save time and reduce human bias , it can also lead to unfair or inaccurate outcomes if the data or programming is flawed . Artificial Intelligence (AI): AI allows machines to learn and make decisions without explicit human control , improving fields like healthcare and transport . However, it also raises ethical questions about accountability , job loss and the potential misuse of intelligent systems . Environmental Effects: Computers require energy to manufacture , use and dispose of , contributing to electronic waste and carbon emissions . Recycling and energy-efficient design can help reduce the environmental impact of modern technology . Censorship and the Internet: Some governments and organisations restrict access to information online to control what people can see or share . While this can protect users from harmful content , it can also limit freedom of expression and access to knowledge . Monitoring Behaviour: Digital systems and surveillance tools can track users’ actions , such as browsing history or location . This can improve safety and security but also raises privacy concerns about who collects this data and how it’s used . Analysing Personal Information: Companies and governments can collect and analyse large amounts of personal data to improve services or target advertising . However, this creates risks of data misuse , discrimination or identity theft if information isn’t protected properly. Piracy and Offensive Communications: The internet makes it easy to copy and share content illegally , such as music , films or software , leading to lost income for creators . It can also be a platform for offensive or harmful communication , such as trolling or cyberbullying , which can have serious social effects . Layout, Colour Paradigms, and Character Sets: Design choices like layout , colour schemes and character sets affect how accessible and inclusive digital content is. Using clear design , appropriate colours and Unicode character sets helps ensure that websites and software can be used by people of all languages and abilities . YouTube video uploading soon YouTube video uploading soon YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Moral & Ethical Issues: moral, social, ethical, cultural, opportunities, risks, computers in the workforce, automated decision making, artificial intelligence (AI), environmental effects, censorship, the internet, monitor behaviour, analysing personal information, piracy, offensive communications, layout, colour paradigms, character sets D id Y ou K now? In 2022 , the world generated 62 million tonnes of e-waste (roughly 7.8 kg per person globally) and only 22% of it was formally collected and recycled . 5.1 - Computing Legislation A-Level Topics
- 8.1 - Programming Principles - Eduqas (2020 Spec) | CSNewbs
Learn about algorithms including programming principles, variables and sequencing. Based on the 2020 Eduqas (WJEC) GCSE specification. 8.1: Programming Principles Exam Board: Eduqas Specification: 2020 Problem Solving There are four stages to computational thinking (smart problem solving ). Decomposition is when you break a problem down into smaller tasks so that it is easier to solve . Pattern Recognition is the process of identifying similar patterns within a problem . Abstraction is when you ignore unnecessary information and focus only on the important facts . Algorithms are the final stage as step-by-step rules are created to solve the problem . An algorithm is usually written as psuedocode or presented as a flowchart . Programming Constructs There are three constructs (ideas) of programming that most programs will contain: Sequence Structuring code into a logical, sequential order . Selection Decision making using if statements . Iteration Repeating code , often using for loops or while loops . Variables Large programs are often modular - split into subroutines with each subroutine having a dedicated purpose. Local variables are declared within a specific subroutine and can only be used within that subroutine . Global variables can be used at any point within the whole program . Local variable advantages Saves memory - only uses memory when that local variable is needed - global variables use memory whether they are used or not. Easier to debug local variables as they can only be changed within one subroutine. You can reuse subroutines with local variables in other programs. Global variable advantages Variables can be used anywhere in the whole program (and in multiple subroutines). Makes maintenance easier as they are only declared once. Can be used for constants - values that remain the same. Local & Global Variables Constants A variable is data that can change in value as a program is being run. A constant is data that does not change in value as the program is run - it is fixed and remains the same. An example of a constant in maths programs is pi - it will constantly remain at 3.14159 and never change. π π Counts & Rogue Values When using iteration (looping) the loop must eventually be able to stop. A count is a variable that is used to record the current iteration (loop number). A rogue value is an unexpected value that will cause the loop to end . For example by typing "Stop" into a loop that asks for numbers. Self-documenting Identifiers An efficient program will use variables with sensible names that immediately state their purpose in the program. Using variable names like 'TotalNum' and 'Profit' rather than 'num1' and 'num2' mean that other programmers will be able to work out the purpose of the code without the need for extensive comments. Q uesto's Q uestions 8.1 - Programming Principles: Problem Solving 1. What is meant by 'decomposition '? Why is it important ? [2 ] 2. What does the term 'abstraction ' mean? Why is it important ? [2 ] 3. What is pattern recognition ? [2 ] 4a. What is an algorithm ? [1 ] 4b. What are the two ways of writing an algorithm ? [2 ] Programming Constructs 1. Describe and draw a diagram for the 3 programming constructs . [6 ] Variables 1. What is the difference between local and global variables ? [4 ] 2. Describe two advantages of using local variables . [2 ] 3. Describe two advantages of using global variables . [2 ] 4. What is a constant ? Give an example . [2 ] 5. Why is it important to use self-documenting identifiers when programming? [2 ] 6. What is a count ? What is a rogue value ? [2 ] 7.1 - Language Levels Theory Topics 8.2 - Understanding Algorithms
- Greenfoot Guide #5 | Play Sounds | CSNewbs
Learn how to play sound files in Greenfoot. Part 5 of the Greenfoot Tutorial for the Eduqas / WJEC GCSE 2016 specification. 5. Play Sounds 1. Check the Sounds Folder Greenfoot Tutorial Sound files must be placed the ' sounds ' folder of your Greenfoot project to be used in the game. In the Component 2 exam of the WJEC / Eduqas 2016 specification , an audio file will be placed in the sounds folder already . For this example game you can download the audio clips to the right and paste them into your sounds folder . Watch on YouTube: Click the audio icon to download a zip folder of the two sound files below . Copy the files into the sounds folder of your Greenfoot project . < Part 4 - Remove Objects 2. Add the playSound Method Add the code to play the sound at the same time as when the collectible object is removed . The name of the file and its extension (e.g. .wav or .mp3 ) must be written in speech marks after the playSound method. Part 6 - The Counter >
- OCR CTech IT | Unit 1 | 2.6 - Software Troubleshooting | CSNewbs
Learn about software errors and troubleshooting methods of solving them. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.6 - Software Troubleshooting Exam Board: OCR Specification: 2016 - Unit 1 A software error occurs when a program or process stops working as expected. Software errors usually occur when programs are badly written or if a user inputs unexpected data . Common Faults System Freeze The computer freezes and pressing keys or moving the mouse gives no response . Commonly caused by having too many applications running simultaneously or a virus using too much memory . Unexpected Reboot To try and fix errors, a computer might get stuck in an endless loop of booting and rebooting . Other systems may frequently restart without warning . Stop Error This occurs after a fatal system error when the operating system stops , usually because of a driver software issue . Commonly known as the 'blue screen of death ' on Windows-based systems. Update Error While designed to fix errors, updates can sometimes bring more problems if they interfere with the current software . Troubleshooting Tools for Software Errors Event Viewer (Logs) If a software error does occur, then the same characteristics as a hardware error should be logged , such as the time and date of the error , the user logged in , and the device's problem history . Memory Dump Copies and displays the contents of RAM at the time of a crash to help a technician discover what happened . Baselines Before After A comparison of what the system is like after a crash compared to a fixed point in time beforehand. The baseline can be used to see differences which may have caused the computer to fail . Anti-Virus Checks if malware is running on a device, using up resources and slowing the system down. It could then be quarantined and deleted by the anti-virus. Installable tools can also be downloaded to investigate the system and find the cause of the problem . They may help detect corrupted files , uncover deleted files , and resolve other general hardware or software issues . Q uesto's Q uestions 2.6 - Software Troubleshooting: 1. Describe each of the four common types of software error : a. System Freeze b. Stop Error c. Unexpected Reboot d. Update Error [2 each ] 2. Describe each type of troubleshooting tool and explain how it can be used to discover and fix software errors. a. Event Viewer b. Memory Dump c. Baselines d. Antivirus Software e. Installable Tools [ 2 each ] 2.5 Communication Methods Topic List 2.7 - Protocols
- About | CSNewbs
Frequently asked questions about CSNewbs including content, the creator and contact. Frequently Asked Questions about Computer Science Newbies What is CSNewbs? CSNewbs (standing for Computer Science Newbies ) is an educational website and YouTube channel that contains information about a range of computing topics . It is primarily aimed at British GCSE and A-Level specifications , but is also relevant for all years and locations . It covers all necessary content from relevant specifications , but breaks it down so it is easier to understand and gets straight to the point . It is made by just one person , but updates are frequent . Which courses does CSNewbs cover? The ' Year 10 & 11 ' section follows the OCR J277 specification and Eduqas specification ( 2020 edition ) . The ' Year 12 & 13 ' section follows the OCR A-Level H446 specification and OCR Cambridge Advanced Nationals in Computing specification for Application Development . There is also content for the now-finished Cambridge Technicals IT course. The ' Programming ' section contains material for Python , HTML , Greenfoot and others. The ' Year 7, 8 & 9 ' section covers basic Computer Science topics including computer components and cybersecurity. Is the site linked to any exam boards? CSNewbs is not affiliated with any exam board , financially or in any other way . The content on this site has been independently created by closely manually analysing (no AI ) the publicly released specifications by exam boards such as Eduqas and OCR and their previous exams and mark schemes. How was this website made? CSNewbs.com was created and is maintained using Wix . What's the deal with copyright? CSNewbs is protected by copyright , and some copy / paste features have been disabled on the site. All images have either been self-created or used from Wix's copyright-free vector gallery / their stock image library / or with a licence from Noun Project . Embedded videos are linked to content from the CSNewbs YouTube page. Will other exam boards be added? The site continues to expand over time with new content . The eventual aim is to cover every exam board for GCSE and A-Level Computer Science but that will take a lot of time! Why is something on the site not working at my school? Your school's IT administrators may have blocked some elements such as JavaScript or embedded YouTube videos . The videos can be watched directly on YouTube (if not blocked on your school network). Who is the robot? The robot is called Questo . It's the site logo and appears on some pages to ask questions about the content (' Questo's Questions ') or to display key terms . What else? If you work for an exam board or educational resource organisation , and your organisation has opportunities available , please send me an email. I have previously done work for Educake . How can I contact the creator of CSNewbs? The contact email is: Privacy Policy
- 8.3 - Writing Algorithms - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about how to write algorithms, including pseudocode and the different flowchart symbols. Based on the 2020 Eduqas (WJEC) GCSE specification. 8.3: Writing Algorithms Exam Board: Eduqas Specification: 2020 Pseudocode Reminder Generally, pseudocode can be written in any way that is readable and clearly shows its purpose. However, the Eduqas exam board advises that pseudocode for the programming exam should follow the conventions below : Annotation { Write your comment in curly brackets} Define data type price is integer firstname is string Declare a variable's value set price = 100 set firstname = "Marcella" Input / output output "Please enter your first name" input firstname Selection (must have indentation) if firstname = "Steven" then output "Hello" + firstname elif firstname = "Steve" then output "Please use full name" else output "Who are you?" end if Iteration (while loop) while firstname ! = "Steven" output "Guess my name." input firstname repeat Iteration (for loop) for i in range 10 input item next i Define a subroutine Declare Sub1 [Subroutine content indented] End Sub1 Call a subroutine call Sub1 Writing Algorithms In an exam you may be asked to write an algorithm using pseudocode . Previous exams have offered up to 10 marks for a single algorithm . While this may seem daunting, it means you can still gain marks for an incomplete program , so don't leave it blank no matter what! You must decompose the problem and break it down into more manageable chunks . Here's an example question : “A teacher is marking tests. Write an algorithm that allows the teacher to input the number of tests to mark and then the mark of each test. Output the average mark, highest mark and lowest mark. The tests are marked out of 100.” This specific algorithm can be broken down into pre-code and three main parts : Part 0: Declare and assign variables. Part 1: Input the number of tests to mark. Part 2: Input the mark of each test. Part 3: Output the average, lowest and highest marks. Part 0: Variables Read the question carefully and work out the variables you will need in your algorithm. I have highlighted them in blue below: “A teacher is marking tests. Write an algorithm that allows the teacher to input the number of tests to mark and then the mark of each test . Output the average mark , highest mark and lowest mark . The tests are marked out of 100.” There is an additional variable to track as the average mark can only be worked out if we also know the total marks . number_of_tests is integer test_mark is integer average_mark is real highest_mark is integer lowest_mark is integer total is integer number_of_tests = 0 test_mark = 0 average_mark = 0 highest_mark = -1 lowest_mark = 101 total = 0 Before you write the actual program, you must declare the variables you will need and assign values to them. Firstly, declare the data type of each variable . A whole number is an integer and a decimal number is a real . The average must be a real data type because it is the result of division (total ÷ number_of_tests) and could be a decimal number . When assigning values, most numerical variables will be 0 . Most string values would be " " . However this question is a bit more complicated - the highest mark must start as a really low value and the lowest mark must start as a really high value . This is ensure the first mark entered becomes the highest and lowest mark - this will make sense later. Part 1: Input Number of Tests output “Enter the number of tests to mark: ” input number_of_tests After declaring and assigning your variables the next parts will depend on the algorithm you need to write. This example requires the user to input the number of tests . Part 2: Input Each Mark (Loop) for i = 1 to number_of_tests output “Enter the test mark: ” input test_ mark For part 2 we need the teacher to enter each test’s mark . This is best done as a loop as we do not know how many tests the teacher has to mark until they have typed it in (part 1). All code within the loop must be indented . if test_mark > highest_mark then highest_mark = test_mark endif if test_mark < lowest_mark then lowest_mark = test_mark endif We also need to work out what the highest and lowest marks are. This must be done within the loop as the test marks are entered. The test mark is compared to the current highest and lowest marks . If it is higher than the current highest mark it becomes the new highest mark . If it is lower than the current lowest mark it becomes the new lowest mark . This is why we set the highest_mark and lowest_mark to extreme values at the start - so the first mark entered becomes the new highest and lowest . total = total + test_mark next i The final steps of part 2 are to update the total marks and to close the loop . The total is increased by the test mark that has been entered. The ‘next i ’ command states that the current iteration has ended . The indentation has now stopped. Part 3: Outputs average_mark = total / number_of_tests output “The average mark is:” , average_mark output “The highest mark is:” , highest_mark output “The lowest mark is:” , lowest_mark Before the average can be output, it must be calculated by dividing the total by the number of tests . Then the average , highest and lowest marks can be output . Full Answer number_of_tests is integer test_mark is integer average_mark is real highest_mark is integer lowest_mark is integer total is integer number_of_tests = 0 test_mark = 0 average_mark = 0 highest_mark = -1 lowest_mark = 101 total = 0 output “Enter the number of tests to mark: ” input number_of_tests for i = 1 to number_of_tests output “Enter the test mark: ” input test_ mark if test_mark > highest_mark then highest_mark = test_mark endif if test_mark < lowest_mark then lowest_mark = test_mark endif total = total + test_mark next i average_mark = total / number_of_tests output “The average mark is:” , average_mark output “The highest mark is:” , highest_mark output “The lowest mark is:” , lowest_mark This example is slightly more complicated than some of the recent previous exam questions for writing algorithms. Remember to decompose the problem by identifying the variables you need first. Q uesto's Q uestions 8.3 - Writing Algorithms: 1. A violin player performs a piece of music 8 times . They record a score out of 5 how well they think they performed after each attempt. Write an algorithm using pseudocode that allows the violinist to enter the 8 scores and displays the highest score , lowest score and average score . An example score is 3.7. [10 ] 2. A cyclist wants a program to be made that allows them to enter how many laps of a circuit they have made and the time in seconds for each lap . For example they may enter 3 laps, with times of 20.3 , 23.4 and 19.8 seconds . The program should output the quickest lap time , slowest lap time , total amount of time spent cycling and the average lap time . Create an algorithm using pseudocode for this scenario. [10 ] 8.2 - Understanding Algorithms Theory Topics 8.4 - Sorting & Searching
- 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 ➡
- OCR CTech IT | Unit 1 | 2.5 & 4.2 - Communication Methods | CSNewbs
Learn about the different methods of communication using physical and digital ways of transferring data. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.5 & 4.2: Communication Methods Exam Board: OCR Specification: 2016 - Unit 1 Sections 2.5 and 4.2 are very similar so both are mixed within this page. There are many ways that employees of a business can communicate between staff members or with their customers . Text-based Communication Letter ✓ It is a traditional method of communication that can be used for formal occasions such as job offers or resignations . ✓ It can be kept and stored for physical evidence - e.g. keeping an applicant's CV in case an opportunity arises in the future. X Requires postage costs to be sent in the mail (a first-class stamp is now £1.65 ). Overseas delivery is even more expensive . X Takes several days time to be received in the post and may be lost . X A letter can't include certain formats like video. Text Message (SMS) ✓ Can reach a large audience at once with one batch message . ✓ Good for short messages - e.g. appointment reminders or confirmation codes for two-factor authentication . ✓ Doesn't require an internet connection to receive messages. X Limited to short messages (160 characters ) with no multimedia . X Text messages can cost to send each message. SMS stands for Short Message Service . Email ✓ Easily send information to many people at once, instantly . ✓ Can include documents , multimedia attachments and links . ✓ Can send targeted emails to customers on a mailing list with new products or sales promotions . X Important messages may be lost in the spam folder. X Phishing scams can spread malware via email attachments. Instant Messaging ✓ Works in real-time - messages are sent and received instantly . ✓ Attachments and hyperlinks can be sent. ✓ Can be used by support staff to help customers in real-time. X Quick speed means it's less suitable for formal conversations like interviews. X Internet access issues will disrupt any conversations . Voice-based Communication Cellular ✓ Can hear how something is said , unlike text responses. ✓ Fastest method of communication - also allows reactive conversations that can quickly change based on previous responses. X Impacted by cellular reception - won't work in remote areas / underground. X Can't see the other person's body language, presentation or facial expressions. Teleconferences ✓ Allows for groups of people to communicate at once . ✓ Businesses can use teleconferencing to communicate between offices / individuals across the world . X The quality of the call may be affected by a group's poor reception . X Because a group is communicating, people may speak over each other , especially if there is a time delay . VoIP (Voice over Internet Protocol) ✓ Allows a user to make calls over the internet (e.g. using WhatsApp). ✓ Cheaper (can also be free) to make calls rather than using a cellular network . X Relies on a good-quality internet connection . X Can potentially be less secure than cellular connections. hi there Personal Assistants ✓ Speeds up processes by making appointments, checking information or connecting to smart devices. ✓ Voice-activated - can be used whilst otherwise busy , such as typing, cooking or driving. ✓ The language can be changed to suit people's preferences. X Huge privacy concerns as companies store audio data for voice recognition and track all commands made to the device. X There may be recognition issues as sometimes the assistant doesn't understand a command . Online Communication Video Conferences ✓ Users can connect to the call (e.g. using Zoom, Skype, or Google Meet) remotely , saving time and money instead of all travelling to one location. ✓ Can be used for interviews as it allows the applicant and the interviewers to see each other and look for body language . ✓ Users can share information visually , such as designs. X A high-bandwidth connection is required to send and receive video data reliably . X A poor internet connection (e.g. a weak WiFi signal ) will result in low-quality video that may stutter or drop out , making it hard to communicate clearly . Social Media ✓ Businesses can quickly share information with a large online audience , including new potential customers . ✓ Posts can be in d i fferent formats such as text, images, videos or links to other websites. ✓ Direct messages sent on social media may be seen and responded to faster than alternatives like using email if push notifications are enabled on a phone. ✓ Some social media sites like Facebook allow for private , invite-only groups to communicate with like-minded users in a secure way. X Businesses must be cautious about what they post so as not to accidentally offend others and damage their reputation . X Social media posts and customer comments must be carefully managed , so a social media manager should be hired. Blog / Vlog ✓ Share information with followers in text , images and video formats . ✓ Blogs and vlogs can unite people with similar interests , such as a cookery blog or travel vlog. ✓ Companies can use a blog to promote new products and provide details of upcoming events to try and attract new customers . X Takes a lot of effort and time to create posts, especially editing videos for vlogs. X Bad behaviour or language in vlogs can bring punishment. Several YouTubers have lost their reputations following videos they have posted. Q uesto's Q uestions 2.5 & 4.2 - Communication Methods: 1. Describe three advantages and three disadvantages for each type of communication method . You will need to think of or research some more than the examples listed on this page. a. Letter b. SMS (Text Message) c. Email d. Instant Message e. Cellular Call f. Teleconference g. VoIP Call h. Personal Assistant i. Video Conference j. Social Media k. Blog / Vlog [6 each ] 2. Explain what VoIP stands for and what it allows a user to do. [ 2 ] 3. Describe which communication method would be most appropriate for the following scenarios and why : a. Informing your boss you are going to resign. b. Communicating with management about raising your pay. c. Chatting to team members about when the Christmas party is. d. Sending promotions to thousands of customers. e. Interviewing a potential new employee who is in a different country. f. Talking with a group of investors about the company's latest data. [2 each ] 2.6 - Software Troubleshooting 2.4 Operating Systems 4.1 Communication Skills 4.3 - Personal Attributes Topic List
- 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
- 3.1b - Hardware & Internet - OCR GCSE (J277 Spec) | CSNewbs
Learn about network devices such as a switch, router, modem and NIC. Also learn about internet terms and services including DNS and the Cloud. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 3.1b: Network Hardware + The Internet Exam Board: OCR Specification: J277 Watch on YouTube : The Internet Network Hardware DNS Servers The Cloud Network Devices When sending data across a network, files are broken down into smaller parts called data packets . Whole files are too large to transfer as one unit so data packets allow data to be transferred across a network quickly . Each packet of data is redirected by routers across networks until it arrives at its destination. Data packets may split up and use alternative routes to reach the destination address. When all the packets have arrived at the destination address the data is reassembled back into the original file. Wireless Access Point A Wireless Access Point provides a link between wireless and wired networks . It creates a wireless local area network that allows WiFi-enabled devices to connect to a wired network. Examples of a wireless access point in a public space could be a WiFi or Bluetooth hotspot , for example a WiFi hotspot in a coffee shop or airport to provide access to the internet. A wireless access point may be a separate device or built into another device such as a router. Router Routers are used to transfer data packets between networks . Routers receive data packets and use the IP address in the packet header to determine the best route to transmit the data. Data is transferred from router to router across the internet towards the destination. A router stores the IP address of each computer connected to it on the network and uses a list called a routing table to calculate the quickest and shortest route to transfer data. Switch A switch is used to connect devices together on a LAN . It receives data packets from a connected node, reads the destination address in the packet header and forwards the data directly to its destination. A switch will generate a list of the MAC addresses of all devices connected to it when it receives data , and must scan for a matching destination address before sending. An alternative to a switch is a hub but a hub is slower and less secure as it forwards a copy of received data to all connected nodes . Network Interface Controller / Card A Network Interface Controller (NIC ) commonly also known as a Network Interface Card is an internal piece of hardware that is required for the computer to connect to a network . The card includes a MAC address which is used when sending data across a LAN . An ethernet cable is plugged into the network card to allow data to be exchanged between the device and a network. A NIC used to be a separate expansion card but is now typically embedded on the motherboar d . Transmission Media Although not technically a device, the communication channel along which data is transferred will affect performance . Three common types of transmission media include: Ethernet cables - used typically on a LAN to transfer data between nodes and hardware such as switches. Examples include Cat5e and Cat6. Fibre Optic cables - very fast but more expensive and fragile cables typically used to send data quickly along a WAN . Data is sent as pulses of light . Coaxial cables - older , slower , copper cables that are not used as much in modern times as they can be affected by electromagnetic interference . The Internet The internet is a global network of interconnected networks . The world wide web (WWW ) is not the same as the internet. It is a way of accessing information , using protocols such as HTTPS to view web pages . Servers provide services on the internet , such as a web server which responds to the web browser (client) request to display a web page . The web server processes the client request to prepare the web page and return it so the web browser can display it to the user . A website must be hosted (stored) on a web server so that it can be accessed by others using the internet . A unique domain name (e.g. csnewbs.com) must be registered with a domain registrar – this is a company that checks the name is valid and not already taken . What is the Internet? DNS Servers A DNS ( Domain Name System ) server stores a list of domain names and a list of corresponding IP addresses where the website is stored. The first thing to understand is that every web page has a domain name that is easy for humans to remember and type in (such as www.csnewbs.com ) as well as a related IP address (such as 65.14.202.32) which is a unique address for the device that the web page is stored on. The steps taken to display a web page: 1. A domain name is typed into the address bar of a browser . 2. A query is sent to the local DNS server for the corresponding IP address of the domain name . www.facebook.com 3. The local DNS server will check if it holds an IP address corresponding to that domain name. If it does it passes the IP address to your browser . 66.220.144.0 4. The browser then connects to the IP address of the server and accesses the web site . If the local DNS server does not hold the IP address then the query is passed to another DNS server at a higher level until the IP address is resolved. If the IP address is found, the address is passed on to DNS servers lower in the hierarchy until it is passed to your local DNS server and then to your browser. Cloud Storage The cloud refers to networks of servers accessed on the internet . Cloud computing is an example of remote service provision . Cloud servers can have different purposes such as running applications , remote processing and storing data . When you store data in 'the cloud', using services such as Google Drive or Dropbox, your data is stored on large servers owned by the hosting company . The hosting company (such as Google) is responsible for keeping the servers running and making your data accessible on the internet . Cloud storage is very convenient as it allows people to work on a file at the same time and it can be accessed from different devices. However, if the internet connection fails , or the servers are attacked then the data could become inaccessible . Cloud Storage Characteristics: ✓ - Huge CAPACITY and you can upgrade your subscription if you need more storage. ✓ / X - Cloud storage is difficult to rank in terms of PORTABILITY , DURABILITY and ACCESS SPEED because it depends on your internet connection. A fast connection would mean that cloud storage is very portable (can be accessed on a smartphone or tablet) but a poor connection would make access difficult . ✓ - Cloud storage is typically free for a certain amount of storage. Users can then buy a subscription to cover their needs - Dropbox allows 2 GB for free or 2 TB for £9.99 a month. Q uesto's Q uestions 3.1b - Network Hardware & Internet: 1a. Explain how a switch works. [ 2 ] 1b. Describe the purpose of a router . [ 2 ] 1c. State what WAP stands for and why it is used . [ 2 ] 1d. State what NIC stands for and why it is required . [ 2 ] 1e. State the differences between the three main types of transmission media . [ 3 ] 2a. State what the internet is and how it is different to the world wide web . [ 2 ] 2b. What is web hosting ? [ 2 ] 3a. What is a DNS server ? [ 2 ] 3b. Describe, using a mix of text and icons / images , how a DNS server is used to display a web page . [5 ] 3c. Describe how a DNS server searches for an IP address if it is not found on the local DNS server . [ 2 ] 4a. Describe what cloud computing is. [ 2 ] 4b. State two advantages and two disadvantages of the cloud . [ 4 ] 3.1a - Network Types & Performance Theory Topics 3.2a - Wired & Wireless Networks
- CTech 2.4 - Information Management | CSNewbs
https://www.csnewbs.com/eduqas2020-8-2-understandalgorithms 2.4 - Information Management Exam Board: OCR Specification: 2016 - Unit 2 Management Information System (MIS) An MIS is used to collect, store, analyse and present data for an organisation. The system processes a large amount of data and organises it (such as in databases) so that it can be used for decision making and general data analysis . An efficient MIS can be used to display the financial status of an organisation, highlight areas of improvement and generate sales forecasts based on current data. Specifically, a bank could use an MIS for: Looking at the number of customers that visit each branch. Forecasting takings based on historical data. Profiling customers. Identifying customers who haven’t saved recently to target them for email. Benefits of an MIS: Integrated system: A Management Information System shares a large amount of data from multiple departments within an organisation to produce accurate reports. For example, financial data can be used to generate accurate pay slips. Decision Making: An MIS can be used to inform an organisation's decision making by highlighting areas that need improvement within the company. Powerful analysis: An MIS will use large data sets to provide accurate data analysis that can be used in many different ways by an organisation. Trends and patterns can be identified easily. Backup capabilities: Data can be stored centrally and backed up easily if a disaster occurs. Limitations of an MIS: Cost and installation: An MIS is an expensive tool that needs to be professionally set up and requires technical knowledge to maintain. Requires accurate data: If any data is incorrect or out of date then the analysis will consequently be inaccurate . Potentially disastrous decisions could be made as a result of incorrect data. Training: Employees will need to be trained to use the software accurately for maximum efficiency. Managing Information Data Collection Information can be collected in different ways e.g. paper forms, surveys, stock taking and data capture forms in databases. Example: A tennis club can create a form on their website that allows users to apply for membership and fill in key data such as their name, address and telephone number. Storage Collected data must be stored in a secure and easily-retrievable medium . This could be paper, magnetic, optical and cloud storage. Data is most conveniently stored in a database so that information can be added, removed or updated when necessary. Data must be stored securely to ensure it is protected against loss, accidental or via hacking / corruption. Sensitive data should be encrypted so that others cannot view / alter it without authorised access. Information should also be backed up in case the data is lost. Example: The tennis club can store data in a database using cloud storage as soon as a new member enters their information. Using cloud storage allows the tennis club to access that information from multiple access points and they will only pay for the amount of storage that they need and use. Retrieval Using a database to store information allows users to easily access data so that it can be updated or removed. Searches and queries can be easily performed on all tables in a database to show specific values using certain criteria. Example: The tennis club can submit a query in their member database to display all members whose membership will expire in the next month. They can then use that information to email a reminder to those members. Manipulating & Processing After collection and storage, data must be processed so that it is ready for the final stage: analysis. Data can be exported to other software , such as from a database and into a spreadsheet so that it can be manipulated , sorted and visualised . Graphs and charts can be created on data in a spreadsheet so that patterns and trends are easier to identify . Example: Member information in the tennis club can be exported to spreadsheet software that then allows for graph / chart creation using specific values, such as membership expiry date or membership type. Analysis To analyse the data is to see what can be learned from it, so important decisions can be made. Example: Analysing the charts made in the processing stage will allow the tennis club to identify key patterns. For example, they could see when most members sign up during the year and where the members travel in from. Using these patterns the club can then inform future practice. For example, if not many members sign up in August, a sale on membership can be created at this time to entice new members. Or if most members travel in from a certain area of town a bus system might be set up to help those members travel in more often. Q uesto's Q uestions 2.4 - Information Management: 1a. What is the purpose of an MIS ? [2 ] 1b. Describe 3 ways a bank could use an MIS . [3 ] 1c. Describe the benefits and limitations of an MIS . [10 ] 2. A charity for endangered birds (Bird Rescue UK) is creating a survey to send to scientists to find out which birds need protection status and are endangered in the UK. Describe how Bird Rescue UK can use each stage of data management : Data Collection Storage Retrieval Manipulation & Processing Analysis [3 each ] 2.3 - Quality of Information 3.1 - Data vs. Information Topic List
- 4.1 - Data Types | OCR A-Level | CSNewbs
Learn about data types (integer, real, character, string, Boolean), positive and negative binary, denary, hexadecimal, sign and magnitude, two’s complement, binary addition, binary subtraction, normalisation of floating point numbers, floating point arithmetc, bitwise manipulation, masks (AND, OR, XOR) and character sets (ASCII, Unicode). Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 4.1 - Data Types Specification: Computer Science H446 Watch on YouTube : Data types Binary Sign and magnitude & Two's complement Binary addition & subtraction Hexadecimal Convert between number systems Floating point Floating point normalisation Floating point addition & subtraction Binary shifts Masks (AND, OR, XOR) Character sets This is a mathematical topic that requires conversion between the binary , denary (decimal ) and hexadecimal number systems . Representing positive and negative binary values is included, as well as adding and subtracting binary numbers and using normalised floating point to represent decimal numbers . Data Types Data types are needed so that the computer knows how to store , process and interpret data correctly . They help ensure that only valid operations are performed on data . For example, you can add two numbers , but not a number and a word . Character : A single letter , digit or symbol , e.g. ‘k ’, ‘7 ’, or ‘? ’. String : A sequence of characters , e.g. “CSNewbs ”. Integer : A whole number , e.g. 7 or -12 . Real : A decimal number , e.g. 3.14 or -0.5 . Boolean : A data type with only two possible values - True or False . Converting from one data type to another is called casting , e.g. age = str(age) would convert the variable age to a string in Python . Binary Binary is a base-2 number system with all values comprised only of 0 and 1 , e.g. 01011001 . Denary (also called decimal ) is the base-10 number system you grew up learning, with 10 possible values between 0 and 9 , e.g. 453 . Computers use binary because they are built from electronic components (transistors ) that have two states (on and off ), which are easily represented by 1s and 0s . All data processed and stored by the computer (e.g. numbers , text , images and sounds ) are represented in binary . To convert an 8-bit binary value to denary , write 128 - 64 - 32 - 16 - 8 - 4 - 2 - 1 above the binary and add together the values with a 1 underneath . For example, 10101101 is 173 (128 + 32 + 8 + 4 + 1 ). Storing Negative Numbers -183 Sign and Magnitude and Two’s Complement are two methods of representing negative numbers in binary . In Sign and Magnitude , the most significant bit (MSB ) represents the sign - 0 for positive and 1 for negative - while the remaining bits store the number’s magnitude (value ). For example, in 8-bit form, 0 101 0010 is +82 and 1 101 0010 is -82 . However, this method has two representations of zero (+0 and -0 ), which can cause problems and may give incorrect results if used to add or subtract . In Two’s Complement , negative numbers are represented by inverting all bits of the positive value and adding 1 to the result. This method has only one zero and makes binary addition and subtraction simpler . Binary Addition & Subtraction Binary addition works from right to left but only uses the digits 0 and 1 . The key rules are: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 (write down 0 and carry 1 to the next left column ). 1 + 1 = 1 = 11 (write down 1 and carry 1 to the next left column ). If the final addition produces an extra carry bit , it may indicate an overflow error , if the result is too large to fit in the available bits . Binary subtraction can be done using borrowing , similar to denary subtraction , or more commonly by using two’s complement . In two’s complement subtraction , you add the negative version of one number (found by inverting the bits and adding 1 ) to the other to perform subtraction using binary addition rules . This page is under active development. Check here for the latest progress update. Hexadecimal 9E8A Hexadecimal is a base-16 number system using the digits 0 to 9 and the letters A to F, where A = 10 and F = 15 in denary . It’s often used in computing because it provides a shorter , more readable way to represent long binary values . For example, two hex digits represent eight binary bits , making conversions quick and efficient . To convert from binary to hexadecimal , split the binary number into groups of four bits (from right to left ) and convert each group into its hex equivalent . Example: 1101 0110 → 1101 (14 → D ) and 0110 (6 ) → D6 . To convert hexadecimal to binary , replace each hex digit with its 4-bit binary equivalent . Example: 2F → 0010 (2 ) and 1111 (15 → F ) → 0010 1111 . The easiest method to convert between denary and hexadecimal is to convert the value to binary first . Example: 26 → 0001 1010 → 1A . Floating Point Floating point is a way of representing real (decimal ) numbers in binary using a mantissa and an exponent . It allows computers to store a wide range of values efficiently , including very small and very large numbers . Floating point normalisation means adjusting the number so that the mantissa begins with a 01 (if it is positive ) or 10 (if it is negative ). This ensures the representation is unique and uses all available bits in the mantissa for precision . To add or subtract floating point numbers , the exponents must first be made equal by shifting the mantissa of the smaller number . Once aligned , the mantissas are added or subtracted , and the result is then normalised again to maintain the correct form . YouTube video uploading soon YouTube video uploading soon Binary Shifts A binary shift moves all the bits in a binary number left or right by a set number of places . A left shift moves all bits to the left , filling the empty right-hand bits with zeros . Each left shift multiplies the number by 2 . For example, shifting 0001 0100 (20 ) one place left gives 0010 1000 (40 ). A right shift moves all bits to the right , discarding the rightmost bits . Each right shift divides the number by 2 . For example, shifting 0010 1000 (40 ) two places right gives 0000 1010 (10 ). YouTube video uploading soon Masks A mask is a binary pattern used with bitwise operations (such as AND , OR and XOR ) to manipulate specific bits within a binary value . An AND mask is used to clear (set to 0 ) specific bits . Any bit ANDed with 0 becomes 0 , and any bit ANDed with 1 stays the same . For example, 1011 0110 AND 0000 1111 = 0000 0110 - the mask keeps only the lower four bits . An OR mask is used to set (turn on ) specific bits . Any bit ORed with 1 becomes 1 , and with 0 stays the same . For example, 1010 0000 OR 0000 1111 = 1010 1111 . An XOR mask is used to toggle (invert ) specific bits . Any bit XORed with 1 flips (0 → 1 or 1 → 0 ), while XORed with 0 stays the same . For example, 1010 1010 XOR 0000 1111 = 1010 0101 . YouTube video uploading soon Character Sets A character set is a collection of characters (letters , numbers , symbols and control codes ) that a computer can recognise , store and process . Each character is represented by a unique binary code . ASCII (American Standard Code for Information Interchange ) is an early character set that uses 7 bits to represent 128 characters , including English letters , digits , punctuation and control characters . It’s simple and compact but limited to English and basic symbols . Extended ASCII uses 8 bits for 256 characters . Unicode was developed to overcome ASCII’s limitations by representing characters from all languages and writing systems . It uses up to 32 bits and includes over 140,000 characters , allowing consistent representation of text across different devices and platforms . YouTube video uploading soon Q uesto's K ey T erms Data Types: integer, real, Boolean, character, string Number Systems: binary, denary (decimal), hexadecimal, sign and magnitude, two's complement, binary addition, binary subtraction, floating point, floating point normalisation, floating point addition, floating point subtraction Binary shifts: left shift, right shift Masks: mask, bitwise operator, AND, OR, XOR Character Sets: character set, ASCII, Unicode D id Y ou K now? Gottfried Wilhelm Leibniz , a German mathematician , is credited with inventing the binary number system in the 17th century , hundreds of years before computers existed. Leibniz biscuits are named after him. 3.4 - Web Technologies A-Level Topics 4.2 - Data Structures






