Search CSNewbs
304 results found with an empty search
- 1.4 - Internet Connections | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about methods of wired and wireless connections to transmit data on the internet, including satellite and bluetooth. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 1.4 - Internet Connections Exam Board: OCR Specification: 2016 - Unit 2 The internet i s a global network of interconnected networks . There are multiple methods of connecting to the internet . Wired Connections Copper Cables Copper cables are a cheaper type of wired internet connection that may be poorly insulated and therefore susceptible to electromagnetic interference . Copper cables are more likely to suffer from attenuation (network distortion ). However, they are malleable (easier to bend) and less likely to break than other cables such as fibre optic. They have a lower bandwidth - cannot transmit as much data at once - than fibre optic cables. Fibre Optic Cables Fibre optic cables are a very fast but expensive type of wired internet connection. Signals are transmitted as waves of light through a glass tube. Because of this fibre optic cables are not affected by electromagnetic interference and suffer less from attenuation . Fibre optic cables have a higher bandwidth - can transfer more data at one time - than copper cables but they are more fragile . Wireless Connections Bluetooth Bluetooth is a temporary short-range communication between devices within a limit of about 10 metres . For example, Bluetooth can be used to transfer audio files from one smartphone to another. The close proximity is a disadvantage but no other hardware is required for a connection. Microwave Microwave connections use radio waves to send signals across a large area via microwave towers . It can transmit a large amount of data but antennas must be in the line of sight of each other with no obstructions . Microwave connections are affected by bad weather , leading to higher chances of attenuation (network distortion ). Satellite Satellite networks use point-to-multipoint communication by using satellites above the Earth's atmosphere that receive a transmission and rebroadcast them back to Earth. Because of the distance between the communication device and the satellite (roughly 45,000 miles), there is a delay between data transmission and it being received. GSM / 5G GSM (Global System for Mobile communications ) is a technology for allowing mobile phones to connect to a network for calls and text messages. Advances in mobile technology are classified by generations such as 4G and 5G (the current generation). Each generation is generally faster, more secure and allows for new opportunities. Connection Characteristics When connecting to the internet there are several characteristics that a user must consider: Strength Range Latency Bandwidth Storage Capacity Contention Latency is the delay when sending data across a network. Bandwidth is the maximum amount of data that can be sent across a network at once . Contention refers to whether a network is dedicated ( uncontended ) or shared between users ( contended ). Q uesto's Q uestions 1.4 - The Internet: 1. Compare the differences between copper and fibre optic cables (possibly in a table) by the following features: a. Price b. Bandwidth c. Interference d. Attenuation e. Malleability / Fragility [2 each ] 2. Describe each of the different types of wireless connection . Try to list 1 advantage and 1 disadvantage of using each type. a. Bluetooth b. Microwave c. Satellite d. GSM / 5G [5 each ] 3a. State the 6 characteristics of a network. [6 ] 3b. Describe what is meant by the following characteristics : i. Latency ii. Bandwidth iii. Contention [1 each ] 1.3 - Access & Storage Devices Topic List 1.5 - WWW Technologies
- 2.3 - Data States | F161 | Cambridge Advanced National in Computing | AAQ
Learn about the three data states - at rest, in transit (in motion) and in use. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 2.3 - Data States Watch on YouTube : Data States You need to understand the characteristics and uses of the three data states (at rest , in transit (in motion) and in use ) What You Need to Know Data States ? YouTube video uploading soon Q uesto's Q uestions 2.3 - Data States: 1. What? [2 ] 2. What? [1 ] 3. What? [1 ] 4. What? [1 ] ? D id Y ou K now? 2.2 - Data Flow Topic List 3.1 - APIs
- Python Editor | CSNewbs
A simple Python editor using the Skulpt and Code Mirror libraries. Learn how to create simple programs in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Simple Python Editor You can use this simple Python editor below to complete most of the tasks in the CSNewbs Python sections (except colorama and text files ). It includes basic libraries such as random and time . When you're ready, click 'Run Code ' to see the result in the output below . Python Homepage
- Python | 5e - More Libraries | CSNewbs
Learn how to use the math library and to refresh the screen (on some editors only). Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 5e - More Libraries Clear Screen Importing the os library and using the .system() command with the "clear" parameter will clear the screen . The console won't clear on offline editors like IDLE but will work with many online editors like Replit. import os print ( "Hello" ) os. system ( "clear" ) print ( "Bye" ) Bye Clear Screen Task ( Trivia Questions ) Ask three trivia questions of your choice to the user and clear the screen between each one. You should display the total they got correct after the third question - to do this you need to set a variable called correct to equal 0 at the start and then add 1 to correct each time a correct answer is given . Example solution: The Math Library The math libraries contains several commands used for numbers: sqrt to find the square root of a number. ceil to round a decimal up to the nearest whole number and floor to round down to the nearest whole number. pi to generate the value of pi (π ). The sqrt command will find the square root of a number or variable placed in the brackets and return it as a decimal number . from math import sqrt answer = sqrt(64) print (answer) 8.0 The ceil command rounds a decimal up to the nearest integer and the floor command rounds a decimal down to the nearest integer . from math import ceil, floor answer = 65 / 8 print ( "True answer:" , answer) print ( "Rounded up:" , ceil(answer)) print ( "Rounded down:" , floor(answer)) True answer: 8.125 Rounded up: 9 Rounded down: 8 The pi command generates a pi value accurate to 15 decimal places . Pi is used for many mathematical calculations involving circles . The area of a circle is pi x radius² . The first example below uses 5.6 as the radius . from math import pi radius = 5.6 area = pi * (radius * radius) print ( "The area of the circle is" , area) The area of the circle is 98.5203456165759 The example below uses an input to allow the user to enter a decimal (float ) number for the radius. It also uses the ceil command to round the area up . from math import pi, ceil radius = float(input( " Enter the radius: " )) area = pi * (radius * radius) print ( "The area of the circle is" , ceil(area)) Enter the radius: 2.3 The area is 17 Clear Screen Task ( Area of a Sph ere ) The formula of a sphere is 4 x π x r² where π represents pi and r is the radius . Use an input line to enter the radius and then calculate the area of the sphere . Round the answer down to the nearest integer using floor and print it. Example solution: Enter the radius: 7.1 The area of the sphere is 633 ⬅ 5d - Coloram a Section 5 Practice Tasks ➡
- 1.1 - The CPU | OCR A-Level | CSNewbs
Explains the components of the CPU, the different registers, buses, how the FDE cycle works, CPU performance factors, pipelining, Von Neumann architecture and Harvard architecture. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 1.1 - Structure and Function of the Processor Specification: Computer Science H446 Watch on YouTube : CPU components Registers Buses The FDE cycle CPU performance Pipelining Von Neumann vs Harvard Contemporary architecture The Central Processing Unit ( CPU ) is the most important component in every computer system. The purpose of the CPU is to process data and instructions by constantly repeating the fetch-decode-execute cycle . In this cycle, instructions are fetched from RAM and transferred into the registers of the CPU to be decoded and executed . CPU Components The CPU has three key components : The control unit directs the flow of data and instructions inside the CPU and manages the FDE cycle , especially decoding instructions . The arithmetic logic unit ( ALU ) performs all arithmetic calculations and logical operations inside the CPU . Registers are small , ultra-fast storage locations that temporarily hold data , instructions or addresses during processing . The CPU also contains cache memory , which is temporary storage space for frequently accessed data . Registers A register is a small storage space for temporary data , instructions or addresses in the CPU . Each register has a specific role in the FDE cycle : The Program Counter ( PC ) stores the memory address of the next instruction to be fetched from RAM . The Memory Address Register ( MAR ) stores the memory address currently being accessed , which may be an instruction or data . The Memory Data Register ( MDR ) stores the data that is transferred from RAM to the CPU . The Current Instruction Register ( CIR ) stores the instruction that has been fetched from RAM . The Accumulator ( ACC ) stores data currently being processed and the result of calculations or logical operations made by the ALU . Buses Data and signals are transmitted between components across internal connections called buses . There are three types of computer bus : The data bus transmits data and instructions between the CPU , memory and other components such as input/output devices . It is bidirectional (data is sent both ways ). The address bus transmits the location in memory that the CPU is accessing . It is unidirectional (one-way ) from the CPU to RAM . The control bus transmits control signals (e.g. 'read ' or 'write ') from the CPU to coordinate other components . It is bidirectional . The FDE Cycle In the Fetch Decode Execute (FDE ) cycle , instructions are fetched from RAM , then decoded (understood) and executed (processed) in the CPU . This cycle is performed by the CPU millions of times every second using the registers and buses explained above. This cycle is how the CPU processes data and instructions for each program or service that requires its attention . CPU Performance The performance of the CPU is affected by three main factors : Clock speed is t he number of cycles per second , so a higher clock speed means more instructions can be executed per second . The number of cores is important as more cores allow a CPU to carry out multiple instructions simultaneously , improving multitasking and parallel processing . Cache memory is small and very fast memory inside the CPU that stores frequently used instructions , reducing the time needed to access RAM . Pipelining Pipelining is the concurrent processing of multiple instructions . An instruction can be fetched while another is decoded and another is executed . This overlapping of instructions increases the overall speed of program execution . Computer Architecture Computer architecture refers to the design and organisation of a system’s components and how they interact . There are two types of architecture to know: Von Neumann architecture uses a single main memory (RAM ) that stores both program instructions and data . This means instructions and data travel along the same buses , which can cause a bottleneck (congestion ). Harvard architecture separates the storage of program instructions and data into two different memory locations . This allows instructions and data to be fetched at the same time , improving performance . You also need to know about c ontemporary (modern) architecture , which includes features such as onboard ( integrated ) graphics , performance boosting mode , out-of-order execution and virtual cores . Q uesto's K ey T erms Components of the CPU: control unit (CU), arithmetic logic unit (ALU), registers, cache memory Registers: program counter (PC), memory address register (MAR), memory data register (MAR), current instruction register ( CIR), accumulator (ACC) Buses: data bus, address bus, control bus, unidirectional, bidirectional FDE Cycle: fetch stage, decode stage, execute stage CPU Performance: clock speed , number of cores , cache memory Pipelining: pipelining Computer architecture: Von Neumann, Harvard, contemporary D id Y ou K now? The Apollo Guidance Computer ( AGC ) for NASA's Apollo 11 mission , when humans first set foot on the moon , had a CPU clock speed of about 1 megahertz - slower than many GCSE-level calculators used today. A-Level Topics 1.2 - Types of Processor
- Python | 7a - Procedures | CSNewbs
Learn how to create and use procedures in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 7a - Procedures Subroutines A subroutine is a section of code that can be re-used several times in the same program. It is separate from the main code and has to be ‘called’ upon. Subroutines are designed to be repeated, and they have three key benefits: Subroutines make programs easier to read . They reduce the duplication of code . Complex problems are broken down into smaller chunks . There are two types of subroutines: procedures and functions . A procedure just executes commands , such as printing something a certain number of times. A function produces information by receiving data from the main program and returning a value to the main program. For example, a function could take the radius of a sphere from the main program, calculate a sphere’s area and return the value of the area to the main program. A function generally requires parameters to work – these are the values to be transferred from the main program to the subroutine. Procedures A procedure i s a type of subroutine that runs independently of the main program . A subroutine must be defined at the top of the program before the main code by typing def and the name of the subroutine . In the example below I have created a procedure to calculate the multiplication of two numbers and a separate procedure for the division. The main program starts beneath the subroutines , against the left side of the editor. I have created a while true loop that asks the user if they want to multiply, divide or stop the program. If they choose to multiply, the multiply subroutine is called . This initiates that subroutine then returns to the main program when it is complete. If they choose to divide, the divide subroutine is called instead. Typing stop will break (end) the loop. Here you can see the two parts of the program put together. Subroutines must be written first , with the rest of the program underneath. Subroutines can be called in any order . Below I have run the program and divided then multiplied before breaking the loop: Practice Tasks 1 1. Create a procedure called hello that just prints “Hello there! ”. In the main program create a for loop that calls the procedure 10 times. You must use a procedure. 2. Create a program with two procedures. The addition procedure allows the user to add two numbers together. The subtraction procedure allows the user to take a number away from another. Use a while true loop in the main program and a break to stop the loop. Example solution for #1: Local & Global Variables Programming languages use local variables and global variables . A global variable can be used anywhere in the program . A local variable can only be used in the subroutine it is created in . I have adapted the multiply / divide program below to use global variables by stating the global command and the name of the variables in each subroutine. This allows me to ask the user to enter numbers in the main program. Practice Tasks 2 1. Adapt your addition / subtraction program from the first practice task section to use global variables. 2. Create a program that asks the user to enter their name in the main program. Call a subroutine that greets the user using the name variables. You must use a procedure and a global variable . Example solution for #2: ⬅ Section 6 Practice Tasks 7b - Functions ➡
- Python | Section 4 Practice Tasks | CSNewbs
Test your understanding of selection (if statements) and operators (mathematical and logical). Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 4 Practice Tasks Task One: Spanish Numbers Create a very simple Spanish translation program. Let the user enter a number between one and four then print the Spanish word for that number using if , three elif s and else . One in Spanish is uno , two is dos , three is tres and four is cuatro . If they enter anything else print “I only know 1 to 4 in Spanish!” . Example solutions: Enter a number between 1 and 4: 3 tres Enter a number between 1 and 4: 5 I only know 1 to 4 in Spanish! Task Two: School Trip A school is organising a trip to Alton Towers . The coaches they are hiring can fit 45 people . Enter the total number of people going on the trip and work out how many coaches will be full (using integer division ) and how many people will be left over on a partly full coach (using modulo division ). Example solutions: How many people are going on the trip? 100 There will be 2 full coaches and 10 people on another coach. How many people are going on the trip? 212 There will be 4 full coaches and 32 people on another coach. Task Three: Driving Tractors There are different rules in the United Kingdom for what farmers at certain ages can drive . Ask the user to input their age and then output the relevant information below: Children under 13 cannot drive any tractors. A trained and supervised 13 to 15 year old can drive a low-powered tractor on private flat grass. 16 year olds with a provisional category F licence can drive tractors less than 2.45 metres wide. Young adults from 17 to 20 with the correct licence and training c an drive tracked vehicles that weigh less than 3,500kg. Adults over 21 years old , with the correct licence and training, can drive all types of tractor. Note: Always be safe around machinery in farms regardless of your age. Driving without adequate training and a licence is illegal. Example solutions: How old are you? 8 You cannot drive any type of tractor. How old are you? 13 If you are trained and supervised you can drive a low-powered tractor on private flat grass. How old are you? 19 With the correct licence and training you can drive tracked vehicles that weigh less than 3,500kg. Task Four: Avoid the Three Choose a category like planets , people in your class or months of the year. Secretly choose three of them . Ask the user to enter a word in your category. If they enter one of the three that you chose, they lose . Example solutions: I have secretly selected three months you must avoid! Enter a month of the year: April AHA! You chose one of the secret months, you lose! I have secretly selected three months you must avoid! Enter a month of the year: December Well done, you didn't choose one of my three! ⬅ 4c - Logical Opera tors 5a - Random ➡
- 5.1.2 - Types of Device | F160 | Cambridge Advanced National in Computing AAQ
Learn about different types computers such a desktops, games consoles, laptops, smart speakers, smart TVs, smartphones, tablets, augmented reality (AR), virtual reality (VR) and mixed reality (MR) devices. 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) 5.1.2 - Types of Device Watch on YouTube : Types of Device Applications can be developed for a range of different devices , each type of device having its own characteristics and common uses . The characteristics of popular devices, such as laptop and tablets , may be well known, but ensure you know the difference between augmented reality ( AR ), virtual reality ( VR ) and mixed reality ( MR ) devices. Types of Device Common Devices Desktops are powerful and customisable personal computers designed for use at a desk . Game consoles are designed specifically for playing video games , usually connected to a TV . Laptops are portable computers with a built-in screen and keyboard , suitable for work on the go . Smart speakers are voice-controlled devices that play music , answer questions and can control smart home gadgets . Smart TVs have internet access , interactive features and apps for streaming and browsing . Smartphones have internet , GPS and Bluetooth connectivity , apps and communication functions . Tablets use a touchscreen larger than a phone, they are more portable than a laptop and good for browsing and media . Augmented Reality (AR ) is technology that overlays digital images or information onto the real world . Virtual Reality (VR ) uses a computer-generated 3D environment that fully immerses the user , usually with a headset . Mixed Reality (MR ) is a blend of AR and VR where digital objects interact with the real world in real time . Q uesto's Q uestions 5.1.2 - Types of Device: 1. Explain the difference between the three types of 'reality ' devices . [3 ] 2. Justify which devices a streaming service should consider for an app . [4 ] 3. Describe the characteristics of any devices not covered in your responses to Q1 and Q2 . [ 5 ] The AR app Pokémon Go was so popular when it released in 2016 that within the first 6 months players had walked a combined 8.7 billion kilometres ( 200,000 trips around the Earth ). D id Y ou K now? 5.1.1 - Human-Computer Inter. Topic List 5.2 - Visual Design Considerations
- 3.4 - Web Technologies | OCR A-Level | CSNewbs
Learn about HTML, CSS, JavaScript, search engine indexing, the PageRank algorithm and client-side and server-side processing. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 3.4 - Web Technologies Specification: Computer Science H446 Watch on YouTube : HTML CSS JavaScript Search engine indexing PageRank algorithm Server-Side & Client-Side Processing This topic looks at the languages that web pages are comprised of (HTML , CSS and JavaScript ) as well as search engines and network processing (client-side and server-side ). HTML HTML ( HyperText Markup Language ) is the standard language used to create and structure web pages . It uses tags enclosed in angle brackets to define elements on a page . A web page begins with , which contains a section for metadata , links and the
- OCR CTech IT | Unit 1 | 2.7 - Protocols | CSNewbs
Learn about the different protocols used to transfer data across a network, including TCP/IP, FTP, SMTP and Ethernet. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.7 - Protocols Exam Board: OCR Specification: 2016 - Unit 1 What is a protocol? A protocol is a set of rules that allow devices on a network to communicate with each other . Protocols to Transfer Data: TCP / IP / UDP TCP ( Transmission Control Protocol ) breaks data down into small packets to be transferred across a network and reorders them back into the original data at the destination . TCP checks for errors when sending data packets, which makes it slower than UDP for data transfer, but it guarantees that no packets have been lost on the way. IP ( Internet Protocol ) is in charge of routing and addressing data packets to ensure data is transferred across networks to the correct destination . It is also an addressing system - every device on a network is given a unique IP address . TCP and IP are often used together to transfer data across the internet. UDP ( User Data Protocol ) is a faster alternative to TCP for transferring data. It is used where low latency ('low lag') is important, such as online gaming and video chat . However, UDP does not automatically check for errors so packets are more likely to be lost or received out of order . HTTP is a protocol that can be used to transfer web pages on the world wide web 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 (Hyper Text Transfer Protocol) FTP (File Transfer Protocol) FTP ( File Transfer Protocol ) is used to transfer files across a network. It is used most often to upload or download files to/from a file server . ICMP ( Internet Control Message Protocol ) collects network status information (such as router errors) and is used for troubleshooting . SNMP ( Simple Network Management Protocol ) is a protocol that records network statistics , such as router usage . Network Management Protocols Email Protocols SMTP ( Simple Mail Transfer Protocol ) is a protocol used to send emails to a mail server and between mail servers . POP ( Post Office Protocol ) is for downloading and storing emails from a mail server. TCP/IP Protocol Stack The TCP/IP protocol stack is a model split into 4 layers . The model is used to visualise the different parts of a network as each of the four layers has a specific role . Splitting a network design into layers is beneficial to programmers as it simplifies design , making it easier to modify and use . Each layer has a certain purpose and is associated with different protocols . 4 Allows humans and software applications to use the network e.g. browsers (HTTP /HTTPS ), email (SMTP / POP ), file transfer (FTP ) and network management (SNMP ) applications. 3 TCP breaks the data down into data packets . This layer makes sure the data is sent and received in the correct order and reordered at the destination without errors. UDP can also be used for faster , but less reliable , data transfer . 2 The network layer is also known as the ' Internet Layer '. IP is responsible for addressing and routing data packets . The optimal route for the data to take is calculated in this layer. ICMP may be used here for network monitoring . 1 This layer handles transmission errors and passes data to the physical hardware such as routers . It also sets out the final format of data packets . Q uesto's Q uestions 2.7 - Protocols: 1. Describe each of the following protocols . Also, state the protocol's full name and draw an icon or diagram for each: a. TCP b. IP c. UDP d. HTTP & HTTPS e. FTP f. ICMP g. SNMP h. SMTP i. POP [1 each ] 2. State which protocol would be used in the following scenarios: a. Transferring a music file to a friend over the internet. b. Sending an email to a friend in Japan. c. Checking for errors on a network. d. Having a video call with a colleague in London. e. Receiving an email from the bank. f. Watching a video on YouTube. g. Checking the statistics of usage on a network [1 each ] 3. Summarise each layer of the TCP/IP stack and identify the protocols used in each layer . [ 8 ] 2.6 - Software Troubleshooting Topic List 3.1 - Server Types
- 4.3 - Binary Calculations - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about how to perform binary addition and binary subtraction. Based on the 2020 Eduqas (WJEC) GCSE specification. 4.3: Binary Calculations Exam Board: Eduqas Specification: 2020 What are binary calculations? Binary addition and binary subtraction are methods of adding or subtracting binary values without having to convert them into denary. How to add binary numbers: How to subtract binary numbers: Overflow & Underflow Errors Overflow and underflow errors occur when there is not enough space to accurately represent a binary number in the bits available . What is an overflow error? An overflow error occurs when a binary value is too large to be stored in the bits available . In technical terms, an overflow error occurs if a carry (remainder) is present on the most significant bit (MSB ). The CPU then sets the overflow flag to true . The most significant bit (MSB ) is the largest bit (always the one furthest to the left ) of a binary value (e.g. 128 for an 8 bit value). A flag is an alert signal . It is either on or off. The overflow flag is turned on by the CPU when an overflow occurs. What is an underflow error? An underflow error occurs when a number is too small to be stored in the bits available . The value is too close to 0 to be accurately represented in binary. Q uesto's Q uestions 4.3 - Binary Calculations: 1a. Describe the terms ' most significant bit ' and ' flag '. [ 2 ] 1b. Using the terms from 1a , explain what an overflow error is. [ 2 ] 1c. Describe what is meant by an underflow error . [ 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 ] 3. Subtract the following binary values; put the first value on top of the second value: a. 100110102 and 000110002 [2 ] b. 110110112 and 010111012 [2 ] c. 011101102 and 011010112 [2 ] d. 110110112 and 010101112 [2 ] e. 111011012 and 110101102 [2 ] Watch on YouTube Watch on YouTube 4.2 Signed Binary Theory Topics 4.4 - Arithmetic Shift
- 1.2 - Designing Algorithms - OCR GCSE (J277 Spec) | CSNewbs
Learn about designing algorithms including constructing pseudocode and flowcharts. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR 1.2: Designing Algorithms Specification: J277 Watch on YouTube : Inputs, Processes & Outputs Structure Diagrams Pseudocode Flowcharts Writing Code in Exams Trace Tables 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 are pseudocode and flowcharts . In exams , OCR will display algorithms in their own 'OCR Exam Reference Language '. Visit the Python section of CSNewbs ---> OCR Exam Reference Language Below is a list of all of the code concepts from the OCR J277 GCSE specification that you need to know , presented in OCR Exam Reference Language (OCR ERL ), which is how code will be presented in the paper two exam . The code below is NOT Python . There are several differences between OCR ERL and real high-level languages like Python or Java , especially in the 'String Handling ' section and with for loops . In an exam, you can write in OCR ERL or a programming language you have learnt. All code-related videos in the CSNewbs YouTube series for Paper 2 show both OCR ERL and Python side-by-side . Basic Commands Annotation // Comments are written using two slashes Assignment name = "Harold" age = 49 Constants and Global Variables constant tax = 15 global name = "Admin" Input / Output name = input ( "Enter your name") print ("Transaction Complete") Casting str (29) int ("102") float (30) bool ("False") Random Number number = random (1,100) Selection Selection (if - then - else) if firstname == "Steven" then print("Hello" + firstname) elif firstname == "Steve" then print("Please use full name") else print("Who are you?") end if Selection (case select) switch day: case “Sat”: print(“It is Saturday”) case “Sun”: print(“It is Sunday”) default : print(“It is a Weekday”) endswitch Iteration Iteration (for loop) for i = 1 to 10 step 1 input item next i Iteration (while loop) while firstname ! = "Steven" firstname = input("Try again:") endwhile Iteration (do while loop) do firstname = input("Guess name:") until firstname == "Steven" String Handling Length of a String word = "dictionary" print(word.length ) outputs 10 Substrings word = "dinosaurs" print(word.substring (2,3)) outputs nos print(word.left (3)) outputs din print(word.right (4)) outputs aurs Concatenation name = "Penelope" surname = "Sunflower" print(name + surname) String Cases phrase = "The Cat Sat On The Mat" print(phrase .lower ) print(phrase .upper ) ASCII Conversion ASC ("C") returns 67 CHR (100) r eturns "d" File Handling File Handling - Reading Lines file1 = open ("Customers.txt") while NOT file1.endOfFile() print(file1.readLine() ) endwhile file1.close() File Handling - Writing to a (New) File newFile ("paint.txt") file2 = open ("paint.txt") paint = input("Enter a paint colour:") file.writeLine (paint) file2.close() Arrays Declare Array array names[3] array names = "Ella", "Sam", "Ali" Declare 2D Array array grid[4,5] Assign Values names[2] = "Samantha" grid[1,3] = "X" More Programming Keywords Connecting strings together using the + symbol is called concatenation . Extracting certain parts of a string (e.g. using .substring() ) is called slicing . An if statement within an if statement or a loop within a loop is called nesting . Flowcharts A flowchart can be used to visually represent an algorithm. It is more likely you will need to be able to interpret a flowchart rather than draw one. The flowchart symbols are: The terminator symbol is also known as a terminal . 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 // This is a program to see how many items you can buy in a supermarket before you spend over £100} total = 0 itemsentered = 0 while total < 100 itemprice = input ("enter the price of the next item") total = total + itemprice itemsentered = itemsentered + 1 endwhile if itemsentered >= 20 then print ("You are on your way to saving money.") elif itemsentered => 30 then print ("You're a real money saver.") else print ("Look for better deals next time.") endif Flowchart 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: procedure NewProgram() maxvalue = input() for i = 1 to maxvalue output (i * i) ??????? print("program finished") endprocedure 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 Structure Diagrams Structure diagrams display the organisation (structure ) of a problem in a visual format , showing the subsections to a problem and how they link to other subsections . The noughts and crosses structure diagram below has subsections in light yellow. Each subsection could be coded by a different person . Structure diagrams are different to flowcharts (those show how data is input, processed and output within a program or system). You may be asked in an exam to draw or fill in a simple structure diagram . Trace Tables Trace tables are used to track the value of variables as a program is run . They can be used to manually track the values in order to investigate why the program isn't working as intended . Each row in the trace table represents another iteration . Each column stores the value of a variable as it changes. See below how the trace table is updated for the simple algorithm on the left. num1 = 2 num2 = 5 for i = 1 to 3 output (num1 + num2) num2 = num2 - 1 next i print("complete") For most algorithms, not every variable will be updated in each iteration . Values may not be entered in the order of the trace table either. For example, each iteration outputs num1 + num2 and then decreases the value of num2 by 1. Q uesto's Q uestions 1.2 - Designing Algorithms: 1. What is the definition of an algorithm ? Name two ways an algorithm can be designed . [ 3 ] 2. Using a high-level programming language such as Python , or the OCR Exam Reference Language , write an algorithm that inputs 6 decimal numbers and outputs the total , largest , smallest and average values. [ 8 ] For example, entering 3.1 , 5.3 , 2.3 , 5.4 , 2.9 and 4.4 would output 23.3 (total), 5.4 (largest), 2.3 (smallest) and 3.9 (average). 3. Draw and label the flowchart symbols . [ 6 ] 4. What is the purpose of a structure diagram ? [ 2 ] 5. Create a trace table for the NewProgram() algorithm in the Reading Algorithms section on this page. [ 7 ] 1.1 - Computational Thinking Theory Topics 1.3 - Searching & Sorting






