Search CSNewbs
Search this site
304 results found with an empty search
- 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 ➡
- 3.6 - 7 Layer OSI Model - Eduqas GCSE (2020 spec) | CSNewbs
Learn about networking standards and the seven layers of the Open Systems Interconnected (OSI) model - Application, Presentation, Session, Transport, Network, Data Link and Physical. Based on the 2020 Eduqas (WJEC) GCSE specification. 3.6: 7-Layer OSI Model Exam Board: Eduqas Specification: 2020 What are networking standards? Networking standards are rules that allow computer systems to communicate across networks . Standards have been created to ensure devices can exchange data and work together . What is the 7-layer OSI Model? The OSI ( Open Systems Interconnection ) model is split into 7 layers . The model is used to visualise the different parts of a network as each of the seven 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 . The seven layers are explained below: 7 Allows humans and software applications to use the network e.g. browsers (HTTP /HTTPS ) and email (SMTP ) and file transfer (FTP ). 6 The purpose of the presentation layer is to display data in a standard format that other devices can accept and understand . 5 The session layer establishes a connection between computers allowing data to be sent between them. Data can be synchronised in each session to allow for efficient data transfer . 4 TCP breaks the data down into data packets . This layer makes sure the data is sent and received in the correct order and reassembled at the destination without errors. 3 IP is responsible for addressing and routing data packets . The optimal route for the data to take is calculated in this layer. Also known as the 'Internet Layer '. 2 Ethernet sets out the format of data packets . This layer handles transmission errors and passes data to the physical layer . 1 This layer converts the data packets into bits so they can be transferred across a physical connection using routers and switches . Q uesto's Q uestions 3.6 - 7-Layer OSI Model: 1a. What are networking standards ? [ 2 ] 1b. Describe why network designs are split into layers . [ 2 ] 2. Create a diagram similar to the one above and describe each layer of the OSI Model. [ 14 ] 3. Look at the statements below and name the layer that is being described: a. This layer ensures data packets are sent and received correctly. b. This layer checks for errors in transmission and sets out the data packet format. c. This layer displays data in a format that can be understood. d. This layer allows software like web browsers to interact with the network. e. This layer transfers bits across a connection using routers. f. This layer establishes a connection between computer systems. g. This layer uses addresses to ensure data packets take the correct route. [ 7 ] 3.5 - Protocols Theory Topics 3.7 - The Internet
- Python | Extended Task 5 | 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 5 Collection of Colours A new paint company , 'Sparkle and Shine Paint Schemes ' needs a program that can manage the different colours they sell to customers. They currently have a file with many different colours and want a program made with features to add, remove and list the different colours . 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 to create a selection of options for the user to choose from. Subroutines and a while true loop may help. Section 10 will help you to open, write and read from files . Section 10c shows how to remove lines from a file. 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: Use a menu to select the different options using a command word. Download the colours file: Selecting Total will list the number of colours in the file. This should change whenever a new colour is added or one is removed . Selecting Add will allow the user to enter the name of a new colour to be added to the file . Selecting Letter will allow the user to enter a letter . All colours beginning with that letter should be displayed . Selecting Remove will allow the user to enter a colour to be removed from the file . Selecting Random will display a random colour from the file. Selecting End will stop the program. ⬅ Extended Task 4 (Vet Surgery) Extended Task 6 (Word Game) ➡
- 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
- Expansion Cards | Key Stage 3 | CSNewbs
Learn about two important expansion cards that can be connected to the motherboard - graphics cards and sound cards - and how they work. Expansion Cards PCI slots What are expansion cards? Expansion cards are additional components that you plug into the motherboard’s expansion slots to add or enhance features . The slots are called PCI (on older computers ) or PCIe (on newer models ). Common types are graphics cards (video ), sound cards (audio ), network cards (internet ) and capture cards (streaming ). Graphics Card A graphics card processes images , videos and 3D graphics so they look smooth and realistic . It is used for gaming , video editing , 3D modelling and Virtual Reality (VR ). It has its own processor - the Graphics Processing Unit (GPU ) - and dedicated memory (VRAM ), so it doesn’t overload the CPU or RAM . Modern graphics cards can also handle tasks like artificial intelligence (AI ) and bitcoin mining . Graphics cards usually have a cooling system, like a fan , so it doesn't overheat. The graphics processing unit ( GPU ) is a chip that renders images and video. The graphics card has ports such as HDMI or DisplayPort to connect monitors or TVs. The PCIe connector allows the graphics card to slot onto the motherboard. Sound Card The DAC ( Digital-to-Analogue Converter ) converts digital data (1s and 0s) from the computer into analogue sound waves for speakers/headphones. The ADC ( Analogue-to-Digital Converter ) converts analogue input (like voice from a microphone) into digital data the computer understands. Jacks are small round sockets where you plug in audio devices like headphones, microphones, or speakers. The PCIe connector allows the sound card to slot onto the motherboard. A sound card improves the quality of audio input/output compared to the motherboard’s built-in sound . They are not needed by most users , because of the motherboard's built-in sound , but they are used by music production , gaming or professional audio work . It can support surround sound systems , high-quality microphones , and musical instruments using jacks (audio ports ). Integrated cards Built directly into the motherboard . Cheaper , uses less power and is good enough for basic tasks (e.g. web browsing , watching videos and office work ). Shares the computer’s RAM and processor (CPU ) instead of having its own . An example is integrated graphics on a laptop for browsing and schoolwork . Dedicated cards These are separate expansion cards (e.g. graphics card or sound card ) to connect to the motherboard 's PCIe slots . They usually have their own processor and memory (e.g. GPU & VRAM for graphics ). Much more powerful , ideal for gaming , video editing , 3D design or professional audio . Uses more power and costs more . KS3 Home
- 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
- 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 ➡
- HTML Guide 7 - Head Tags | CSNewbs
Learn about the tags in the head section of an HTML document including the title and meta tags. 7. Head Tags HTML Guide Watch on YouTube: Remember that all HMTL documents are split into the head and the body. The following tags must be typed inside of your head tags . title Title The title is not the main heading. The title is the page title itself that you can see at the tab at the top of your web browser. Add a title to your web page. metadata Metadata Metadata is information about the web page itself. This commonly includes data about the author, the page's contents and any keywords. Metadata will not appear on the actual web page . Add meta data tags between your head tags for author, keywords and a description. The meta tag is made up of a name and content . Author represents who created the web page. Keywords are commonly used words. Description is used for displaying search engine results (such as a Google search). Next it is time to embed YouTube videos into your web page. 6. Organisation Tags HTML Guide 8. Videos
- OCR CTech IT | Unit 1 | 2.1 - Software Types | CSNewbs
Learn about the advantages and disadvantages of different types of software including open-source, closed-source, off-the-shelf and bespoke. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.1: Software Types Exam Board: OCR Specification: 2016 - Unit 1 Software refers to the programs and applications that run on a computer system. Open Source Software Source code is the software code written by programmers . If the software is open source it means that users can view and modify the code . Linux, Python and Firefox are examples of open source software. Benefits Drawbacks Because the source code is available to edit , it can be customised to the organisation's needs . Often shared in the public domain so users can work together to modify, debug and improve a product. Unwanted features can be removed to make the software run faster . There are security risks - some editors may add malicious code to the program. Open source software is often low in price and sometimes free. It may be difficult to receive support as development is often distributed between people in different locations. The code may be prone to errors as it may not have been tested fully. It requires technical skills to be able to adapt source code efficiently and to maintain the code . Closed Source Software If the software is closed source it means the code is restricted for users to view or modify . You buy the right to use the software but you don't actually own it. Microsoft Office, Fortnite and Spotify are examples of closed source software. Closed source software is also known as proprietary software because it is another company's property and protected by law. Benefits Drawbacks The code is well tested and has been professionally developed. Updates will generally be secure . Users must rely on the company to provide updates and fix issues. This might be infrequent or stop completely. The company can be held to account if it does not perform as listed in the terms and conditions upon purchase. Often not free (see Freeware below for free closed source software). Most developers will provide some form of help/support . Users cannot modify, debug or improve the code for their own benefit. Off-the-Shelf Software This is any software made for general use , with features that can be used in different ways and for different purposes . Examples include office software (e.g. Microsoft Office), video games (e.g. Minecraft) and image editors (e.g. Adobe PhotoShop). Back before internet downloads, people had to actually go to shops and buy software off the shelf and install it at home, hence the name. Benefits Drawbacks Should have been tested thoroughly so users can be confident that features will work as expected . Secure updates will be regular. It can be expensive to purchase some software , especially for a single user rather than a business. Some software, such as anti-virus protection, requires yearly licenses . It can be cheaper to purchase than bespoke software as it is not customised for a specific user or organisation. The software may contain additional features that the user / organisation doesn’t need which can reduce the performance of the system. The end users might be familiar with the software and trust the company (e.g. Microsoft Word). Bespoke Software This is any software that has been custom made for a specific organisation or user. For example, programmers might be hired by a company to create software for a specific task. Hospitals and schools use bespoke software to track and manage patients / students. It can be expensive to commission bespoke software as programmers and user interface designers need to be hired and there could be issues with rights to any created software. Benefits Drawbacks The software is built to the company's requirements , it is unique to their needs. Unwanted features can be removed to make the software run faster . Bespoke software is expensive to develop because it is tailor-made for the company. Staff may require training on using the system because it is unique . The look of the software (e.g. design & layout ) can be customised to fit the company's image. Because it has been custom-made, the original programmers may be needed to maintain the software and fix errors . Shareware This software allows the user to trial the program for a limited time before forcing them to buy the product or stop using it. For example, WinRAR is utility software that asks the user to buy the full version after 40 days. This allows the user to get a taste of what the software offers before choosing whether to buy it fully or not . Freeware This is software that is freely available to download and use . These are usually closed-source software that earn money through adverts or additional purchases. Rights to the software remain with the author despite the free access. App developers may release their app as freeware to allow users to try the software and then encourage them to purchase a full version with more features. Unlike shareware, the user should be able to keep using the product for free indefinitely, though their version may have features restricted or adverts enabled. Examples of freeware software include iTunes , Clash of Clans and Adobe Acrobat Reader (for PDFs). Embedded Software An embedded system is when a smaller computer system is installed within a larger device , such as a washing machine, traffic light or car. Embedded systems have a dedicated purpose and often run in real-time . Because of the small size, the embedded software will usually have memory and storage restrictions . Q uesto's Q uestions 2.1 - Software Types: 1. Describe the 7 types of software , listing the advantages and disadvantages of each. a. Open Source b. Closed Source c. Off-the-Shelf d. Bespoke e. Shareware f. Freeware g. Embedded [6 each ] 1.8 & 1.9 - Number Systems Topic List 2.2 - Applications Software
- 3.1a - Network Types & Performance - OCR GCSE (J277 Spec) | CSNewbs
Learn about the factors that affect the performance of networks, as well as different types of network types such as LAN and WAN. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 3.1a: Network Types & Performance Exam Board: OCR Specification: J277 Watch on YouTube : LAN & WAN Network Performance Client-Server Network Peer-to-Peer Network Star Topology Mesh Topology What is a network? A network is more than one computer system connected together allowing for communication and sharing of resources . Network Types Networks can be split into different types , usually categorised by their geographical distance apart and the area that they serve. Local Area Network Wide Area Network Client-Server Network Clients make requests to a server , the server manages that request and responds. For example, if the user (client) makes a request to access www.bbc.co.uk to a web server. Large services like Amazon and Google will need very powerful servers to handle millions of requests a second. The client is completely dependent on the server to provide and manage the information. The server controls network security , backups and can be upgraded to manage higher demand. Advantages: The network can be controlled centrally from the server to easily backup data and update software . Hardware, software and resources can be shared across the network, such as printers, applications and data files . The network allows for improved scalability , meaning more clients can be easily added to the central server . Disadvantages: Large amounts of traffic congestion will cause the network to slow down . If a fault occurs with the server then the whole network will fail . IT technicians may be required to manage and maintain the network . Malware , such as viruses, can spread quickly across the network. Peer-to-Peer Network For peer-to-peer networks , data is shared directly between systems without requiring a central server . Each computer is equally responsible for providing data. Peer to peer is optimal for sharing files that can then be downloaded. Disadvantages: Without a dedicated server there is no central device to manage security or backups . Backups must be performed on each individual system. Computer performance will decrease with more devices connected to the network, especially if other machines are slow. Advantages: This is a simpler network than client-server to set up as no server is required . Clients are not dependent on a server . Perfect for quickly sharing files between systems , such as downloading media files. A local area network (LAN ) has computer systems situated geographically close together , usually within the same building or small site , like a school or office . The network infrastructure of a LAN (such as servers and routers) is usually owned and managed by the network owner . A wide area network (WAN ) has computer systems situated geographically distant to each other, possibly across a country or even across the world . WANs often use third party communication channels , such as connections by internet services providers like BT or Virgin Media. Data Packets When sending data across a network, files are broken down into smaller parts called data packets . Whole files are too large to transfer as one unit so data packets allow data to be transferred across a network quickly . Each packet of data is redirected by routers across networks until it arrives at its destination. Data packets may split up and use alternative routes to reach the destination address. When all the packets have arrived at the destination address the data is reassembled back into the original file. What is a network topology? Network topology refers to layout of computer systems on a local network . Devices in a network topology diagram are often called 'nodes' . Two types of typology are star and mesh . Star Topology Each computer system is connected to a central device , usually a hub or switch . How it works: Each computer system is connected to the central hub or switch and transfers its data packets there. The hub or switch looks at the destination address and transfers the packets directly to the intended computer. Advantages: A star topology has improved security because data packets are sent directly to and from the hub / switch in the centre and not necessarily all devices like in a bus or ring topology. New systems can be attached directly to the central system so the network doesn't need to be shut down . System failures of attached computers won't usually cause complete network failure. Transfer speeds are generally fast in a star topology as there are minimal network collisions . Disadvantages: Extra hardware (the hub or switch) is required to be purchased, installed and maintained. If the central system (the hub or switch) fails then the whole network will be unusable until the error is fixed. Mesh Topology In a full mesh network, each computer system is connected to every other computer system . There is also a partial mesh network where only some nodes (e.g. a printer) are connected to every other node. How it works: Data packets are transferred to the destination address along the quickest path , travelling from node to node. If a pathway is broken , there are many alternative paths that the packets can take. Advantages: If one cable or system fails then data packets can take an alternative route and still reach the destination address. Because of the large possible number of systems and connections, a mesh topology can usually withstand large amounts of data traffic . New systems can be added to the network without disrupting the entire topology . Disadvantages: Because of the possibly large amount of cables required (especially in a full mesh topology) this network layout can be expensive to install and maintain . Redundant cabling should be avoided - this is when cables are connected between systems that won't ever need to communicate . Performance There are several different factors that can affect the performance ( speed ) of a network, such as: The bandwidth available * Interference (e.g. thick walls) Number of users at the same time Distance to travel / signal strength Number of data collisions Amount of data to transfer * Bandwidth is the maximum amount of data that can be sent across a network at once . Q uesto's Q uestions 3.1a - Network Types & Performance: 1a. Describe the difference between a LAN and WAN . [2 ] 1b. Give an example of how a LAN and a WAN could each be used . [ 2 ] 2 a. Describe how peer-to-peer networks and client-server networks function. 2b. Give one use for both types of network. 3. Draw and label diagrams of client-server , peer-to-peer , star and mesh networks. [8 ] 4. An office currently uses a star topology but is considering changing to a mesh topology . Describe two advantages and two disadvantages of both topologies. [ 8 ] 5. State five factors that could affect the performance of a network . [5 ] 2.5 - Compression 3.1b - Network Hardware & Internet Theory Topics
- 2.2 - Boolean Algebra - Eduqas GCSE (2020 spec) | CSNewbs
Learn about the eight rules of Boolean algebra expressions. Based on the 2020 Eduqas (WJEC) GCSE specification. 2.2: Boolean Algebra Exam Board: Eduqas Specification: 2020 Boolean algebra is used to simplify Boolean expressions so that they are easier to understand. Because calculations can use dozens of logical operators, they are simplified in Boolean Algebra using symbols rather than words. Take your time and don't panic. In an exam, you might get a list of identities (rules) to use. One tip to solving boolean algebra is to imagine that A and B are real expressions . In the examples on this page, imagine: A represents the true statement 'the sky is blue' B represents the true statement 'grass is green' 0 always means FALSE 1 always means TRUE Boolean Symbols A = NOT A A . B = A AND B A + B = A OR B Boolean Identities are the rules that are used to simplify Boolean expressions. Each identity (law) has an AND form and an OR form , depending on whether AND or OR is being used . Commutative Law AND form: OR form: This law just switches the order of the expressions . For example, 'sky is blue' AND 'grass is green' makes logical sense in either order. Idempotent Law = AND form: OR form: This law removes repetition . Complement Law NOT AND form: The sky cannot be blue and not blue at the same time, so it must be 0 (FALSE). OR form: The sky is blue or not blue must be 1 (TRUE) as it has to be one of these options. Identity Law AND form: 1 represents TRUE . Both statements are true so it can be simplified as just A . OR form: 0 represents FALSE . Because A is true, you can ignore the false statement and it can be simplified as just A . Annulment Law AND form: 0 represents FALSE . Even though A is true, a statement cannot be true and false at the same time, so it must be 0 (FALSE). OR form: 1 represents TRUE . Both statements are true so this can be simplified as just 1 (TRUE). Absorption Law AND form: OR form: Absorption law reduces a bracket into one value. If the first A is true then both values in the brackets are true but if the first A is false then both values are false. Therefore this equation relies entirely on A and can be simplified as just A . Association Law ( ) AND form: OR form: This law separates a bracketed expression that uses the same operator inside and outside the brackets by removing the brackets . Distribution Law ( ) = ( ) ( ) AND form: OR form: The value outside of the bracket (e.g. A) is multiplied by both values inside the brackets , forming two new brackets which are linked by the logical operator formerly within the bracket . Notice that the logical operator role is switched , e.g. AND switches from within the brackets, to between the new brackets. A note about distribution law - The three values may not necessarily be three separate letters (e.g. A, B and C) as B or C could be NOT A for example. A NOT value is considered a new value , e.g. A and Ā are separate values. Another note about distribution law - Exam questions may ask you to perform the distribution law (or any law) in reverse . For example, converting (A+B) . (A+C) into A + (B.C) Boolean Algebra Exam Question Some previous exam questions have listed helpful laws for you but others haven't, so you should know each individual law . In a previous exam, the candidates were given three general laws to help them . P, Q and R just represent three different values. P . 1 = P (Identity Law) P . Q + P . R = P. (Q + R) (Distribution Law) P + P = 1 (Complement Law) Using the rules above , candidates were asked to simplify the following expression : X = A . B + A . B The general laws have been give n to you for a reason. You need to look at the laws provided and see which one currently matches the expression in front of you . If you look closely in this example, the second law is very similar to the expression you are asked to simplify so you can use it to make the first simplification, just swap P for A, Q for B and R for NOT B: Using this law P . Q + P . R = P. (Q + R) X = A . B + A . B simplifies as: X = A . (B + B) Now you need to see which of the three provided laws can be used with the current expression . The third law is very similar to the expression you now need to simplify further , just swap P for B and NOT P for NOT B: Using this law P + P = 1 X = A . (B + B) simplifies as: X = A . (1) And finally, there is one law left to use. The first law is very similar to the expression you now need to simplify further , just swap P for A. Using this law P . 1 = P X = A . (1) simplifies as: X = A You have now used all three laws and the expression is fully simplified . Remember - Look at the laws that you have been given and see which law matches your expression . Q uesto's Q uestions 2.2 - Boolean Algebra: 1. Draw the example equations and write a brief description of each of the eight Boolean laws : Commutative Law Idempotent Law Complement Law Identity Law Annulment Law Absorption Law Associate Law Distributive Law 2. Below are three Boolean identities: P . P = 0 (P + Q) . R = (P . R) + (Q . R) P + 0 = P Using the three rules above , simplify the following expression: X = (A + B) . Ā This law is called ' Inverse Law ' in the Eduqas 2016 teacher guidance but ' Complement Law ' in the 2020 specification. This law is called ' Zero and One Law ' in the Eduqas 2016 teacher guidance but ' Annulment Law ' in the 2020 specification. This law is called ' Associate Law ' in the Eduqas 2016 teacher guidance but ' Association Law ' in the 2020 specification. This law is called ' Distributive Law ' in the Eduqas 2016 teacher guidance but ' Distribution Law ' in the 2020 specification. 2.1 - Logical Operators Theory Topics 3.1 - Network Characteristics
- 2.2 - Computational Methods | OCR A-Level | CSNewbs
Learn about computational methods including problem recognition, decomposition, divide and conquer, abstraction, backtracking, data mining, heuristics, performance modelling, pipelining and visualisation. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 3.1f - Standard Algorithms Watch on YouTube : Bubble sort Merge sort Insertion sort Quick sort Linear search Binary search Djisktra's algorithm A* algorithm The OCR A-Level course requires an understanding of algorithms used for sorting , searching and pathfinding including how they can be used for traversing and how to write them in pseudocode or a high-level programming langauge . Bubble Sort Bubble sort repeatedly compares adjacent items and swaps them if they are in the wrong order . Its advantage is that it is very simple to understand and easy to implement . However, it is extremely slow for large lists , with a worst- and average-case time complexity of O(n²) . It performs slightly better (O(n)) if the list is already nearly sorted and the algorithm is optimised t o detect no swaps . Overall, it is easy but inefficient . YouTube video uploading soon Merge Sort Merge sort is a divide-and-conquer algorithm that repeatedly splits a list into smaller sublists , sorts them recursively and then merges them back together . Its major benefit is that it is consistently fast with a time complexity of O(n log n) in the best , average and worst cases , making it very efficient for large datasets . It is also stable and works well with linked lists . However, a drawback is that it requires additional memory to store the temporary sublists , making its space complexity O(n) . Merge sort is therefore reliable but not memory-efficient . YouTube video uploading soon This page is under active development. Check here for the latest progress update. Insertion Sort Insertion sort works by taking each item and inserting it into the correct position in a growing sorted portion of the list . It is efficient for small or nearly sorted datasets and has a best-case complexity of O(n) , making it useful in real-time systems or hybrid algorithms . However, for large , randomly ordered datasets it becomes slow , with average- and worst-case performance of O(n²) . It uses very little memory space - (O(1) - which is one of its key benefits compared to more complex sorts like merge or quick . YouTube video uploading soon Quick Sort Quick sort is a divide-and-conquer algorithm that chooses a pivot , partitions the list into smaller elements and larger elements , and recursively sorts the partitions . Its main advantage is speed : the average-case time complexity is O(n log n) and it is often faster in practice than merge sort due to good cache performance and in-place partitioning . However, if poor pivot choices are made (e.g., always picking the first item in an already sorted list ), the worst case becomes O(n²) . Despite this, quick sort is widely used because good pivot-selection strategies minimise this risk . YouTube video uploading soon Linear Search Linear search checks each item in a list one by one until it finds the target value or reaches the end . Its benefit is that it works on any list (sorted or unsorted ) and is extremely simple to use and implement . The drawback is inefficiency for large datasets because its best , average and worst time complexity is O(n) . This means the time taken grows directly with the size of the list , making it suitable only for small collections of data . YouTube video uploading soon Binary Search Binary search repeatedly halves a sorted list to locate a target value , making it much faster than linear search . Its key benefit is efficiency : the time complexity is O(log n) for best , average and worst cases , meaning performance scales extremely well with large datasets . However, its major limitation is that the data must be sorted beforehand , and maintaining a sorted list can itself be costly . When this condition is met , binary search is one of the most efficient searching algorithms available. YouTube video uploading soon Dijkstra's Algorithm Dijkstra’s algorithm is a pathfinding algorithm used to find the shortest path from a starting node to all other nodes in a weighted graph with non-negative edge weights . It works by gradually exploring the graph , always choosing the next closest unvisited node , updating the shortest known distances to its neighbours and marking nodes as 'visited ' once the shortest path to them is confirmed . The algorithm continues until all nodes have been processed or the destination is reached , guaranteeing the shortest path . YouTube video uploading soon A* Algorithm The A* algorithm is an informed pathfinding algorithm that also finds the shortest path in a weighted graph , but it uses a heuristic (an estimate of the distance to the goal ) to guide its search more efficiently toward the target . A* combines the actual cost from the start to a node with a heuristic estimate of the remaining distance , allowing it to prioritise exploring nodes that appear more promising . YouTube video uploading soon Q uesto's K ey T erms Sorting Algorithms: bubble sort, flag, pass, merge sort, insertion sort, quick sort, pivot Seraching Algorithms: linear search, binary search, precondition Pathfinding Algorithms: Dijsktra's algorithm, A* algorithm, heuristic D id Y ou K now? Halo: Combat Evolved released on the Xbox in 2001 and introduced groundbreakingly convincing enemy AI for the time. Pathfinding algorithms were used more realistically than older games so that enemies wouldn't just run directly at the player but behaved in different ways depending on the situation , such as cooperating , flanking or retreating by reacting dynamically to the player . 3.1e - Data Structure Algorithms A-Level Topics









