Search CSNewbs
304 results found with an empty search
- 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
- Python | 4a - If Statements | CSNewbs
Learn how to use if statements in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 4a - If Statements If Statements Selection is one of three constructs of programming , along with Sequence (logical order) and Iteration (loops). An if statement is a conditional statement that performs a specific action based on conditional values. Essentially, if thing A is true , then thing B will happen . If the user answers yes to the window question, then an appropriate statement is printed. Double equals stands for ‘is equal to ‘. The colon stands for THEN and the line after an if statement must be indented (press tab key once). answer = input ( "Is the window open? " ) if answer == "yes" : print ( "It's chilly in here!" ) Is the window open? yes It's chilly in here! But what if the window is not open? At the moment nothing will happen if you type no: Is the window open? no The elif command stands for else if . Essentially: If thing A is true then do thing B, else if thing C is true then do thing D: But what about any other answer than yes or no? The else command will submit a response if the value is anything else. The if and elif commands have a colon at the end, but else has it at the start. Also, else does not need to be on a new line. answer = input ( "Is the window open? " ) if answer == "yes" : print ( "It's chilly in here!" ) elif answer == "no" : print ( "It's quite hot in here!" ) answer = input ( "Is the window open? " ) if answer == "yes" : print ( "It's chilly in here!" ) elif answer == "no" : print ( "It's quite hot in here!" ) else : print ( "I'm not sure what you mean." ) Is the window open? no It's quite hot in here! Is the window open? banana I'm not sure what you mean. If Statements Task 1 ( Left or Right?) Use an input line to ask the user whether they want to turn left or right . Print a sentence of your choice if they chose left and a different sentence if they chose right . Include an else statement in case the user doesn't input left or right. Example solutions: There is a path ahead. Do you turn left or right? left The path turns and twists until it reaches a cliff. Dead end! There is a path ahead. Do you turn left or right? right A snake slithers across the path and bites your leg. Oh no! There is a path ahead. Do you turn left or right? backwards That's not an option! Nested If Statements Complex programs may require you to have if statements within if statements - when programming, one thing inside another is known as nesting . You must make sure that the related if , elif and else statements line up with each other . Use the tab key to indent a line. outer if inner if weather = input ( "What is the weather like today? " ) if weather == "sunny" : sunny = input ( "How hot is it? " ) if sunny == "very hot" : print ( "Take some sunglasses with you!" ) elif sunny == "cool" : print ( "Maybe take a jacket just in case?" ) else : print ( "Enjoy the sunshine!" ) elif weather == "rainy" : print ( "Take an umbrella!" ) else : print ( "Have a good day!" ) = What is the weather like today? rainy Take an umbrella! = What is the weather like today? sunny How hot is it? cool Maybe take a jacket just in case? = What is the weather like today? snowy Have a good day! = What is the weather like today? sunny How hot is it? very hot Take some sunglasses with you! If Statements Task 2 ( Nested Ifs) Use the weather program above as an example to help you write your own program with a nested if for at least one option. Be careful to have your nested if's if, elif and else statements in line with each other. Your program doesn't have to be about juice. Example solutions: Would you like orange, apple or tomato juice? orange Would you like your orange juice smooth or with bits? smooth One smooth orange juice coming up! Would you like orange, apple or tomato juice? orange Would you like your orange juice smooth or with bits? bits A pulpy orange juice is on its way! Would you like orange, apple or tomato juice? tomato Yuck, you can't be serious? Using Selection with Numbers Comparison operators such as > (greater than ) > = (greater than or equal to ) < (less than ) and < = (less than or equal to ) can be used with if statements. Logical operators such as and and or can also be used - more about them in section 4c . When comparing a variable's value to a specific number, such as 50, don't forget to use double equals ( == ) . Python Comparison Operators score = int ( input ( "Enter the maths test score: " )) if score == 50: print ( "You scored top marks!" ) elif score >= 40 and score < 50: print ( "You scored a great grade!" ) elif score >= 20 and score < 40: print ( "You did okay in the test." ) else : print ( "You have to try harder next time!" ) = Enter the maths test score: 50 You scored top marks! = Enter the maths test score: 43 You scored a great grade! = Enter the maths test score: 20 You did okay in the test. = Enter the maths test score: 13 You have to try harder next time! If Statements Task 3 ( Fastest lap) A racing video game has a challenging track that players try to get a quick lap on. The current fastest lap time is 37 seconds . Ask the player to enter their lap time and print a response based on their input . You need individual responses for the following inputs: Faster than 37 seconds. Between 37 seconds and 59 seconds. Between 60 seconds and 90 seconds. Slower than 90 seconds. Example solutions: Enter your lap time: 35 You have set a new record!!! Enter your lap time: 59 You did well this time! Enter your lap time: 83 A little bit slow this time! Enter your lap time: 110 Were you even trying!?! Hurry up! Not Equal To The opposite of equal to ( == ) is not equal to ( != ). != is often used with while loops to repeat code while an input is not what is expected , for example repeatedly asking for a password while the input is not equal to "fluffythecat123". The code below uses != for an incorrect answer (although it could easily be re-written to use == for a correct answer). answer = input ( "What is the capital of Eritrea? " ) if answer != "Asmara" : print ( "That is incorrect! It is Asmara." ) else : print ( "You got it right!" ) = What is the capital of Eritrea? Asmara You got it right! = What is the capital of Eritrea? Windhoek That is incorrect! It is Asmara. If Statements Task 4 ( True or False? ) Come up with your own true or false question that the user has to respond to. Depending on their answer , print whether they got it right or wrong . You may want to use an if statement with == for a correct answer or != for an incorrect answer , there's multiple ways to write this program. Example solutions: There are 140 million miles between Earth and Mars. TRUE or FALSE? TRUE That is correct! It is really that far! There are 140 million miles between Earth and Mars. TRUE or FALSE? FALSE You got it wrong, there really are 140 million miles between us! ⬅ Section 3 Practice Tasks 4b - Mathematical Operators ➡
- 4.2 - Signed Binary - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about two methods of representing negative numbers in binary - sign and magnitude and two's complement. Based on the 2020 Eduqas (WJEC) GCSE specification. 4.2: Signed Binary Exam Board: Eduqas Specification: 2020 What are Sign and Magnitude and Two's Complement? Sign and Magnitude and Two's Complement are both methods of writing positive and negative binary values . Sign and Magnitude is simpler but will cause incorrect answers if used in binary calculations . Two's Complement is more complex but will generate correct answers when used in binary calculations . Sign & Magnitude The most significant bit (MSB ) is the largest bit of a binary number - the one furthest to the left . The MSB is the sign - it represents whether the binary value is positive or negative . If the sign is 0 then the binary number is positive . If the sign is 1 then the binary number is negative . The other bits represent the magnitude - the value of the binary number. For an 8-bit binary number , the range is -127 to 127 , because only 7 bits are used to define the magnitude. Sign & Magnitude: Problems Sign and magnitude is not commonly used by computers for two main reasons: Performing binary addition and subtraction (see section 4.3 ) will often cause a wrong result . In the example below, -7 + 3 should equal -4 but the result given is 2. + Sign and magnitude creates two different values for 0 - positive 0 and negative 0 which is incorrect. Two's Complement Two's complement is a method of representing positive and negative binary values. It is used often by computers because binary calculations will work correctly and there is only one value for zero. Two's Complement: Denary to Binary To represent a negative value using two's complement follow these steps: Write out the positive value in binary . Start on the right-hand side and move along, copy all 0s until you get to the first 1 . The first 1 is copied too. After the first 1 invert each value (change to its opposite ). So 0 becomes 1 and 1 becomes 0 . 1. 2. 3. Two's Complement: Binary to Denary To convert a binary number to denary using two's complement you must remember that the MSB is a negative value . Just add the numbers with 1 together to work out the denary value . Q uesto's Q uestions 4.2 - Signed Binary: Sign & Magnitude 1. Using sign and magnitude , convert the following values to denary : a. 00011101 b. 11100011 c. 10110110 d. 01001111 [1 each ] 2. Using sign and magnitude , convert the following values to binary : a. 83 b. -13 c. -102 d. -24 [1 each ] 3. Describe two problems when using sign and magnitude . [ 4 ] 4. Using sign and magnitude , the range of numbers that can be represented in 6 bits is from - 31 to + 31 . State the range of numbers that can be represented using sign and magnitude in the following bits: a. 8 bits b. 4 bits [1 each ] Two's Complement 1. Using two's complement , convert the following values to binary : a. -20 b. -49 c. -87 d. -113 [2 each ] 2. Using two's complement , convert the following values to denary : a. 10110010 b. 11101110 c. 01101011 d. 10011111 [2 each ] Watch the video to learn how sign and magnitude is used to represent negative numbers in binary . Watch the video to learn how two's complement is used to represent negative numbers in binary . Watch on YouTube Watch on YouTube 4.1 - Number Systems Theory Topics 4.3 - Binary Calculations
- 1.3.1 - Application Types | F160 | Cambridge Advanced National in Computing | AAQ
Learn about the purpose and characteristics of the eight application types, including examples. Application types include communication, educational, entertainment, games, lifestyle, productivity, protection & utility and web browsers. Resources based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 1.3.1 - Application Types Watch on YouTube : Application Types There are several types of applications that can be developed , each with a different purpose and common characteristics . There are eight application types you need to know for this 'Fundamentals of Application Development ' unit, including their purpose and common characteristics . Communication Purpose: Communication applications allow users to exchange information with others , most often in real-time . Data can be transferred in a range of formats including text , images and video . Education Purpose: To teach users about specific topics and help people learn new skills . This may be aimed at certain ages or user groups such as those learning a new language . Characteristics of Communication Applications: Has a simple user interface designed for quick and reliable data exchange . Supports multiple formats (text , images , audio , video and files ). Requires a network connection to send and receive data . Often has built-in security and privacy , such as end-to-end encryption . May use presence awareness such as showing ‘typing… ’ or ‘online now ’. Characteristics of Education Applications: It may be structured around learning milestones or long-term goals . Often interactive , such as quick quizzes or regular recaps of topics. Could include different formats of learning (such as text , visuals or audio ). Usually tracks skills or scores over time to show progress in a user-friendly way . Age-appropriate in content and design , possibly with difficulty levels . Examples: WhatsApp, Messenger, Zoom, Slack, Gmail Examples: Duolingo, Kahoot!, Quizlet, Memrise, Anki Entertainment Purpose: To provide enjoyment through formats such as video or audio , often with automatic suggestions based on previous interactions including watched videos , likes or comments . Characteristics of Entertainment Applications: Simple design to focus on keeping users engaged . May include streamed media content or the option to download . Designed for passive or relaxed use , e.g. watching or listening without interacting . Uses algorithms for recommendations based on user preferences . May include social features such as comments or sharing with friends . Examples: Netflix, Disney+, Spotify, YouTube, Twitch Games Purpose: To offer interactive challenges in a fun and possibly competitive way. Games may be played together online or offline for a single-player experience . Characteristics of Game Applications: Based on clear rules and objectives with reward systems , e.g. achievements . High interactivity and quick responsiveness to keep players engaged . Requires graphical rendering , user inputs and sound design . May support local multiplayer or online play with competition , like leaderboards . Often has a range of difficulty levels to keep players challenged . Examples: Minecraft, Fortnite, Among Us, EA Sports FC, Candy Crush Lifestyle Purpose: Supports a healthy and organised way of living . They often help people to manage their daily tasks and form positive personal routines . Productivity Purpose: To support users to complete tasks , manage their time or organise information in a helpful way , all to to maximise productivity . Characteristics of Lifestyle Applications: Often personalised to user preferences or personal data . May use real-time inputs such as location or health data , like steps taken . It may be integrated with smart wearable devices such as a smartwatch . Designed to be used briefly but daily (e.g. checking steps or logging meals ). Encourages improved habits or healthier improvements . Characteristics of Productivity Applications: Has a focus on efficiency , reliability and easy usability . Often allows collaboration and file sharing (e.g. working with colleagues ). Prioritises data organisation and quick access to relevant information . Usually integrated with cloud services or other apps like calendars . It may be designed for professional , personal or educational use . Examples: MyFitness Pal, Noom, Headspace, FitBit, Couch to 5k Examples: Microsoft Word, Calendar, Google Drive, Notion, Trello Protection & Utility Purpose: To secure the computer system against malicious threats and perform housekeeping tasks that maintain stability and a smooth performance . Characteristics of Protection & Utility Applications: Works in the background without frequent user interaction . Often requires permissions to access sensitive data . Needs to be updated frequently , e.g. adding new virus signatures to the database of an antivirus . May be event-driven (e.g. alerts or automatic scans at regular intervals ). Should use low system resources if it needs to be running constantly . Web Browsers Purpose: Accesses , retrieves and displays web pages from web servers . It provides tools like bookmarks , tabs and history to help users easily navigate the interne t. Characteristics of Web Browser Applications: Displays webpages that are built using HTML , CSS and JavaScript . Supports security protocols such as HTTPS , which uses encryption . Enables customisation and user control , e.g. bookmarks , extensions and themes . Contains an address bar to directly type in URLs or search terms . Allows for multiple tabs to run concurrently . Types of Application Examples: Avast Antivirus, CCleaner, 1Password, Battery Saver, Microsoft Defender Examples: Google Chrome, Safari, Mozilla Firefox, Microsoft Edge, Opera Q uesto's Q uestions 1.3.1 - Application Types: 1. Choose four application types and explain how each can be used in a school . [8 ] 2a. For two application types you did not mention in Q1 , explain their characteristics . [6 ] 2a. For the remaining two application types you have not mentioned , explain their purpose . [ 4 ] Minecraft is the best-selling video game of all time , with over 350 million copies sold since its official release in 2011 . D id Y ou K now? 1.2 - Operating Systems Topic List 1.3.2 - Application Software Categories
- 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
- The CPU | Key Stage 3 | CSNewbs
Learn about the Central Processing Unit (CPU) and factors such as clock speed. Learn about components within the CPU including the ALU and control unit. The CPU What is the CPU? The CPU CPU stands for C entral P rocessing U nit . The CPU is considered the brain of the computer because it is used to process data and instructions , just like a human brain . Every single type of computer needs a CPU , from desktop computers to laptops , game consoles , even smart TVs and smart watches . The CPU plugs directly into the motherboard in a special socket . What does the CPU do? The CPU works in a cycle (called the FDE cycle ), which it repeats up to billions of times a second . In the FDE cycle , the CPU first f etches instructions from RAM. Next, the CPU d ecodes (understands ) the instructions and finally e xecutes (runs ) them. RAM (Random Access Memory) Instructions CPU (Central Processing Unit) What is clock speed? The clock speed is how many instructions a CPU can carry out per second . Clock speed is measured in gigahertz (GHz ), where 1 GHz = 1 billion cycles per second . The higher the clock speed , the faster the CPU will run , as more instructions can be processed per second . What are the four components of the CPU? The Control Unit (CU ) sends control signals to direct the operation of the CPU . It also decodes instructions as part of the FDE cycle . ALU stands for Arithmetic Logic Unit . It performs simple calculations and compares data . The registers are temporary storage spaces for instructions inside the CPU. They are used in the FDE cycle . Cache memory stores frequently accessed data that the CPU needs to access at very high speeds . What is overclocking and underclocking? Typical clock speed: 3.5 GHz 3.9 GHz 3.3 GHz Overclocking is when the computer's clock speed is increased higher than the recommended speed. This will make the computer perform faster but it can lead to overheating and could damage the computer . Underclocking is when the computer's clock speed is decreased lower than the recommended speed. This will make the computer perform slower but will increase the lifespan of the computer . KS3 Home
- Python | Extended Task 6 | CSNewbs
Test your ability to create a more complex program in Python based on a given scenario. Perfect for students learning GCSE Computer Science in UK schools. Extended Task 6 'Guess the Word' Game Create a Python program similar to the hit New York Times puzzle game Wordle . Allow the user to make guesses to match the randomly chosen hidden word , stopping when they get it correct. You can download a list of 5-letter words on this page. You will need to read in each line of the list and randomly select one - don’t forget to import the random library . Check if each letter of the user’s inputted word is in the randomly selected word . If you are using an IDE like Replit you can use the colorama library and the Fore command to turn the text: Green if the letter is in the correct position . Red if the letter is not in the selected word . Yellow if the letter is in the selected word but not in the correct position . Add your own flair and additional features to your program as an extension, including limiting the number of guesses and recording how many attempts it took to get the correct answer. Download a file of 534 5-letter words: For this task, you will need to create a document and include the following sections (with screenshots where appropriate): An introduction to explain the Purpose of your program . A List of Requirements for a successful program. Screenshots of your code (with comments in your code to show understanding). Testing – Create a plan to show how you will test your program and then explanations of any errors that you found and how they were fixed . An Evaluation of what worked, what didn’t, and how you met each of your requirements from your original list. Also, discuss further improvements that you could have made to improve your program. Reminders for this task: You will need a while loop to repeatedly allows the user to enter words until they match the correct word. Section 10 will help you to open, write and r ead from files . Download the file of 5-letter words from the link above. You will need to randomly select a word from the file. The choice command will help. Selection will be necessary to check if each letter in the inputted word matches the letter in the same position in the correct word. String handling is needed to select specific letters in a string. You will need to use .rstrip() on the selected line (word) that you have randomly chosen from the file. This removes any hidden characters that may interfere with checking if it is equal to the inputted word. There are multiple ways to approach this program, and your solution might look different from the example. Break the problem down and focus on one part at a time. Example solution: The word the user enters should be checked , letter by letter , against the letters in the same position in the randomly chosen correct word . Remember that the first letter in a word has the position 0 , not 1. Below is an example of some incomplete code you may wish to use in your solution. ⬅ Extended Task 5 (Colour Collection) Extended Task 7 (Number Game) ➡
- Scratch Maze Game | CSNewbs
This walkthrough will show you how to create a maze game in Scratch . It is split into the following sections: Creating the First Level Choosing the Main Character Animating & Moving the Main Character Back to the Start Adding Score & Time Making Enemies Adding More Levels Extensions Use the links to move between sections easily! 1. Creating the First Level The very first thing to do is to create the level in which our character will move around in! We are going to draw a background from scratch which our hero will run around in to get to the end. Important parts of the pictures are highlighted in yellow ! 1. Select the blank Stage button in the button left to edit the background. Drawing the Background Challenge Task Anchor 1 2. Press on the Backdrops tab. This will show Scratch’s own paint editor on the right. 3. Use the line tool to create straight maze lines on the background. Use the slider at the bottom to increase the width of the line. Remember this is only the first level so don’t make it too difficult. 4. Create a start zone and an end zone with the rectangle tool and then fill them in with the fill bucket tool . You can also change the main background colour using the fill bucket tool. Remember to choose an appropriate level name in the text box at the top. Level Name Rectangle Tool Fill Bucket Tool Make your game more exciting by creating themed levels , like this park background. Other ideas might include a classroom, library or car park. Try switching up the start and end zones by using the circle tool or the line tool and the fill bucket . Come back to this challenge when you are ready to make more levels! 2. Choosing the Main Character Now that you have your first level designed we can make our hero character who is going to navigate the maze and try to get to the end. Picking the main character Anchor 2 1. A character is called a sprite . We will choose a sprite from Scratch’s sprite library . Click on the fairy icon to open the sprite menu. 2. I have selected the Animals category on the left menu. I have chosen the Penguin sprite but choose whichever character you want. 3. Press the Costumes tab and check that your chosen sprite has at least two costumes . We will use these to create animation in the next section to make it look like the sprite is moving. 4. Now that we don’t need the cat anymore we can delete him by right-clicking on his icon and selecting delete . Shrink the Main Character down to size Shrink Tool 5. The sprite is too big for the level background and you will need to shrink them down . Click on the shrink button at the top of the program and then click on the sprite in the paint area to shrink them down. Remember how many times you clicked the sprite to shrink it. You will need to shrink both costumes the same number of times . Here I have shrunk my penguin by 17 clicks when I selected the shrink tool. You can compare the size of your costumes by looking at the image size beneath the icon (e.g. 40 x 53). Picture Size 6. You need to make sure that your sprite is in the centre of the grid otherwise it might cause trouble later when you try to move them. Click on the costume centre button in the top right (it looks like a crosshair ) and drag your sprite into the middle if it is not. Make sure that both costumes are in the centre . Also, give your costumes appropriate names , I have named mine Mr. Penguin 1 and Mr. Penguin 2. Costume Name Costume Centre 3. Animate & Move the Main Character Adding Animation Anchor 3 1. Click on your sprite icon in the bottom left and then on the Scripts tab in the top centre. We will begin using the script blocks and we need to start in the Events category with: ...so drag it over to the script area. This script will run all the blocks that we place beneath it, when the flag is pressed to start the game. 1. 2. You can only add animation if the sprite you chose has at least two different costumes! 2. The second block we need is: ...in the Control category. Every block that we put inside the forever loop block will repeat again and again . We want our character to switch between their costumes infinitely to make it look like they are always walking, which is why we use the forever loop. 3. Click on the Looks category and drag two... ...inside of your forever loop . Use the drop down list (small black triangle on the costume block ) to make one block switch to your first costume and the other block switch to your second costume. 4. In the Control category, drag over two blocks and place one after each of your ‘switch costume to ‘ blocks. 1 second is too long to wait so click on the 1 and change both to 0.5 instead (this is half a second). If you’ve got the code correct so far, when you press the green flag your character should be animated! Moving the Main Character 1. In the Events category drag a into the script area. Change the button from space to ‘up arrow ’ (or any key you like) It is also popular for computer games to use the w key to move up. 2. Click on the Motion category and move over two blocks: and Change the angle of direction from 90 (which is a right turn) to 0 (which is an upwards turn). Now you have just created code to make your character move upwards by ten steps when you press the up arrow! Once you have dragged the blocks when the up arrow is pressed, you can work out how to make your character move down, left and right ALL BY YOURSELF. Add this code in now, before you move on . Rotate the Main Character If you press the green arrow and move your character around you might notice that it doesn't rotate when it moves. Click on the i in the top left of your sprite icon in the bottom left. There are three types of rotation to choose from. Select your preferred style by clicking on one of the three symbols. Full Rotation will turn your sprite up, down, left and right. Horizontal Rotation will only turn your sprite left and right. No Rotation will not turn your sprite at all. it will always appear in the same direction. Anchor 4 4. Back to the Start Starting in the right place We always want the main sprite to start in the green zone when the green flag is pressed to start the game. First drag your sprite to the green zone . Then go to the Motion category and drag over: ...and connect it directly underneath the block you dragged over earlier. Once you’ve added that line of code, click the green flag to make sure that the sprite starts where you want it to . If it doesn’t, then you can change the x (horizontal) and y (vertical) co-ordinates by clicking on the white boxes and changing the values. Back to the start if touching the walls 1. Drag over and connect together the two blocks below: 2. Drag over the two blocks below, put the blue one inside the other and then put them both inside the forever loop : 3. Change the co-ordinates in the blue block you just added so that it matches the same co-ordinates as the block to make the sprite start at the green zone . 4. Now to add the wall detection code! In the Sensing section, drag this block over... ...and put it inside the top of the ‘if then‘ block . Make sure that you put it between the 'if' and 'then' and not underneath. 5. Click once on the box in the ‘touching colour ‘ block and then click the wall or obstacle you want the player to avoid, Now is a good idea to play your game and make sure you can get to the end without being teleported back to the start. If your game is impossible you will need to edit the background – click on the stage icon in the bottom left then the Backdrops tab and edit the walls. Anchor 5 5. Adding Time & Score Recording the Time 1. Click on the Stage icon in the bottom left, we will create new code in the Scripts tab of the stage. DO NOT click the character sprite! Click on the Data category and choose Make a Variable . A variable is something that can change . Call your new variable Time . Adding a Score - The Number of Restarts 2. From the Events category drag: ...then look in the Data category and connect this underneath: ...but it should say Time instead of 'variable'. This code makes the time start at 0 when the game begins. 3. Now we need a loop that increases our variable called Time by 1 every second. First drag over a forever loop : Then place inside of it two blocks: Make sure it says Time instead of variable. Now press the green flag to see the timer go up. 1. In the Data section click on Make a Variable and give it an appropriate name like Restarts . This variable will count how many times we have touched a wall and had to start again. 2. Firstly, go back to the Scripts area for your character – click on the sprite of your main character in the bottom left then the Scripts tab. You need to add two blocks from the Data category: Change variable to Restarts and place it directly underneath the flag. Change variable to Restarts again and place this code directly after the 'go to ' block inside the loop. Now whenever you touch the wall you restart and it records it in the variable called Restarts. 6. Making Enemies Anchor 6 1. Select the fairy icon in the New sprite section to open the Scratch sprite library. 2. From the sprite library choose your enemy . I have selected the polar bear because it fits with my penguin. 3. Select the shrink tool at the top of the program and click on the enemy . Then drag them to where you want them to start . 4. Click on the sprite icon of your enemy then select the Scripts tab. Drag and connect two blocks: 5. From the Control category grab a: ...and place it after the ‘go to ‘ block. Now we will make our enemy glide from his start position to somewhere on our level again and again. Move the enemy to where you want it to go to then add: ...inside the forever loop. Drag another ‘glide ‘ block and place it underneath but change those co-ordinates to the same as the one underneath the the ‘when green flag clicked‘ block. This code makes the enemy move backwards and forwards forever. 6. Make your main character return to the start if they touch the enemy. Click on your main character sprite in the bottom left and then the Scripts tab. You need to copy the exact same code you made earlier to see if the main character is touching the wall , but this time you need to use: ...instead of the touching colour block. Click on the box in the block and select your Main Character . 7. New Levels Anchor 7 Coming Soon To be added soon. This concludes the walkthrough for a Scratch maze game! Try a combination of the suggestions below to add complexity to your game: Using ‘say ‘ or ‘think ‘ blocks in the Looks category to make your sprites say things at certain points (like at the start of a new level). Making your game harder by speeding up enemies in later levels (you could change the number of seconds it takes to glide ) Adding more enemies that only appear in harder levels. Setting a time limit – instead of having your time begin at 0 and increasing by 1 every second, have it start at 30 and decrease by 1 every second. Extensions Anchor 8
- 3.5 - Protocols - Eduqas GCSE (2020 spec) | CSNewbs
Learn about the different protocols used on networks - HTTP, HTTPS, TCP, IP, Ethernet, WiFi, FTP and SMTP. Based on the 2020 Eduqas (WJEC) GCSE specification. 3.5: Protocols Exam Board: Eduqas Specification: 2020 What is a protocol? A protocol is a set of rules that allow devices on a network to communicate with each other . TCP / IP is actually two separate protocols that combine together. TCP / IP (Transmission Control Protocol / Internet Protocol) TCP is a protocol that allows packets to be sent and received between computer systems. It breaks the data into packets and reassembles them back into the original data at the destination. IP is a protocol in charge of routing and addressing data packets . This ensures data packets are sent across networks to the correct destination . It is also an addressing system - every device on a network is given a unique IP address so data packets can be sent to the correct computer system. HTTP is used to transfer web pages over the Internet so that users can view them in a web browser . All URLs start with either HTTP or HTTPS (e.g. https://www.csnewbs.com). HTTPS is a more secure version of HTTP that works with another protocol called SSL ( Secure Sockets Layer ) to transfer encrypted data . You should see a padlock symbol in the URL bar if your connection to that website is secure. HTTP/HTTPS (Hypertext Transfer Protocol) Ethernet is a protocol for wired connections . Ethernet is used at both the data link and physical layers to describe how network devices can format data packets for transmission. WiFi is the main standard for wireless connections . WiFi is actually a brand name that uses a protocol called IEEE 802.11 . Another wireless standard is Bluetooth , for short-range data transfer. Connection Protocols Transfer Protocols FTP ( File Transfer Protocol ) is used to transfer files across a network. It is commonly used to upload or download files to/from a web server . SMTP ( Simple Mail Transfer Protocol ) is a protocol used to send emails to a mail server and between mail servers . Q uesto's Q uestions 3.5 - Protocols: 1. Describe each of the following protocols . It might be helpful to also draw an icon or small diagram for each one: a. TCP [ 2 ] b. IP [ 2 ] c. HTTP & HTTPS [ 3 ] d. WiFi (802.11) [ 1 ] e. Ethernet [ 2 ] f. FTP [ 2 ] g. SMTP [ 2 ] 2. State which protocol would be used in the following scenarios : a. Transferring a music file to a friend over the internet. [ 1 ] b. Sending an email to a family member in America. [ 1 ] c. Using a wireless connection to play a mobile game. [ 1 ] d. Using a webpage to enter a password securely. [ 1 ] e. Watching a video on YouTube. [1 ] 3.4 Network Hardware & Routing Theory Topics 3.6 - 7 Layer OSI Model









