top of page

Search CSNewbs

Search this site

304 results found with an empty search

  • HTML Guide 1 - Setup | CSNewbs

    Learn how to set up a brand new HTML page using Notepad ++. Find out how to format the document ready for tags to be entered. 1. Setting up a HTML document HTML Guide Watch on YouTube: This guide assumes that you have Notepad++ already installed. If you are working at home and need to download Notepad++ then click here . Save as .html file Notepad++ assumes you are writing a text file so you must change the file type . Open Notepad++ Click File then Save As... Change Save as type: from Normal text file (.txt) to Hyper Text Markup Language file (.html) Change File name: to Fanpage Website.html These steps are necessary to set up your HTML web page correctly. Open Notepad ++ and save your file as a .html document. Editor vs. Browser View In newer versions of Notepad++ click on View then View Current File in and choose a browser installed on your computer such as Chrome . Some versions of Notepad++ enable you to view the document in a web browser by selecting Run then an option such as Launch in Chrome . It is good practice to have both Notepad++ and a web browser open at the same time so that you can easily check if any changes have been made correctly. Remember to press the save icon ( ) before you refresh your browser . Don't expect your web browser to show anything yet. Next it is time to add our essential tags for the structure of the web page. HTML Guide 2. Essential Tags

  • HTML Guide 2 - Essential Tags | CSNewbs

    Learn what a tag is in HTML and which ones are necessary to format a webpage ready for text and other content. 2. Creating Essential Tags HTML Guide Watch on YouTube: What is a tag ? HTML uses tags to define the content of a webpage . A tag uses angle brackets - they look just like my teeth... Some examples of tags are and and Most tags have a start tag and an end tag . The actual content is written in between the tags . For example : The p tag is used to write a paragraph Notice that the end tag uses a forward slash . < > Essential Tags There are three tags that are essential for every HTML web page : - This tag declares the start and the end of your html web page. - The head is the part of the web page that the user will not see. - The body holds all of the content of the web page (text, images, video etc.) Don't forget to use backslash for the end tags : / Use the image on the right to add the three essential tags (and their end tags) to your document. Now it is time to add something we can actually see! Text tags are up next. 1. Setup HTML Guide 3. Text Tags

  • 3.1 - Network Characteristics - Eduqas GCSE (2020 spec) | CSNewbs

    Learn about the advantages and disadvantages of networks, the five types of network - LAN, WAN, PAN, MAN and VPN - and differences between wired and wireless networks. Based on the 2020 Eduqas (WJEC) GCSE specification. 3.1: Network Characteristics Exam Board: Eduqas Specification: 2020 What is a network? A network is more than one computer system connected together allowing for communication and sharing of resources . There are many benefits but also some drawbacks to using a network compared to having an unconnected ('standalone' ) computer: Advantages of Networks Easily share files , software and hardware between computers. Disadvantages of Networks There is an initial cost because network devices like routers are required . Larger companies will need to buy and maintain a server . Log in from any connected computer and access your data and files. A network manager / administrator might need to be employed to maintain the network . An administrator can monitor network activity and control security settings. Data from computers on the network can be automatically backed up on central storage. Security breaches are more likely and malware , such as worms, can spread quickly across the network. If the web server fails , all connected computers won't be able to access files or log on . 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 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 . Wide Area Network A wide area network (WAN ) has computer systems situated geographically distant to each other, possibly across a country or even across the world . The internet is an example of a WAN that spans the globe. Personal Area Network A PAN is a personal network for an individual , such as a photographer connecting a smartphone, desktop computer and printer together. Metropolitan Area Network A MAN is larger than a LAN but smaller than a WAN and typically covers a relatively large area like a university campus, town or city . Virtual Private Network A VPN allows for a secure and encrypted connection to a public network like the internet. It is often used to protect an individual's privacy by concealing their real location. Wired & Wireless Networks Wired Connections Wireless Connections Wireless connections, such as WiFi or Bluetooth , use no cables but require a wireless network interface card (WNIC ). Wireless connections generally have a slower speed and can be affected by the computer's distance from the wireless router as well as obstacles like walls or bad weather. Wired connections use physical cables , such as copper or fibre optic wires , and require a network interface card (NIC ) to connect to a network. These wired connections use a wired connection protocol - most commonly Ethernet . Restricted Movement Faster More Secure NIC Required Freedom of Movement Slower Less Secure WNIC Required Q uesto's Q uestions 3.1 - Network Characteristics: 1. A retirement home for the elderly is considering installing a LAN , give 3 benefits and 3 drawbacks they might find of using a network . [6 ] 2a. Describe the difference between a LAN and WAN . [2 ] 2b. Give an example of how a LAN and a WAN could each be used . [ 2 ] 3 . Explain the differences between a PAN , MAN and VPN . [ 3 ] 4. For each of the scenarios below, state which network type would be most suitable : a. The IT rooms of a secondary school . [ 1 ] b. A study in a house with a desktop and printer. [ 1 ] c. Using online banking when abroad on a holiday to stay secure . [ 1 ] d. A large technology company with offices across Europe . [ 1 ] e. Council offices with several locations across Manchester . [ 1 ] 5. Briefly compare wired and wireless networks . [ 8 ] 2.2 - Boolean Algebra 3.2 - Data Packets & Switching Theory Topics

  • 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 ➡

  • 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 | CSNewbs

    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. Formerly pynewbs.com. Follow the instructions in each section and try the practice tasks on every page . At the end of each section are larger problems to solve. Pyt hon Sections 0. Setting up Python Installing and Using Python 1. Printing and Variables a. Printing b. Comments c. Creating Variables d. Using Variables Section 1 Practice Tasks 2. Inputting Data a. Inputting Text b. Inputting Numbers Section 2 Practice Tasks 7. Subroutines a. Procedures b. Functions Section 7 Practice Tasks 8. Lists a. Using Lists b. 2D Lists c. Dictionaries Section 8 Practice Tasks 9. String Handling a. Basic String Handling b. Number Handling Section 9 Practice Tasks 3. Data Types & Calculations a. Data Types b. Simple Calculations Section 3 Practice Tasks 4. Selection a. If Statements b. Mathematical Operators ( & MOD / DIV) c. Logical Operators Section 4 Practice Tasks 5. Importing from Libraries a. Random b. Sleep c. Date & Time d. Colorama e. More Libraries (math) Section 5 Practice Tasks 6. Loops a. For Loops b. While Loops Section 6 Practice Tasks 10. File Handling a. Open & Write to Files b. Read & Search Files c. Remove & Edit Lines Section 10 Practice Tasks 11. User Interfaces a. Graphical User Interface 12. Authentication a. Error Handling Extended Tasks Extended Task 1 (Pork Pies) Extended Task 2 (Lottery) Extended Task 3 (Blackjack) Extended Task 4 (Vet Surgery) Extended Task 5 (Colour Collection) Extended Task 6 (Guess the Word) Extended Task 7 (Guess the Number)

  • 7.1 - Language Levels - Eduqas GCSE (2020 Spec) | CSNewbs

    Learn about the two types of language levels, high level and low level, including explanations and examples. Based on the 2020 Eduqas (WJEC) GCSE specification. 7.1: Language Levels Exam Board: Eduqas Specification: 2020 There are two types of programming languages used within computer systems: High-Level Languages Why do programmers use high-level languages? H igh-level programming languages use code written in a way that is similar to a natural human language , such as English, making it easier to understand and use the language. Using high-level languages leads to fewer errors and allows for more powerful and complex commands compared to low-level languages. However, a high-level language must be translated into machine code (binary) before it can be run, as high-level languages cannot be executed directly by the CPU . Popular high-level languages: PYT HON C++ Ja v a Visual Basic Low-Level Languages Low-level languages do not closely resemble a natural human language , making it harder for humans to understand and write in. Low-level languages are used when a program must be executed quickly or when programmers need to write code that interacts directly with the hardware , such as device drivers. There are two types of low-level language : Machine Code This is the pure binary code that computers can directly process and execute . It is extremely tedious and difficult for humans to understand and write machine code. However, machine code can be used when a programmer needs to perform a very specific command that can't be done in a high-level language. Machine code will be executed faster than high-level programs because it is already in a format the CPU can execute and does not need to be translated . 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0101 0100 1010 1010 1010 1010 1111 1110 0010 1001 0100 1001 0010 0111 0111 0101 0011 1010 1000 0101 0110 0111 0000 1010 1010 0011 1101 1001 0010 1101 0010 0100 1001 0011 1010 1001 0101 0101 0010 0101 0111 0101 0101 1000 1011 0111 Assembly Language Assembly language uses specialised command mnemonics to perform actions . See the Assembly Language section in the programming tab for a list of mnemonics such as INP , OUT and HLT . Assembly language is preferred by many programmers over machine code because it is easier to understand and spot errors . It is faster to execute than high-level languages and, like machine code, can be used to directly control the CPU . Q uesto's Q uestions 7.1 - Language Levels: 1a. Describe three reasons why programmers use high-level languages . [ 3 ] 1b. Explain one limitation of using high-level languages . [2 ] 2a. Describe a key difference between low-level languages and high-level languages . [ 2 ] 2b. Describe when a low-level language would be used instead of a high-level language . [2 ] 2c. Describe an advantage and a disadvantage of writing directly in machine code . [2 ] 2d. Describe what assembly language is. Give one benefit to using assembly language instead of machine code and one benefit to using it instead of a high-level language . [3 ] 3. Compare high-level and low-level languages by stating which is: a. Easier to understand [ 1 ] b. Requiring translation [ 1 ] c. Quicker to execute [ 1 ] INP STA Number1 OUT HLT Number1 DAT 6.2 - Utility Software Theory Topics 8.1 - Programming Principles

  • HTML Guide 5 - Images | CSNewbs

    Learn how to embed images into your HTML web page using the img tag. Learn how to resize an image to your desired width and height. 5. Images HTML Guide Watch on YouTube: Images can be added to your web page to make it more visual. The guide below shows you how to find a picture online, download it and place it in your web page. Find & Save the Image Firstly you can perform a Google Image search to find a picture that you like. As an ethical Computer Scientist, you should be searching for copyright free images. Click on Tools and then Usage Rights to change it to 'Labeled for reuse'. Choose an appropriate image and download it to the same folder as your html file. Save the image in the same folder as where your HTML file is saved . If you don't do this, your image won't work . If you are using a school computer and the image automatically downloads , without giving you the option to rename it and save it, click on 'Show in folder' and move it to the folder where your HTML file is . Make sure that the image is saved in the exact same folder as your HTML file and that is has a suitable name . Create the Image Tag The tag for images does not have an end tag - it is all written within one set of angle brackets. src stands for source . You must type the image exactly as it is saved , including the file type (e.g. .jpg or .png). Don't forget the speech marks either. Create the img tag, using the exact name of the image you downloaded. Change the Image Size You can directly state the width and height of the image by defining the style within the image tag. If your image is too large or too small, change the size of it yourself. Next it is time to organise the web page further so it looks more like a professional site. 4. Hyperlinks HTML Guide 6. Organisation

  • 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

  • 4.2 - Data Structures | OCR A-Level | CSNewbs

    Learn about data structures including arrays, records, lists, tuples, linked-lists, graphs, stacks, queues, trees, binary search trees and hash tables. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 4.2 - Data Structures Specification: Computer Science H446 Watch on YouTube : Arrays Records Lists & tuples Stacks Queues Linked lists Trees Graphs Hash tables Data structures are used to organise and store data so it can be accessed and processed efficiently , often through the use of an index or reference . They can be static , meaning their size is fixed during program execution , or dynamic , allowing them to grow or shrink as data changes . Arrays An array is a data structure that stores a collection of items of the same data type , with each item accessed using an index . A one-dimensional (1D ) array is a simple sequence of values , such as test scores for a single person : scores = [12, 15, 18, 20] . A two-dimensional (2D ) array is like a table or grid , made up of rows and columns - for example, storing a timetable or test scores for a class . A three-dimensional (3D ) array stores data in multiple layers , like a series of 2D grids . For example, test scores for a class across multiple subjects . This page is under active development. Check here for the latest progress update. YouTube video uploading soon Records A record groups together related but different types of data under one name . Each individual piece of data within a record is called a field and each field can have a different data type (e.g. string , integer , Boolean ). For example, a student record might include fields such as Name (string ), Age (integer ) and Enrolled (Boolean ). Records are often used in databases or programming to represent real-world entities where multiple attributes need to be stored together . YouTube video uploading soon Lists & Tuples A list stores an ordered collection of items , which can be changed (mutable ) after creation. Items in a list can be added , removed or modified , and they can be of different data types . For example, in Python : myList = [10, "apple", True] . A tuple is similar to a list but is immutable , meaning its contents cannot be changed once created . Tuples are often used for fixed sets of data that should not be altered , such as coordinates or dates . For example: myTuple = (3, 5, 7) . YouTube video uploading soon Stacks A stack stores data in a last in , first out (LIFO ) order, meaning the most recently added item is the first one to be removed . It works much like a stack of plates - you can only add or remove from the top . Two integral functions are push and pop . The push operation adds (or “pushes”) a new item onto the top of the stack . The pop operation removes (or “pops”) the item from the top of the stack . Stacks are commonly used in undo features , function calls and expression evaluation , where tracking the most recent item first is important . YouTube video uploading soon Queues A queue stores items in a first in , first out (FIFO ) order, meaning the first item added is the first one removed . New items are added at the rear of the queue using an enqueue operation, and items are removed from the front using a dequeue operation. Queues are often used in task scheduling , print spooling and data buffering , where operations must occur in the same order they were requested . YouTube video uploading soon Linked Lists A linked list is a dynamic data structure made up of a series of elements called nodes , where each node contains data and a pointer to the next node in the sequence . Unlike arrays, linked lists do not store elements in contiguous memory locations , making it easy to insert or delete items without having to shift other elements . The head is the first node in the list , and the last node usually points to null , indicating the end of the list . YouTube video uploading soon Trees A tree is a hierarchical data structure made up of nodes connected by branches , starting from a single root node . Each node can have child nodes , and nodes without children are called leaf nodes . Trees are useful for representing data with natural hierarchies , such as file systems or organisational charts . A binary search tree is a special type of tree where each node has at most two children - a left and a right . All values in the left subtree are smaller than the parent node , and all values in the right subtree are larger . This structure allows for efficient searching , insertion and deletion of data , often much faster than in lists or arrays . YouTube video uploading soon Graphs A graph is made up of nodes (also called vertices ) connected by edges and is used to represent relationships between items. Graphs can be directed , where edges have a specific (one-way) direction , or undirected , where connections go both ways . They can also be weighted , where edges have values such as distance or cost , or unweighted , where all connections are equal . Graphs are widely used in computing, for example, in social networks (users and friendships ), maps (locations and routes ) and network routing algorithms . YouTube video uploading soon Hash Tables A hash table stores key–value pairs and allows for very fast data access . It uses a hash function to convert a key (such as a name or ID ) into an index (hash value ), which determines where the associated data (value ) is stored in memory . When retrieving data , the same hash function is applied to the key to find the value’s location instantly , making lookups close to constant time complexity on average . If two keys produce the same hash (a collision ), techniques such as chaining or linear probing are used to handle it . Hash tables are commonly used in databases , caches and programming languages for tasks like fast searching and indexing . YouTube video uploading soon Q uesto's K ey T erms Arrays: array, 1-dimensional, 2-dimensional, 3-dimensional, static Records: record, field, data type, primary key Lists and Tuples: list, tuple, mutable, immutable, dynamic Stacks and Queues: stack, queue, last in first out (LIFO), first in first out (FIFO), push, pop, enqueue, dequeue, pointer Linked Lists: linked list, null Trees & Graphs: tree, binary tree, binary search tree, root node, branch, graph, weights, directions Hash Table: hash table, key, value, collision, linear probing, chaining D id Y ou K now? Trees are used for dialogue options in narrative video games , displaying possible paths based on the player’s previous choices . The final ' suicide mission ' of Mass Effect 2 has hundreds of possible variations depending on ship upgrades , squad member loyalty , and assigned roles during the last mission . 4.1 - Data Types A-Level Topics 4.3 - Boolean Algebra

  • Python | 5b - Sleep | CSNewbs

    Learn how to delay processes using the sleep command in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 5b - Sleep Using Sleep To pause a program, import sleep from the time library . Type the word sleep followed by the number of seconds that you wish the program to break for in brackets . It must be a whole number . Below is an example of a program that imports the sleep command and waits for 2 seconds between printing: from time import sleep print ( "Hello!" ) sleep(2) print ( "Goodbye!" ) You can implement the sleep command within a for loop to produce an effective timer that outputs each second waited to the screen: You could also use a variable instead of a fixed value with the sleep command such as below: from time import sleep for second in range (1,11): print (second) sleep(1) from time import sleep seconds = int ( input ( "How many seconds should I sleep? " )) print ( "Going to sleep..." ) sleep(seconds) print ( "Waking up!" ) Sleep Task ( Slow Calculator) Create a slow calculator program that needs time to think in between calculations. Print a message to greet the user , then wait 3 seconds and ask them to enter a number . Wait another 3 seconds and ask them to enter a second number . Wait 2 more seconds , print “Thinking…” then 2 seconds later print the total of the two numbers added together . Example solution: ⬅ 5a - Rando m 5c - Date & Time ➡

  • 1.2 - Operating Systems | F160 | Cambridge Advanced National in Computing | AAQ

    Learn about network operating systems, open source operating systems and proprietary operating systems. Resources based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced Nationals 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.2 - Operating Systems Watch on YouTube : Network Operating System Open Operating System Proprietary Operating System An operating system is software that manages the resources of a computer system , such as memory , users and files . It also provides a user interface so that humans can interact with the device's hardware . An operating system allows application software to be opened and run . There are three types of operating system that you need to know - network , open and proprietary . Operating Systems Network Operating System (NOS) A network operating system (NOS ) is software that manages network resources and allows computers to communicate over a network . Windows Server , developed by Microsoft , is an example of a network operating system . Characteristics of a Network Operating System Allows for the centralised management of users , data and security across multiple devices on a network . Enables resources such as files , applications and printers to be shared over the network . Manages user authentication and permissions control . Oversees remote access and system monitoring tools . The main type of device that uses a NOS is a server . Other devices, such as desktops or laptops , connect to the server to access shared resources . Windows Server is an example of a popular NOS . Advantages of a Network Operating System Administrators can manage users , files and security on a network from one central location . Resources such as files , printer access and applications can be shared across the network . Access levels can be controlled and user authentication helps protect data . An NOS is scalable - more devices and users can be added as needed . Central servers managed by a NOS make it easier to back up and restore important files . Disadvantages of a Network Operating System Purchasing a NOS and maintaining the servers it runs on can be expensive . Setup and management is complex and may require skilled administrators . If the main server running the NOS fails , connected computers may lose access to resources . Heavy traffic or poor configuration could slow the network down . Who uses a Network Operating System? Application developers can use a NOS to build , test and manage apps that work across networks , such as web applications , multiplayer games or cloud tools . This type of operating system is also used by organisations that need to manage multiple devices , users and resources efficiently across a network , such as a small business or a school . Open Operating System An open operating system is open-source , meaning its source code is freely available for anyone to view , modify and distribute . Source code is the original set of instructions written by a programmer using a high-level language such as Python , Java or C++ . Characteristics of an Open Operating System Users have access to the source code and can see how the OS works . The source code can be modified to suit the specific needs of the user . Development and maintenance may be led by an online community . An open OS is usually free with no licensing costs for most versions. Linux is an example of an open operating system . Android is technically an open-source OS , but most commercial Android devices (like Google Pixel phones ) include proprietary components (like Google Docs or Gmail ), which makes the full system not completely open source . Advantages of an Open Operating System It is usually free to use , modify and distribute the source code . Because the source code can be seen and modified , this type of OS is flexible and customisable . There may be updates from an online community maintaining and improving the software . Promotes experimentation to learn how systems work and try new ideas . Disadvantages of an Open Operating System Programming knowledge and skills are required to modify the source code . There may be security risks if someone edits the source code and redistributes it with malicious code . There will be less official support compared to a proprietary operating system . Some proprietary applications (like Microsoft Access for databases) will only work on a proprietary OS (like Windows ). Who uses an Open Operating System? App developers would use an open OS when the device their application will be used on is not tied to a specific proprietary system (like Windows or MacOS ). For example, a charity making a free educational app for developing countries would choose an open OS so it can run on low-cost , older smartphones . It can be customised and tested on a range of devices . Applications for specific single-purpose systems would also use an open OS , such as an information terminal in a museum . Linux could be used to develop a simple user interface and remove unnecessary features . Proprietary Operating System A proprietary operating system is software that is owned by a company or individual and the source code is not accessible for users to view , modify or distribute . Users must typically buy a licence or agree to the terms of use . Characteristics of a Proprietary Operating System The source code is hidden from the user and cannot be legally modified . A paid licence or subscription is usually required to use the software . It may be maintained and updated by the developer(s) who own it . Only the developer controls updates and the features that are added or fixed . Examples include Microsoft Windows (e.g. Windows 11 ), macOS (for Apple desktops and MacBooks ), iOS (for iPhones ) and iPadOS for iPads ). Advantages of a Proprietary Operating System There is an expectation that it is user-friendly and has been well tested . There may be official support and regular updates for improvements and bug removal . A proprietary OS has a high compatibility with proprietary software such as Microsoft Office or Adobe editing apps . The OS is expected to be stable and secure , with access restricted to system files . Disadvantages of a Proprietary Operating System A paid licence to use the OS is often required , which may be expensive . There is limited customisation for users as the source code cannot be seen or modified . Users rely on the vendor (developer ) for updates and bug fixes . Some proprietary OS are designed to only work on specific hardware (such as iOS only working on iPhones ). Who uses a Proprietary Operating System? App developers will need to use a proprietary OS if they are developing applications for a device that requires a specific proprietary OS , for example if they are creating a game for iPhones , they will need to use iOS . A company designing a finance application on desktops with Microsoft Access and Microsoft Excel must use a proprietary OS like Windows so that it can be integrated with these other types of proprietary applications . Q uesto's Q uestions 1.2 - Operating Systems: 1. What is an operating system ? [2 ] 2. For each of the three types of operating systems , create a poster , information sheet or factfile which includes the following information : Characteristics Advantages Disadvantages Example of how it could be used [10 per OS ] Windows 11 is Microsoft's current operating system . Windows 1.0 was their first release, introduced in 1985 and included basic versions of Calculator , Notepad and Paint . D id Y ou K now? 1.1 - Programs & Applications Topic List 1.3.1 - Application Types

© CSNewbs 2026

The written, video and visual content of CSNewbs is protected by copyright. © 2026
bottom of page