Search CSNewbs
304 results found with an empty search
- 4.3 - Boolean Algebra | OCR A-Level | CSNewbs
Learn about boolean logic and expressions using NOT, AND OR and XOR, Karnaugh maps, Boolean algebra rules including De Morgan’s Laws, distribution, association, commutation and double negation, logic gate diagrams, truth tables, D-type flip flops, half adders and full adders. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 4.3 - Boolean Algebra Watch on YouTube : Boolean Logic (NOT, AND, OR, XOR) Karnaugh maps Boolean algebra rules Logic gate diagrams Truth tables D-type flip flops Half & full adders This topic explores how the logical operations NOT , AND , OR and XOR are used to process binary data and control digital systems . It also looks at how to simplify and represent logic using Karnaugh maps , Boolean algebra rules , logic gate diagrams and truth tables . Boolean Logic Boolean logic is a form of algebra in which all values are either True (1 ) or False (0 ). It’s used in computing and digital circuits to make decisions and control the flow of programs . NOT (negation ) (¬ ) reverses the input value - 1 becomes 0 and 0 becomes 1 . AND (conjunction ) (∧ ) outputs 1 only if both inputs are 1 (e.g. 1 AND 1 = 1 , otherwise 0 ). OR (disjunction ) (v ) outputs 1 if at least one input is 1 (e.g. 1 OR 0 = 1 ). XOR (exclusive disjunction ) (v ) outputs 1 only if one input is 1 but not both (e.g. 1 XOR 1 = 0 , 1 XOR 0 = 1 ). YouTube video uploading soon Karnaugh Maps A Karnaugh map is a visual method used to simplify Boolean expressions and make logic circuits more efficient . It organises all possible input combinations into a grid , where adjacent cells differ by only one bit (following Gray code order ). By grouping together 1s (representing True outputs ) in powers of two (1 , 2 , 4 or 8 cells ), you can identify and remove redundant terms in a Boolean expression . The simplified result reduces the number of logic gates needed in a circuit, making it faster and easier to build . YouTube video uploading soon Boolean Algebra Rules Boolean algebra rules are used to simplify Boolean expressions . De Morgan’s Laws show how to distribute negation across AND and OR operations: ¬(A AND B) = (¬A OR ¬B) and ¬(A OR B) = (¬A AND ¬B) . Distributive Law allows expressions to be expanded or factored , e.g., A AND (B OR C) = (A AND B) OR (A AND C) and vice versa for OR over AND. Associative Law means the grouping of terms doesn’t affect the result . (A AND B) AND C = A AND (B AND C) and (A OR B) OR C = A OR (B OR C) . Commutative Law means the order of terms doesn’t matter in Boolean operations, e.g., A AND B = B AND A and A OR B = B OR A . With Double Negation , two NOTs cancel each other out , returning the original value , e.g., ¬¬A = A . YouTube video uploading soon Logic Gate Diagrams Logic gate diagrams are visual representations of Boolean expressions or digital circuits , showing how data flows through logic gates to produce an output . Each gate performs a basic logical operation (such as NOT , AND , OR or XOR ) and is represented by a distinct symbol . NOT AND OR XOR YouTube video uploading soon Truth Tables A truth table is used to show all possible input combinations for a logic circuit or Boolean expression , along with the resulting output for each combination . Each row in the table represents a unique set of input values (usually 0 for False and 1 for True ). The final column shows the output produced by applying the logical operations to those inputs . The number of rows in a truth table doubles with each additional input , e.g. 4 rows for 2 inputs and 8 rows for 3 inputs . YouTube video uploading soon D-Type Flip Flops A D-type flip-flop i s a sequential logic circuit that stores a single bit of data - either 0 or 1 . It has two inputs , D (data ) and CLK (clock ), and two outputs , Q and ¬Q . When a clock pulse occurs , the flip-flop copies the value of D to the Q output , and that value is held (stored ) until the next clock pulse . This makes D-type flip-flops useful for memory storage , registers and data synchronisation . Essentially, they act as a 1-bit memory cell , storing the last value of D whenever the clock signal triggers . YouTube video uploading soon Half Adders & Full Adders A half adder is a logic circuit with two inputs (A and B ) that are added to produce two outputs - S (sum ), the result of A XOR B - and C (carry ), the result of A AND B . Half adders can only add two bits and cannot handle an input carry from a previous addition . A full adder is an extension of a half adder with three inputs : A , B , and C in (a carry-in from a previous calculation ). It produces two outputs : S (sum ) (A XOR B XOR Cin ) and C out (carry out ) ((A AND B) OR (B AND Cin) OR (A AND Cin) ). Full adders can be linked together to perform multi-bit binary addition in arithmetic circuits. YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Boolean Logic: NOT, AND, OR, XOR, Karnaugh maps, logic gate diagrams, truth tables Boolean Algebra Rules: De Morgan’s Laws, distribution, association, commutation, double negation D-Type Flip Flops: data, clock, Q, NOT Q Adders: half adder, full adder D id Y ou K now? The word ' Boolean ' is always spelt with a capital B because it is named after George Boole , a 19th-century English mathematician . His work has become the foundation of all modern digital electronics and computing . 4.2 - Data Structures A-Level Topics 5.1 - Computing Legislation
- OCR CTech IT | Unit 1 | 1.5 - Communication Hardware | CSNewbs
Learn about different types of hardware that allow data to be sent between systems, including router, modem, bridge and WAP. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 1.5: Communication Hardware Exam Board: OCR Specification: 2016 - Unit 1 The devices on this page are used to create or link together networks , allowing data to be sent between computer systems . 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 s pecifically listed in the destination address of the packet. Modem Modems are used to send data across the telephone network . The telephone lines can only transfer analog signals so a modem is used to convert a computer's digital data into an analog signal . Another modem converts the signal back to a digital format at the receiving end. 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 . 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. Combined Device Also known as a hybrid device , this provides the functionality of multiple communication devices (e.g modem, router, switch and/or wireless access point) in a single device . They can be more expensive than a single device but are more adaptable - if the routing part of the device fails it might still be able to function as a switch / wireless access point etc. However, you will see an increased performance from a standalone device rather than a combined one as standalone devices have more complex features (e.g. VPN support). Network Interface Card (Network Adapter) A Network Interface Card (often shorted 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 known as a network adapter ). Wireless network interface cards allow wireless network connection. Q uesto's Q uestions 1.5 - Communication Hardware: 1. What is the difference between a hub and a switch ? [2 ] 2. Explain how a modem works. [3 ] 3. Explain the purpose of a router . [2 ] 4. What is a Wireless Access Point (WAP )? [2 ] 5. Describe what is meant by a 'combined device '. Give one advantage and one disadvantage of using a combined device. [3 ] 1.4 - Connectivity 1.6 - Hardware Troubleshooting Topic List
- Python | 8c - Dictionaries | CSNewbs
Learn how to create and use dictionaries in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 8C - Dictionaries Creating a Dictionary Dictionaries are used in Python to link items of data together . The example on this page uses a footballer dictionary which links a player with a team they played for. To define a dictionary, use curly brackets { } and separate linked data with a colon . A dictionary can be written on one line but the method below makes it easier to read: Printing Data from a Dictionary The first part of the linked data in a dictionary is called the key (e.g. each footballer in my example above). The second part of the linked data in a dictionary is called the value (e.g. each team). Example: key : value "Harry Kane" : "Tottenham Hotspur" A for loop can be used to cycle through each set of keys and values in the dictionary: Practice Task 1 a) Create a dictionary of your teachers and the subject they teach. b) Print their name and the subject they teach on each line. Example solution: Adding and Removing Data from a Dictionary Data can be added to a dictionary by stating the new key and value . You must use square brackets - [ ] The new data will be added to the end of the dictionary. You can print the whole dictionary to see any changes - e.g. print(playerdictionary) Data can be removed from a dictionary by stating the new key to remove in a pop command. You can print the whole dictionary to see any changes - e.g. print(playerdictionary) The whole dictionary can be cleared (reset to blank) using the clear command. Practice Task 2 a) Ask the user to enter a new teacher and their subject. b) Ask the user to remove a teacher. c) Print the list of teachers and check the new teacher has been added and the other one removed. Example solution: Searching Through a Dictionary An if statement can be used to check if a specific key is in a dictionary. If the key is in the dictionary then a message can be displayed using the key and the value . Otherwise, an else statement can output an appropriate response. To search for a value in a dictionary a for loop should be used to cycle through each key . If the value of each key matches the value that is being searched for then it will be printed. Practice Task 3 a) Create a search that allows a user to enter a teacher's name and prints the subject that they teach. b) Include an else statement to print a response if a teacher is not in the dictionary. Example solution: Changing Data & Copying a Dictionary The way to change values is similar to adding new data. The first input below is to determine the key and the second input determines the new value to be changed to. The copy command is used to make a duplicate of a dictionary . Practice Task 4 a) Create a copy of your teacher dictionary. b) Allow the user to enter a teacher and a new subject that they teach. c) Print the copy of the dictionary with the new values. Example solution: Using a Dictionary to Make a Game The code below is used to make a puzzle game where the user has to type in a footballer and the team they played for. I have added comments to explain the different parts of the code. A separate list has been created at the start to store the names of keys (players) that been correctly guessed . A while loop is used to constantly ask the user for players and teams. When they have guessed all 10 players (and the correct list reaches 10 ) the loop breaks and the game end. Instead of a further practice task here, Task 6 of the Section 8 Practice tasks page challenges you to make a similar game using a dictionary. ⬅ 8b - 2D Lists Section 8 Practice Tasks ➡
- 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 ➡
- Eduqas GCSE Topic List | CSNewbs
The list of topics in the 2020 Eduqas (part of WJEC) GCSE Computer Science specification. Eduqas GCSE Computer Science These pages are based on the Eduqas GCSE Computer Science 2020 specification . 1. Hardware 1.1 - The Central Processing Unit (CPU) 1.2 - The FDE Cycle 1.3 - Primary Storage 1.4 - Secondary Storage 1.5 - Performance 1.6 - Additional Hardware 2. Logical Operators & Boolean 2.1 - Logical Operators 2.2 - Boolean Algebra 3. Networks & Security 3.1 - Network Characteristics 3.2 - Data Packets & Switching 3.3 - Network Topology 3.4 - Network Hardware & Routing 3.5 - Protocols 3.6 - 7-Layer OSI Model 3.7 - The Internet 3.8 - Cyber Threats 3.9 - Protection Against Threats 4. Data 4.1 - Number Systems 4.2 - Signed Binary 4.3 - Binary Calculations 4.4 - Arithmetic Shift 4.5 - Character Sets & Data Types 4.6 - Graphical Representation 4.7 - Sound Representation 4.8 - Compression 5. Data Organisation 5.1 - Data Structures & File Design 6. Operating Systems 6.1 - Operating Systems 6.2 - Utility Software 7. Principles of Programming 7.1 - Language Levels 8. Algorithms & Constructs 8.1 - Programming Principles 8.2 - Understanding Algorithms 8.3 - Writing Algorithms 8.4 - Sorting & Searching Algorithms 8.5 - Validation & Verification 9. Software Development 9.1 - IDE Tools 10. Program Construction 10.1 - Translators 10.2 - Stages of Compilation 10.3 - Programming Errors 11. Technological Issues 11.1 - Impacts of Technology 11.2 - Legislation Component 2 (Programming Exam) Python
- Key Stage 3 Python | The Basics | CSNewbs
The first part of a quick guide to the basics of Python aimed at Key Stage 3 students. Learn about comments and printing. Python - #1 - The Basics 1. Start with Commenting Programmers write A LOT of code. They need to understand exactly what they have written, especially if they are working as part of a team or returning to code after working on other projects. To help them understand what they have written, programmers use comments to annotate (explain) their code . Task 1 - Create a new Python program and use # to write a comment that says your name and the date. Save the file as 1-Basics.py In Python, type the # symbol then your message to write a comment. Comments are not printed when you run a program! It is a good idea to start every program with a comment, so you know what the program is about . 2. Printing to the Screen The most basic and common command you will use in Python is print . Inside the print brackets, you can write a message within speech marks . Your print command should turn purple - don't use any capital letters in Python unless it is inside speech marks! Task 2 - Write a nice message by using the print command, brackets and speech marks. Press F5 to run your program. 3. More Printing You can write multiple print lines one after another to print on different lines. Task 3 - Add two more print lines to your program. You can choose any message that you like. 4. New Lines You can use the special command \n to start a new line . This allows you to write on multiple lines but only use one print line. Use the backslash ( \ ) not the forward-slash ( / ). Task 4 - Use \n to write a 3 sentence conversation in only one line of code. Challenge Programs Use everything that you have learned on this page to help you create these programs... Challenge Task 1 - Days of the Week Create a new Python program. Save it as ' 1-Week.py ' Add a comment at the top with your name and the date. Create a program that prints the days of the week, with each day on a new line. BONUS : Try to use only one print line. BONUS : Have no empty spaces at the start of each line. When you run it, it should look like this: Challenge Task 2 - Conversation Create a new Python program. Save it as ' 1-Conversation.py ' Add a comment at the top with your name and the date. Create a program that prints a 6-line conversation between two people. It is up to you what these two people are talking about. BONUS : Try to use only one print line. BONUS : Have no empty spaces at the start of each line. When you run it, it could look something like this: #2 Variables >>>
- 2.4b - Binary Addition & Shifts - OCR GCSE (J277 Spec) | CSNewbs
Learn about how to perform binary addition and binary shifts. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.4b: Binary Addition & Shifts Exam Board: OCR Specification: J277 Watch on YouTube : Binary Addition Overflow Errors Binary Shifts Issues with Shifts Binary Addition Binary addition is a method of adding binary values without having to convert them into denary. How to add binary numbers: What is an overflow error? An overflow error occurs when a binary value is too large to be stored in the bits available . With a byte (8 bits ) the largest number that can be held is 255 . Therefore any sum of two binary numbers that is greater than 255 will result in an overflow error as it is too large to be held in 8 bits . What is binary shift? Binary shift is used to multiply and divide binary numbers . The effect of shifting left is to multiply a binary number. The effect is doubled by each place that is shifted . x The effect of shifting right is to divide a binary number. ÷ Shifting by 1 has an effect of 2 . Shifting by 2 has an effect of 4 . Shifting by 3 has an effect of 8 . For example, shifting left by 2 places has an effect of multiplying by 4 . Another example: Shifting right by 3 places has an effect of diving by 8 . How to shift a binary number: Binary Shifts Watch on YouTube Watch on YouTube Q uesto's Q uestions Binary Addition: 1. Explain what an overflow error is. [ 2 ] 2. Add together the following binary values. If an overflow error occurs you must state one has occurred. a. 010110012 and 010001012 [2 ] b. 110110112 and 010111012 [2 ] c. 001101102 and 011010112 [2 ] d. 110110112 and 010101112 [2 ] e. 011011012 and 110101102 [2 ] Binary Shifts: 1a. Draw a diagram to show the effect of multiplying and dividing a binary number . [2 ] 1b. Draw a diagram or table to show the effect a shift has for each place from 1 to 4 . For example, a shift of 1 place has an effect of 2. [4 ] 2. State the effect of the following shifts: a. Shift right by 2 places. b. Shift left by 1 place. c. Shift left 3 places. d. Shift right by 4 places. [ 1 each ] 3. Shift the following binary numbers and state the effect of the shift: a. 10101011 : Shift left by 2 places. b. 11101100 : Shift right by 3 places. c. 00001011 : Shift right by 2 places. d. 01101110 : Shift left by 1 place. [ 2 each ] 2.4a - Number Systems Theory Topics 2.4c - Character Storage
- OCR CTech IT | Unit 1 | 1.6 - Hardware Troubleshooting | CSNewbs
Learn about troubleshooting tests and information to record when a hardware error occurs. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 1.6 - Hardware Troubleshooting Exam Board: OCR Specification: 2016 - Unit 1 What is troubleshooting? Troubleshooting means to analyse and solve a problem with a computer system. Hardware troubleshooting refers to fixing an issue with the physical parts of the computer or any connected devices. Hardware issues might occur as a result of damage (intentional or accidental), power surges or malware . Steps to Take When an Error Occurs Try to identify the problem by looking for the simplest explanation first (e.g. checking the power supply) and ask the user questions about the issue. Create a theory about what the cause of the problem could be and prepare to test the theory using a series of troubleshooting tests . Create a troubleshooting plan and record the steps that are taken before moving on to the next test. Check the system works after each stage of the plan. Create a findings document that explains if and how the problem was fixed, for future reference if the problem occurs again. Documentation Technicians and help desk (see 3.5 ) staff should document , on a fault sheet , the following information regarding the issue: The fault itself (such as 'system not turning on'). The system in question. The user logged in at the time. Exact date & time the problem occurred. Symptoms of the issue (such as 'slow load times' or 'beeping'). Problem history - checking if it has happened to this system before. Back up documentation - Whether the data been backed up recently. Troubleshooting Tools The following tools can be used to identify an error so a technician has a greater understanding of the problem. Event Viewer Event Viewer is a type of utility software that lists detailed information about an error when one occurs. It can be used to work out how to fix the issue and will display both minor and major faults. Power On Self Test (POST) On start-up, a power on self test (POST) checks memory, power, hardware and cooling systems are all working properly. Beep codes signal if an error has been detected; 1 beep will sound for no error but if multiple beeps are heard then an error has been discovered. Ping Test This is a connectivity test between two computers. A message is sent to the destination computer and waits for a return message named the echo reply . This procedure can be repeated with other systems until the source of the problem is identified from a computer that does not reply . Q uesto's Q uestions 1.6 - Hardware Troubleshooting: 1. Summarise the 'Steps to Take when an Error Occurs ' section into your own top three tips for what to do when a hardware error happens . [3 ] 2. List 6 pieces of information that an IT technician should record when a hardware error has occurred . [6 ] 3. Briefly explain the purpose of three troubleshooting tools . [6 ] 1.5 - Communication Hardware 1.7 - Units of Measurement Topic List
- 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 | Section 3 Practice Tasks | CSNewbs
Test your understanding of data types, calculations and modulo. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 3 Practice Tasks Task One: Square Number Create a program that asks the user to input a number and then prints the square of that number - to do this, multiply the number by itself . Remember: Break up variables and parts of a sentence in a print line by using commas. Example solutions: Enter a number: 12 The square of 12 is 144 Enter a number: 7 The square of 7 is 49 Task Two: Multiplying Numbers X Example solutions: Create a program that asks the user to input two numbers (num1 and num2 ). Multiply the two numbers together and print the total . Remember: Break up integer variables in a print line by using commas between each part of the sentence. Enter number one: 7 Enter number two: 9 7 x 9 = 63 Enter number one: 8 Enter number two: 12 8 x 12 = 96 Task Three: Turning 65 Example solutions: Create a program to input how old the user will turn this year and then print the year they will turn 65 . You could do this in just two lines but before trying that work out on paper the steps to calculating your own age you will turn 65. What steps did you take? Try to recreate those steps in Python. You might need to create another variable to make it easier. How old will you turn this year? 15 You will turn 65 in 2073 How old will you turn this year? 42 You will turn 65 in 2046 Task Four: Multiplication Table Let the user enter a number then print the first five multiplications in its times table. This can be done more simply when you learn about for loops but for now you will need to multiply the number by 1 , then multiply it by 2 etc. Try to make this program better by displaying the number and the value it is multiplied by in your print statements. Simple example solution: Enter a number: 8 8 16 24 32 40 Better example solution: Enter a number: 7 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 ⬅ 3b - Simple Calculations 4a - If Statements ➡
- 6.2 - Risks | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the risks of storing and processing data, including accidental deletion and hacking. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 6.2 - Risks Exam Board: OCR Specification: 2016 - Unit 2 Unauthorised Access to Data As part of the security principle of confidentiality , data should only be viewed by individuals with the authorisation to do so. There are two main reasons why data may be viewed by someone who shouldn't - espionage and poor information management . Espionage is the act of collecting data so that it can be used against an organisation - such as a competitor acquiring information about their rival's product before it is launched publicly. If a company has poor information management strategies in place and data is insecurely stored or too many people have access to sensitive information then it is more likely to be viewed by unauthorised persons. Not only would competitors benefit from unauthorised access, but the Data Protection Act (2018 ) would also be broken if personal data was accessed . Accidental Loss of Data Data loss refers to information being irretrievably lost - not just a copy of the file but the original version too so it cannot be accessed in any format . One reason for accidental data loss is equipment failure or a technical error that leads to data corruption , such as a database crash or hard drive failure. Human error is another reason for accidental data loss as an employee might accidentally delete a file or discard an important paper document without realising. If data is accidentally lost then it could mean that hours of data entry and collection will have been for nothing and might delay dependent processes such as analysis and trend recognition. Also, if it was personal data that was lost then the security principle of availability has been broken and the Data Protection Act ( 2018 ) has been breached . Intentional Destruction of Data This is the act of purposely damaging an organisation by deleting or denying access to data . Examples include viruses that corrupt data so that it can no longer be used and targeted malicious attacks such as DDOS (distributed denial of service) attacks or ransomware . Ransomware encrypts files so that they can only be accessed again when certain criteria have been met, usually the affected group having to pay an extortionate fee . When data is intentionally deleted the organisation in question can respond by replacing the data and any infected computer systems / devices or by ignoring the loss and not making the breach public - but having to re-collect / re-analyse the data. Data destruction will usually lead to a loss of reputation as customers won't want to have their information stored in a system they see as unreliable and insufficiently protected . This loss of reputation could lead to customer loss and a decrease in profits . If the loss is ignored and unreported then it could result in a huge loss of trust when it is eventually revealed - like Yahoo who only confirmed a massive data breach that happened in 2013, two years later in 2016. This breach affected all 3,000,000,000 Yahoo accounts and is the largest data breach in the history of the internet. Intentional Tampering with Data This is when data is changed and no longer accurate . This could occur through fraudulent activity such as hacking to change information displayed on a webpage. An example is if a student or a teacher changed exam answers for a better grade. A business example is if a company tampered with financial data to display larger profits and smaller losses than real figures, to boost investment or please stakeholders. If data tampering is found out then it can result in a loss of reputation as that organisation cannot be trusted to report data accurately . If personal data has been altered then the security principle of integrity will have been broken as the data is no longer accurate . Data security methods and protection systems will also need to be reviewed if data has been tampered with, especially if it was an external individual that accessed and changed the data. Employees that tamper with data will be fired and may face legal action . Q uesto's Q uestions 6.2 - Risks: 1. Describe two effects on an organisation for each of the four identified risks . [8 ] 2. Research at least one real-life example for each risk above and describe the consequences of that example, such as the Yahoo data breach. [12 ] 6.1 - Security Principles Topic List 6.3 - Impacts
- Algorithms | CSNewbs
Learn how pseudocode and flowcharts are written as part of algorithms. This content is based on the 2016 Eduqas / WJEC GCSE Computer Science specification. Algorithms Pseudocode 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 real 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 flowchart A flowchart can be used to visually represent an algorithm. The flowchart symbols are: Algorithm Example example Pseudocode {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 Stop Flowchart









