Search CSNewbs
Search this site
304 results found with an empty search
- 8.2 - Understanding Algorithms - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about algorithms including pseudocode and flowcharts. Based on the 2020 Eduqas (WJEC) GCSE specification. 8.2: Understanding Algorithms Exam Board: Eduqas Specification: 2020 What is an algorithm? An algorithm is a set of instructions , presented in a logical sequence . In an exam you may be asked to read and understand an algorithm that has been written. To prove your understanding you may be asked to respond by actions such as listing the outputs of the algorithm, correcting errors or identifying an error within it. Programmers create algorithm designs as a method of planning a program before writing any code. This helps them to consider the potential problems of the program and makes it easier to start creating source code. There are two main methods of defining algorithms : Defining Algorithms - Pseudocode & Flowcharts Pseudocode Pseudocode is not a specific programming language but a more general method of describing instructions . It should be unambiguous, and it should not resemble any particular kind of programming language (e.g. Python or Java), so it can theoretically be turned into working code in any language. 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 Flowcharts A flowchart can be used to visually represent an algorithm. The flowchart symbols are: Algorithm Examples Below are two different methods for representing the same algorithm - a program to encourage people to buy items cheaply at a supermarket. The program allows the price of items in a supermarket to be entered until the total reaches 100. The total price and the number of items entered are tracked as the program loops. Once the total reaches 100 or more, an if statement checks how many items have been entered and a different message is printed if there are 20 or more items, 30 or more items or less than 20 items. Pseudocode Flowchart {This is a program to see how many items you can buy in a supermarket before you spend over £100} total is integer, itemsentered is integer, itemprice is integer set total = 0 set itemsentered = 0 while total < 100 output "enter the price of the next item" input itemprice total = total + itemprice itemsentered = itemsentered + 1 repeat if itemsentered >= 20 then output "You are on your way to saving money." elif itemsentered => 30 then output "You're a real money saver." else output "Look for better deals next time." end if Reading Algorithms In an exam you may be asked to read an algorithm and prove your understanding , most commonly by listing the outputs . Start from the first line and follow the program line by line , recording the value of variables as you go . When you encounter a for loop , repeat the indented code as many times as stated in the range . Example Algorithm: Start NewProgram i is integer maxvalue is integer input maxvalue for i = 1 to maxvalue output (i * i) ??????? output 'program finished' End NewProgram Example Questions: 1. List the outputs produced by the algorithm if the 'maxvalue' input is 5 . 2. State the code that has been replaced by '???????' and what the code's purpose is. Example Answers: 1. Outputs: 1 4 9 16 25 program finished 2. Missing Code: next i Purpose: Moves the loop to the next iteration. Watch on YouTube Q uesto's Q uestions 8.2 - Understanding Algorithms: 1a. Read the algorithm shown on the left and list all outputs in the correct order if the inputs are 2 for height and 72 for weight . 1b. Give the code that is missing from line 25 . 8.1 - Programming Principles Theory Topics 8.3 - Writing Algorithms
- 3.4 - Hardware & Routing - Eduqas GCSE (2020 spec) | CSNewbs
Learn about six network devices - hub, switch, router, bridge, WAP and NIC. Also, learn about routing tables and cost diagrams. Based on the 2020 Eduqas (WJEC) GCSE specification. 3.4: Network Hardware & Routing Exam Board: Eduqas Specification: 2020 Network Devices Hub A hub receives data packets from a connected device and transfers a copy to all connected nodes . Switch A switch receives data packets , processes them and transfers them on to the device specifically listed in the destination address of the packet. Router Routers are used to transfer data packets between networks . Data is sent from network to network on the internet towards the destination address listed in the data packet. A router stores the address of each computer on the network and uses routing tables to calculate the quickest and shortest path . Bridge A bridge joins together two networks that use the same base protocols . For example, a bridge could link together a LAN to another LAN . Wireless Access Point (WAP) 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. Network Interface Card (NIC) A Network Interface Card (often shortened to NIC ) is an internal piece of hardware that is required for the computer to connect to a network . It used to be a separate expansion card but now it is commonly built directly into the motherboard (and sometimes known as a network adapter ). Wireless network interface cards ( WNIC ) permit a wireless network connection. Routing A routing table is a list of the optimal routes for data packets to be sent from one device to another. Routing tables should be kept accurate and up to date to ensure that packets are transferred as quickly as possible . During routing the lowest cost route is calculated . This is the shortest path with the fastest nodes to transfer data. Below is a simplified network and basic routing table showing the lowest cost (optimal) route using node A as the source address. Q uesto's Q uestions 3.4 - Network Hardware & Routing: 1a. Describe the difference between a hub and a switch . [ 2 ] 1b. Explain how a modem works. [ 2 ] 1c. Describe the purpose of a router . [ 2 ] 1d. Describe the difference between a gateway and a bridge . [ 2 ] 1e. State what WAP stands for and describe its purpose . [ 2 ] 1f. State what NIC stands for and why it is required . [ 2 ] 2a. Describe what a routing table is and why they should be maintained . [ 2 ] 2b. In terms of routing, what does a low-cost route mean? [ 2 ] 2c. Copy and complete the routing table below using node J as the source address . [ 4 ] 3.3 - Network Topology Theory Topics 3.5 - Protocols
- Python | 5a - Random | CSNewbs
Learn how to use random commands in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 5a - Random Importing Section 5 looks at additional commands that you can import and use from Python’s code libraries . A library is a collection of different commands that automatically come with Python but are separate from the main file. They can be imported (brought in) to your program by using the import command at the start of your program . Imagine Python’s library to be similar to an actual library. There are different sections in a real library (such as History, Geography, Reference) and different sections in Python’s library (such as random or time ). Each real library has many individual books in each section, just like commands in Python. randint() choice() sample() shuffle() random sleep() ctime() strftime() time from random import randint from time import ctime You can import a specific command from one of Python's libraries using the from and import commands at the top of your program . Random Numbers To generate random numbers , first import the randint command section from Python’s random code library on the first line of the program. The randint command stands for random integer . In brackets, state the number range to randomly choose from. The random value should be saved into a variable . from random import randint number = randint(1,100) print ( "A random number between 1 and 100 is" , number) = A random number between 1 and 100 is 39 = A random number between 1 and 100 is 73 = A random number between 1 and 100 is 4 The randint range does not have to be fixed values and could be replaced by variables . Below is a program where the user selects the upper and lower values of the range: from random import randint lower = int ( input ( "What is the lowest number? " )) upper = int ( input ( "What is the highest number? " )) number = randint(lower,upper) print ( "A random number between" , lower , "and" , upper , "is" , number) = What is the lowest number? 1 What is the highest number? 50 A random number between 1 and 50 is 36 = What is the lowest number? 500 What is the highest number? 1000 A random number between 500 and 1000 is 868 Random Numbers Task 1 ( Ice Comet) A special comet made of ice passes the Earth only once every one hundred years , and it hasn't been seen yet in the 21st century . Use the randint command to randomly print a year between the current year and 2099 . Example solutions: Did you know it won't be until 2032 that the ice comet will next pass Earth!? Did you know it won't be until 2075 that the ice comet will next pass Earth!? Random Numbers Task 2 ( Guess the Number) Use randint to generate a random number between 1 and 5 . Ask the user to enter a guess for the number with int and input . Print the random number and use an if statement to check if there is a match , printing an appropriate statement if there is and something different if there is not a match . Example solutions: Enter a number between 1 and 5: 4 Computer's number: 5 No match this time! Enter a number between 1 and 5: 3 Computer's number: 3 Well guessed! It's a match! Choice - Random Word Rather than just numbers, we can also randomly generate characters or strings from a specified range by using the choice command. You must first import the choice command from the random library. Choice works well with a list of values , which require square brackets and commas separating each word . Below is a program that randomly chooses from a list of animals : from random import choice animals = [ "cat" , "dog" , "horse" , "cow"] randomanimal = choice(animals) print ( "A random animal is" , randomanimal) = A random animal is cat = A random animal is horse Choice - Random Character Instead of using a list you can randomly select a character from a string . The program below randomly selects a character from the variable named 'letters ' which is the alphabet . from random import choice letters = "abcdefghijklmnopqrstuvwxyz" randomletter = choice(letters) print ( "A random letter is" , randomletter) = A random letter is e = A random letter is y Random Choice Task 1 ( Holiday Destinations ) Harriet can't decide where to go on holiday and needs help deciding. Make a list of at least 6 destinations (see the animal example above ) and use the choice command (don't forget to import it from the random library ) to print a random destination . Example solutions: Why don't you go to Paris on holiday? Why don't you go to Barcelona on holiday? Random Choice Task 2 ( Vowels ) Use the choice command to randomly select a vowel (look at the alphabet example above ). Ask the user to input a vowel and use an if statement to check if the user's letter matches the randomly selected letter . Print a suitable statement if they match and something else if they don't . Example solutions: Enter a vowel: i Random vowel: i The vowels matched! Enter a vowel: o Random vowel: u The vowels didn't match! Sample - Random Strings To choose more than one value from a set of data, use the sample command. Sample is used with a list of values and a number representing how many from that list to pick. The code sample(days,2) picks two random values from the list called days . Both examples below perform the same task but, as with most code, there is no one way to solve a problem. from random import sample days = [ "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" ] two_days = sample(days , 2) print ( "You will be set homework on:" , *two_days) A separate list and then a sample . = You will be set homework on: Thursday Monday = You will be set homework on: Friday Tuesday from random import sample two_days = sample([ "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" ] , 2) print ( "You will be set homework on:" , *two_days) The list and sample is combined on one line. The sample command actually makes a new list with the number of values selected (e.g. ["Tuesday" , "Thursday"] in the examples above). You can use an asterisk - * - directly before the sampled variable to print just the list values , otherwise the brackets and apostrophes will be printed too. from random import sample names = sample([ "Bob" , "Ben" , "Jen" , "Ken" ] , 2) print ( "The names are:" , names) from random import sample names = sample([ "Bob" , "Ben" , "Jen" , "Ken" ] , 2) print ( "The names are:" , *names) The names are: ['Bob', 'Jen'] The names are: Bob Jen Sample - Random Numbers You can also use the sample command to choose several integers from a given range. By implementing the range command you don’t need to individually write out each number. from random import sample numbers = sample( range (1,100) , 5) print ( "Five random numbers between 1 and 100 are:" , *numbers) Five random numbers between 1 and 100 are: 53 42 11 8 20 Five random numbers between 1 and 100 are: 74 52 51 1 6 Random Samples Task 1 ( Frost Comets) The ice comet from a previous task has broken up into four smaller frosty comets that could pass the Earth anytime from next year to the year 2095 . Print four random years in that range . Example solutions: I predict the frost comets will be seen in these years: 2093 2036 2027 2091 I predict the frost comets will be seen in these years: 2076 2033 2053 2085 Random Samples Task 2 ( Baby Boy ) Aunt Meredith is having a baby boy . Create a program that randomly selects 3 male names from a list of 10 possible names . Example solutions: Hey Aunt Meredith, how about these names: Charlie Eddie Frank Hey Aunt Meredith, how about these names: George Harold Bill ⬅ Section 4 Practice Tasks 5b - Sleep ➡
- OCR CTech IT | Unit 1 | 3.2 - Virtualisation | CSNewbs
Learn about the benefits and drawbacks of virtualization, as well as about cloud storage and virtual clients. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.2 - Virtualisation Exam Board: OCR Specification: 2016 - Unit 1 What is virtualisation? Virtualisation is the creation of a virtual version of a device , software , operating system or server . These virtual versions can then be run on a different physical computer system , such as a powerful server . There are many different types of virtualisation . Storage virtualisation combines multiple separate storage devices into acting and appearing like a single , central storage system . Using storage virtualisation improves scalability as further devices can join the storage system if more space is required . It also simplifies the management of storage across the network. Server virtualisation allows one physical server to be divided into and host multiple virtual servers , each running separately . Each virtual server operates independently , handling its own operating system and applications . This allows for resources to be used more effectively and improves the scalability and versatility of the physical server . Client Virtualisation (Virtual Clients) Client virtualisation is when several virtual desktops are run on a single server - think back to the hypervisor from 3.1 . A virtual client is a full desktop environment where the processing happens remotely . For example, where an operating system is managed and hosted centrally but displayed locally on a different computer. These are often known as 'dumb clients ' because the server does the processing for it , meaning it can have minimal resources like a slow processor and little memory / storage . General Benefits & Drawbacks of Virtualisation Benefits of virtualisation: Costs are cheaper in the long-term because money is saved by not purchasing multiple physical devices . Money is also saved due to less cabling and lower power consumption . If set up efficiently, it can be used for higher performance at a lower cost - "Do more with less" . Programs can be tested in a secure environment before main-system deployment. Simplified response to recover after a disaster because only the server needs to be fixed. Drawbacks of virtualisation: If not set up efficiently, users could face serious performance issues , as fewer servers do more work. If a single physical system fails , the impact will be greater . Initial set up is complex , requires technical knowledge and can cost a lot. Easier for hackers to take more information at once as the data is stored in the same place. Benefits of client virtualisation: All data is stored in one central location , making backup and disaster planning easier to manage . The whole system can be managed , secured and updated from the server , rather than from each individual system. Hardware costs will be reduced because the virtual clients do not store or process their own data , meaning they can be of a low spec . Users can have multiple virtual machines and log in remotely (from anywhere with internet access ). Drawbacks of client virtualisation: Users will be unable to work if network connectivity is lost . There is a high strain on the server as the virtual clients do not store or process data themselves . An increased load on the server might result in poor performance for each client, especially with multiple connections . As the data is stored in one location , there are security risks of unauthorised access if the server is not adequately protected . Server Virtual Clients Cloud Technology 'The cloud ' is storage that is accessed through a network , primarily the internet. A cloud server is an example of storage virtualisation as data may be stored across multiple physical devices . There are three different types of cloud storage: Private cloud is where a business will have its own data centre that employees can access. This allows for flexible and convenient data storage and gives the business control over data management and security . Users of the private cloud will not usually have to pay individually for access - but the company will need to spend a lot of money on set up and maintenance . Public cloud uses third-party service providers such as Google Drive or DropBox to provide storage over the internet . Public cloud is usually a pay-for-use service , where businesses will pay for specific amounts that they need. Data management and data security is maintained by the cloud provider and the business is dependent on them providing constant access and deploying effective security measures. Hybrid cloud uses a mix of on-site storage (private cloud) and third-party (public cloud) services . Organisations can move workloads between private and public clouds as their specific needs and costs change . A benefit of hybrid cloud is that it gives an organisation greater flexibility and data storage options. As an example, a company could use on-site or private cloud storage to hold sensitive information and third-party, public cloud services to hold less important data . Q uesto's Q uestions 3.2 - Virtualisation: 1. What is the difference between server and storage virtualisation ? [ 2 ] 2a. What is a virtual client ? [ 1 ] 2b. What are the advantages and disadvantages of client virtualisation ? [ 8 ] 3. Explain any further general advantages and disadvantages of using virtualisation , not covered in your answer to 2b. [4 ] 4. Describe the differences between private , public and hybrid cloud storage. [6 ] 3.1 - Server Types Topic List 3.3 - Network Characteristics
- 5.1 - Data Types & Sources | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the different types of data and information sources. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 5.1 - Data Types & Sources Exam Board: OCR Specification: 2016 - Unit 2 Sources of Information Internal Source Information that comes from within an organisation , such as financial reports, data analysis or employee surveys. External Source Information that comes from outside of an organisation , such as government reports, financial data of competitors or price lists from suppliers. Types of Data Primary Data Data that has been created and collected by yourself or another employee within an organisation . For example, interviews or questionnaires sent within the company. Secondary Data Data that has been created and collected by someone outside of the organisation , such as national census data collected by the government or surveys taken by a competitor. Some secondary data may need to be purchased . Qualitative Data This is descriptive data , often composed of text , that can be observed but not measured . For example, survey responses where customers are asked why they visit a particular shop. Quantitative Data This is measured data , often in the form of numbers , percentages or statistics . For example, survey responses of the amount of time it takes to reach a shop. Q uesto's Q uestions 5.1 - Data Types & Sources: 1. A supermarket wants to find out how many of their customers have bought peaches this year compared to customers at a rival shop . Describe data that they could use for each of the source and data types below (e.g. stock information for peaches in the supermarket would be an internal source of information). Internal source External source Primary data Secondary data Qualitative data Quantitative data [6 ] "Why do you visit this supermarket?" 'Because it is close to home.' 'I like the easy access to parking.' 'I've always gone here.' "How many minutes does it take you to get here ?" 10 25 30 4.3 - Green IT Topic List 5.2 - Data Flow Diagrams
- 6.2 - Utility Software - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about utility software including antivirus, firewall, compression, disk partitioners, defragmenters, backup and file managers. Based on the 2020 Eduqas (WJEC) GCSE specification. 6.2: Utility Software Exam Board: Eduqas Specification: 2020 What is utility software? Utility software are dedicated programs used for the maintenance and organisation of a computer system. Antivirus Antivirus software is used to locate and delete viruses on a computer system. The antivirus scans each file on the computer and compares it against a database of known viruses . Files with similar features to viruses in the database are identified and deleted . Firewall A firewall manages incoming and outgoing network traffic . Each data packet is processed to check whether it should be given access to the network by examining the source and destination address . Unexpected data packets will be filtered out and not accepted to the network. Disk Defragmenter As files are edited over time they will become fragmented - this is when the file is split into parts that are stored in different locations on the hard disk drive . Files that are fragmented take longer to load and read because of the distance between the fragments of the file. Defragmentation software is used to rearrange the file on the hard disk drive so that all parts are together again in order. Defragmentation improves the speed of accessing data on the hard disk drive. Backup Software System backup copies data onto a separate storage device in case the original information is lost or corrupted . Backups should be saved regularly and stored in a different location to the rest of the data. Magnetic tape is a common backup medium. A typical backup policy is one known as 'grandfather - father - son' which uses three different backups at a time. Disk Compression Compression is the process of decreasing the size of a file . Disk compression is a utility tool that automatically compresses files when saved so that more data can be stored on the hard disk drive. When a file is to be opened, the program is automatically decompressed . Disk compression increases the amount of space on a hard disk drive but it takes longer to open and close files . Disk Checker This utility is used to scan a hard drive for any corrupted data . The corrupted data is deleted to speed up reading from and writing to the hard drive. More advanced disk checkers are used to scan for bad sectors . A bad sector is a permanently damaged section of the hard drive which can no longer be used and must be skipped over. Disk Formatter Disk Partition Editor This utility tool prepares a storage device such as the hard disk drive to be used by removing the current data and creating a file system . A file system manages how data is stored and accessed . Other devices like a USB stick may need to be formatted before they can be used for the first time . Within memory, partitions are segments of data that have been grouped together logically on the hard disk drive . A disk partition editor allows a user to view and modify these memory partitions . Options include creating, editing and deleting partitions. Clipboard Manager The clipboard is a temporary storage space for copied data. For example, a large amount of text can be copied and stored on the clipboard to be pasted into another document, even when the original file has been closed . The clipboard manager adds more functionality to the clipboard to allow multiple pieces of data to be copied, cut and pasted . System Profiles A system profiler displays detailed information about the applications on a computer system, as well as data about any attached hardware devices . Information is provided and updated in real-time about the performance of software and internal components such as the CPU . Data Recovery Data recovery tools allow deleted, corrupted or otherwise inaccessible data to be returned to a usable state . The data loss may have been caused by physical damage to a drive, corrupt memory partitions or accidental deletion . Most data is not permanently removed when it is deleted so data recovery software can often be used to reaccess files . Revision Control Revision control software manages previous versions of an application so that if an error occurs the program can be returned to a previous state . This is also called version control software and can be used to manage and monitor changes made to files over time. Archiver Archiving is the process of storing important data that is not currently required . It must not be deleted but it shouldn't take up valuable storage space either. An archiver compresses multiple files using lossless compression into one folder . This archived folder can be stored on a computer system or transferred to a storage device and won't take up much space . Cryptographic Utilities A cryptographic utility is used to encrypt data so that it cannot be understood if intercepted . Encryption is commonly for data in transit - being sent between devices . Cryptographic software can also encrypt data at rest - when stored on a hard disk drive for example - so that hackers would be unable to use the data . File Manager This utility tool provides an interface to the user for accessing, editing and moving files and folders on the system. Programs will be displayed in a hierarchical ( ordered ) structure with icons representing the application logo or file type. Files can be ordered in alphabetical, chronological or other orders and the manager provides an abstracted visualisation of where the data is stored. Q uesto's Q uestions 6.2 - Utility Software: 1. What is meant by utility software ? [1 ] 2. Describe each type of utility software : a. Antivirus b . Firewall c . Disk Defragmenter d . Backup Software e . Disk Compression f . Disk Checker g . Disk Formatter h . Disk Partition Editor i . Clipboard Manager j . System Profiles k . Data Recovery l . Revision Control m . Archiver n . Cryptographic Utilities o . File Manager [2 ] 6.1 - Operating Systems Theory Topics 7.1 - Language Levels
- 3.1 - Defensive Design - OCR GCSE (J277 Spec) | CSNewbs
Learn about defensive design considerations including validation checks, verification, anticipating misuse, maintainable code, authentication and input sanitisation. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 3.1: Defensive Design Exam Board: OCR Specification: J277 Watch on YouTube : Defensive Design Validation Checks Maintainability Defensive Design Considerations There are several things to consider when creating a program that is secure and robust , including: Anticipating Misuse Planning ahead to take steps against potential misuse (e.g the app X prevents the same tweet sent twice in a row as it might be spam ). Input Sanitisation Checking and cleaning up data that has been input , (e.g. removing special characters to prevent a SQL injection ). Validation Checking whether input data follows specific criteria and should be accepted (e.g. a length check on a password). Verification Checking whether data that has been entered is correct (e.g. double entry ). Authentication Ensuring only authorised users can gain access to a system (e.g. usernames and strong passwords ) . Maintainable code Allowing other programmers to easily read and quickly understand code that has been written (e.g. using comments , indentation and appropriate variable names ). Input Validation Validation is a process to check that data is reasonable or sensible before it is accepted . Range Check Checks data is within a certain range . Age: 34 203 Type Check Checks data is a certain data type . Height (in cm): 182 Two metres Format Check Checks data is entered in a certain way . Date of Birth (DD/MM/YYYY) 25/03/2011 25th March 11 Presence Check Checks that data has actually been entered and not left blank . Password: fluffythecat123 Lookup Table A table of acceptable entries , also known as a list . Length Check Checks the length of the input is within a certain amount. Telephone Number 08323877319 07383 Maintainability Programs should be written in a way that makes maintaining and understanding them as straightforward as possible. Examples of making a program maintainable include: Using subprograms to reuse code and make them easier to test . This is called modularisation . Appropriate variable names , using a naming convention , ensure the purpose of a variable is immediately understood. Using indentation to improve readability and clearly show each ‘block’ of code. Comments enable a programmer to understand the purpose of each line of code. Crucial when working in a team . Using constants is another method of improving maintainability. This keeps the program code consistent , which makes it easier to read and debug a program. Q uesto's Q uestions 3.1 - Defensive Design: 1. Describe the different considerations a programmer should make for a defensive design . [ 6 ] 2. Describe the each validation check and give a suitable example . [ 12 ] 3. Explain the different ways a program can be maintained . [ 5 ] 2.3 Additional Programming Theory Topics 3.2 - Testing
- Python | 8b - 2D Lists | CSNewbs
Learn how to create and use two-dimensional lists in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 8b - 2D Lists Creating a List with Multiple Dimensions Lists can be given another dimension to hold data that is related to each other . A scenario: Three students have taken two Chemistry tests, and their teacher has recorded the results in a 2-dimensional array (note that Python does not use arrays but uses lists instead): To create this in Python: Printing a 2D List To print the whole list, use a for loop to cycle through each record. I have altered the normal i variable to be 'record', so it is more descriptive: Use the index number to print a specific record . Look at the table above and remember that Python starts counting at 0 so Edward is record 0, Bella 1 and Jacob 2: To print a specific data value, you need to define the record number and then the data index . When using 2D lists, the first value is the row, and the second value is the column . Use the table at the very top to help you visualise this: Practice Task 1 Use the introduction at the top to help you create a 2D list with three friends in the first column, their age in the second column and their favourite colour in the third column. Print the whole list. Then print just the second person's information. Example solution: Searching Through a 2D List To search through a multi-dimensional list then you need to search through each record and then each data element for a specific value: Practice Task 2 Use the 2D list that you created in the first practice task. Ask the user to enter a name. Search through the list and print the record of that person's name. Example solution: ⬅ 8a - Using Lists 8 c - Dictionaries ➡
- Greenfoot Guide #4 | Remove Objects | CSNewbs
Learn how to easily remove objects in Greenfoot in only two lines of code. Part 4 of the Greenfoot Tutorial for the Eduqas / WJEC GCSE 2016 specification. 4. Remove Objects Greenfoot Tutorial 1. Removing Objects Watch on YouTube: Open the editor for your main character . Underneath the if statements for using the arrow keys is where we type the removal code . If you have chosen a different collectible object, type the exact name of that class instead of Orange (e.g. Apples or Ants). 2. Add Danger to your Game Use the same code as you did earlier but change the class (instead of Orange. class I have chosen Sheep. class ). Time to code your main character to be removed if they are touched by the enemy objects ! Open the editor for your enemy class . The removal code is placed beneath the code you have already written. Check out the extension page if you want the game to stop when the main character is removed. < Part 3 - Random Movement Part 5 - Play Sounds >
- 2.2 - Boolean Algebra - Eduqas GCSE (2020 spec) | CSNewbs
Learn about the eight rules of Boolean algebra expressions. Based on the 2020 Eduqas (WJEC) GCSE specification. 2.2: Boolean Algebra Exam Board: Eduqas Specification: 2020 Boolean algebra is used to simplify Boolean expressions so that they are easier to understand. Because calculations can use dozens of logical operators, they are simplified in Boolean Algebra using symbols rather than words. Take your time and don't panic. In an exam, you might get a list of identities (rules) to use. One tip to solving boolean algebra is to imagine that A and B are real expressions . In the examples on this page, imagine: A represents the true statement 'the sky is blue' B represents the true statement 'grass is green' 0 always means FALSE 1 always means TRUE Boolean Symbols A = NOT A A . B = A AND B A + B = A OR B Boolean Identities are the rules that are used to simplify Boolean expressions. Each identity (law) has an AND form and an OR form , depending on whether AND or OR is being used . Commutative Law AND form: OR form: This law just switches the order of the expressions . For example, 'sky is blue' AND 'grass is green' makes logical sense in either order. Idempotent Law = AND form: OR form: This law removes repetition . Complement Law NOT AND form: The sky cannot be blue and not blue at the same time, so it must be 0 (FALSE). OR form: The sky is blue or not blue must be 1 (TRUE) as it has to be one of these options. Identity Law AND form: 1 represents TRUE . Both statements are true so it can be simplified as just A . OR form: 0 represents FALSE . Because A is true, you can ignore the false statement and it can be simplified as just A . Annulment Law AND form: 0 represents FALSE . Even though A is true, a statement cannot be true and false at the same time, so it must be 0 (FALSE). OR form: 1 represents TRUE . Both statements are true so this can be simplified as just 1 (TRUE). Absorption Law AND form: OR form: Absorption law reduces a bracket into one value. If the first A is true then both values in the brackets are true but if the first A is false then both values are false. Therefore this equation relies entirely on A and can be simplified as just A . Association Law ( ) AND form: OR form: This law separates a bracketed expression that uses the same operator inside and outside the brackets by removing the brackets . Distribution Law ( ) = ( ) ( ) AND form: OR form: The value outside of the bracket (e.g. A) is multiplied by both values inside the brackets , forming two new brackets which are linked by the logical operator formerly within the bracket . Notice that the logical operator role is switched , e.g. AND switches from within the brackets, to between the new brackets. A note about distribution law - The three values may not necessarily be three separate letters (e.g. A, B and C) as B or C could be NOT A for example. A NOT value is considered a new value , e.g. A and Ā are separate values. Another note about distribution law - Exam questions may ask you to perform the distribution law (or any law) in reverse . For example, converting (A+B) . (A+C) into A + (B.C) Boolean Algebra Exam Question Some previous exam questions have listed helpful laws for you but others haven't, so you should know each individual law . In a previous exam, the candidates were given three general laws to help them . P, Q and R just represent three different values. P . 1 = P (Identity Law) P . Q + P . R = P. (Q + R) (Distribution Law) P + P = 1 (Complement Law) Using the rules above , candidates were asked to simplify the following expression : X = A . B + A . B The general laws have been give n to you for a reason. You need to look at the laws provided and see which one currently matches the expression in front of you . If you look closely in this example, the second law is very similar to the expression you are asked to simplify so you can use it to make the first simplification, just swap P for A, Q for B and R for NOT B: Using this law P . Q + P . R = P. (Q + R) X = A . B + A . B simplifies as: X = A . (B + B) Now you need to see which of the three provided laws can be used with the current expression . The third law is very similar to the expression you now need to simplify further , just swap P for B and NOT P for NOT B: Using this law P + P = 1 X = A . (B + B) simplifies as: X = A . (1) And finally, there is one law left to use. The first law is very similar to the expression you now need to simplify further , just swap P for A. Using this law P . 1 = P X = A . (1) simplifies as: X = A You have now used all three laws and the expression is fully simplified . Remember - Look at the laws that you have been given and see which law matches your expression . Q uesto's Q uestions 2.2 - Boolean Algebra: 1. Draw the example equations and write a brief description of each of the eight Boolean laws : Commutative Law Idempotent Law Complement Law Identity Law Annulment Law Absorption Law Associate Law Distributive Law 2. Below are three Boolean identities: P . P = 0 (P + Q) . R = (P . R) + (Q . R) P + 0 = P Using the three rules above , simplify the following expression: X = (A + B) . Ā This law is called ' Inverse Law ' in the Eduqas 2016 teacher guidance but ' Complement Law ' in the 2020 specification. This law is called ' Zero and One Law ' in the Eduqas 2016 teacher guidance but ' Annulment Law ' in the 2020 specification. This law is called ' Associate Law ' in the Eduqas 2016 teacher guidance but ' Association Law ' in the 2020 specification. This law is called ' Distributive Law ' in the Eduqas 2016 teacher guidance but ' Distribution Law ' in the 2020 specification. 2.1 - Logical Operators Theory Topics 3.1 - Network Characteristics
- 2.2 - Data Flow | F161 | Cambridge Advanced National in Computing | AAQ
Learn about how data is input to an application to be converted and output as information. Covers types of data and information such as numbers, text, audio and images as well as the black box concept to show data flow in a diagram. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 2.2 - Data Flow Watch on YouTube: Data vs Information Data Input Information Output Black Box Concept You need to know the difference between the terms 'data ' and 'information ' and how data is input to be converted to information as an output . There are specific types of input and output , including numbers , text , movement , audio and images . You need to understand how data and information flows through application software and can be stored . You must be able to represent data flow in a diagram using the black box concept . What You Need to Know Data and Information Data is raw , unprocessed facts and values , while information is data that has been processed and given meaning or context so that it is useful . Data is converted into information through processing , such as calculating , sorting , filtering , comparing or organising it. For example, individual test scores are data and then calculating the class average produces information . Data flows into an application through inputs , is processed and/or stored and then flows out as useful information through outputs . Data Processed to give meaning Information Data Input & Information Output 83 blue Numbers are numerical data entered into or produced by a system, including a whole number ( integer ) and decimal values ( real ). For example, entering a person's age , recording a temperature from a sensor or displaying a player's score . Text includes letters , numbers , symbols or words entered into or displayed by a system. For example, entering a username , typing a search query , displaying instructions or showing an error message . Movement is data about the position , direction or motion of a person or object , often captured using sensors or cameras . Examples include a phone detecting that it has been tilted , a fitness tracker detecting steps or a games console detecting controller movements . Audio is sound that is captured as input or produced as output by a system. Examples are speaking into a microphone for voice recognition , recording music , playing sound effects or receiving spoken directions from a navigation app . Moving images are a sequence of images displayed rapidly to create the appearance of movement , usually as video or animation . For example, recording video with a camera , watching a video tutorial , a video call or an animation in a game . Static images are single images that do not move , such as a photograph , drawing or diagram . Examples are taking a photo with a phone camera , scanning a QR code , displaying a logo or showing an image in an app. Storage Locations Black Box Concept The black box concept is a way of representing a system by focusing on what data enters the system , what is stored and what information leaves the system , without needing to understand the internal processes or any code . For example, consider a school quiz application : Flow-in is data that is entered into the system from an external source . Such as when a student selects an answer to a multiple-choice question , which is sent into the quiz application . Flow to storage is data that the system saves so that it can be accessed later . For example, the student's answer and score are saved to a database so their results can be viewed later . Flow-out is information that is sent out of the system to a user or another system , such as the quiz application displaying the student's final score on the screen. Flow In product choices & payment details Flow to Storage customer's order & account details Flow Out order confirmation & receipt Online Shopping System Storage See section 1.3 for information about the two main storage locations required for application software : on-site storage and cloud storage . Q uesto's Q uestions 2.2 - Data Flow: 1. Explain the difference between data and information , giving an example of each. [ 3 ] 2. Explain how application software can process data to turn it into useful information . [2 ] 3. Describe the following types of input/output data and give an example of each: number , text , movement , audio , moving images and static images . [2 each ] 4. Explain the black box concept and the terms flow in , flow to storage and flow out . [4 ] 5. Using an application of your choice , describe how data could flow into the application , be processed or stored , and flow out as useful information . [ 4 ] A controller isn't the only way to play a video game ! The Nintendo Wii and Nintendo Switch can use movement as input , music games like SingStar use audio from microphones , and the EyeToy on the PlayStation 2 used images from a connected camera . D id Y ou K now? 2.1 - Data Formats & Types Topic List 2.3 - Data States
- Python | Section 8 Practice Tasks | CSNewbs
Test your understanding of data structures such as lists (one-dimensional and two-dimensional) and dictionaries. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 8 Practice Tasks Task One Write a program with a blank list. Use the .append() command to add your three favourite ice-cream flavours to this list and then print the list. Example solution: Task Two Write a program with a list of any 5 numbers. Print the list. Delete the first and third numbers. Print the list. Example solution: Task Three Write a program with a list of three different animals. Write an input line that lets the user type an animal. Add what the user has written to the list and print the list. Example solution: Task Four Sort your list from task two into order. Then print the list. Example solution: Task Five Copy the text on the right and put it into a list named countries. Count the number of countries in the list. Print the longest country. Use a for loop to work out the length of each country. "Egypt", "Angola", " Eritrea " , "Mozambique" , "Ghana" , "Chad" , "Somalia" , "Namibia" , "Sudan" , "Libya" , "Algeria", "Morocco" , "Cameroon" Example solution: Task Six Create a dictionary (see 8c ) that asks users questions about yourself, such as first name, favourite colour or birthday. Let the user answer each question and display the answer if they get it correct. Use the 'Using a Dictionary to Make a Game ' section of 8c to help you. Example solution: ⬅ 8c - Dictionar ies 9a - String Handling ➡










