top of page

Search CSNewbs

304 results found with an empty search

  • Python | Extended Task 7 | 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 7 'Guess the Number' Multiplayer Game A primary school teacher wants to create a fun activity for their students to play when it is raining and they have to stay inside during break and lunch. Five pupils can play the game at once. Each player chooses a number between 1 and 100 . Then a random number is generated. Whoever was furthest from the random number is out of the game . The four remaining players then pick a new number . This continues with one player being removed each round until only one player is left and they are the winner. Add your own flair and additional features to your program as an extension, including preventing the same number being chosen by multiple players . 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 use loops to allow the users to enter their numbers. You may wish to use subroutines to decompose the problem into separate rounds. You will need to import the random library to generate a random number in each round. You will need to compare each number to the randomly selected answer using comparison operators such as > and <. 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: Introduction & Round One Round Two ⬅ Extended Task 6 (Word Game)

  • Python | 3b - Simple Calculations | CSNewbs

    Learn how to make simple calculations in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 3b - Simple Calculations Simple Calculations in Python You can perform calculations on numbers in Python using the four main operators : print ( 89 + 47) print ( 89 - 47) print ( 89 * 47) print ( 89 / 47) = 136 42 4183 1.8936170212765957 For addition , use the plus sign + To subtract numbers, use the dash symbol – (but not an underscore _ ) For multiplication , use an asterisk * which can be made by pressing Shift and 8 on a typical keyboard. To divide numbers, use a forward slash / (but not a backslash \ ) Use a string and the calculation to make the output user friendly . print ( "53 x 7 =" , 53 * 7) = 53 x 7 = 371 Simple Calculations Task 1 ( + - * /) Print four different simple calculations, using a different operator ( + - * / ) for each. Make the output user friendly by also showing the calculation (not just the answer). Copy the divide symbol here using Ctrl and C : ÷ Example solution: 18 + 35 = 53 18 - 35 = -17 18 x 35 = 630 18 ÷ 35 = 0.5142857142857142 Using Variables in Calculations You can also perform calculations on variables . The example below has the values of the variables pre-written. You need to store the result in a variable . The total variable has been used to store the result of the multiplication. num1 = 12 num2 = 20 total = num1 * num2 print ( "The total is" , total) = The total is 240 The example below allows the user to input values . num1 = int ( input ( "Enter number one: " )) num2 = int ( input ( "Enter number two: " )) total = num1 + num2 print ( "The to ta l is" , total) Enter number one: 21 Enter number two: 82 The total is 103 = Don't leave the user in the dark, better user interfaces are clear and explain what outputted values mean: num1 = int ( input ( "Enter number one: " )) num2 = int ( input ( "Enter number two: " )) answer = nu m1 - num2 print (num1 , "-" , n um2 , "=" , answer) Enter number one: 83 Enter number two: 29 83 - 29 = 54 = Simple Calculations Task 2 ( Divide by 3) Use an input line with int to ask the user to enter a number . Divide the number by 3 and output the result . Example solution: Enter a number: 11 11 divided by 3 is 3.6666666666666665 Simple Calculations Task 3 ( Add 3 Numbers ) Make three input lines using int to ask the user to enter three numbers . Add the numbers together and output the total . Example solution: Enter the first number: 45 Enter the second number: 32 Enter the third number: 19 The total is 96 ⬅ 3a - Data Types Section 3 Practice Tasks ➡

  • Greenfoot Guide #2 | Arrow Key Movement | CSNewbs

    Learn how to edit code in Greenfoot to make objects move using the arrow keys. Use methods such as isKeyDown, setRotation and move. Part 2 of the Greenfoot Tutorial for the Eduqas / WJEC GCSE 2016 specification. Right-click on your main character class and select ' Open editor '. The editor allows you to write different methods - actions that the class can perform. The act() method will repeat whenever the Run button is pressed. 1. Open the Code Editor 2. Movement with the Arrow Keys Greenfoot Tutorial Watch on YouTube: 2. Copy the Code CAREFULLY You need to use an if statement to check if a certain key (like the right arrow key) is being pressed down . An if statement must be contained in standard brackets . After each if statement, the proceeding code must be typed within curly brackets - see the image on the left . Tip - If the brackets are on the same line then use the standard brackets ( and ) If the brackets are on different lines then use curly brackets { and } Your code must be perfect or it won't work. 'Greenfoot ' requires a capital G and the isKeyDown method most be written with a lowercase i but uppercase K and D . When the right arrow key is pressed the object will change its rotation to 0° which is right . It will also move 1 place in this direction. Rotations in Greenfoot: 3. Code the Other Arrow Keys Directly underneath the if statement for turning and moving right, add the code for turning and moving down . You can see in the diagram above the degrees to rotate in each of the four directions . Write the code to move in all four directions. Ensure you have the correct number of brackets or the program won't start. Remember brackets that start and end on the same line are ( ) and brackets over multiple lines are { } . 4. Compile and Run Click the Compile button at the top of the code editor . Then you can go back to the main Greenfoot window and click Run . Press the arrow keys to test your main character moves . Click on me if you've got an error that you're stuck with. < Part 1 - Setup & Populating the World Part 3 - Movement (Random) >

  • Python | 7b - Functions | CSNewbs

    Learn how to create and use functions in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 7b - Functions What is a Function? A function is a subroutine that takes one or more values from the main program and returns a value back. For example, transferring over a sphere’s radius from the main program for the function to calculate a surface area and then return that value to the main program. The two key differences between procedures and functions are: A function uses parameters to transfer data from the main program into the function. A function returns a value to the main program. Writing Functions A function is written the same way as a procedure but it uses parameters . In the example below the parameters are num1 and num2 which are sent from the main program to be used in the function . The return command is used to send a value back to the main program . Below is another example of a function that takes the radius of a sphere and works out the area in a separate function . The area is returned to the main program and printed. Subroutines can be reused and called with different parameters . The program below repeatedly takes an integer input and adds it to a total in a function that is then returned and printed. Practice Task Create a program similar to the sphere example above, this time to work out the volume of a cylinder. In the main program ask the user to enter the cylinder's radius and then its height. The actual calculation should be done in a function and returned to the main program. The calculation for a cylinder's volume is: pi x (radius x radius) x height Extension: Use the round command from section 9b to round the number to 2 decimal places. Example solution: Using Subroutines as a Menu Subroutines are often used to split programs up and give users a selection of options . Subroutines are used for this purpose because they are separate , making it easier to code and manage a program . The example below for a simplified online banking system uses separate subroutines accessible within a while true loop . Depending on the option chosen by the user, the appropriate subroutine will be called . Instead of a further practice task here, Task 4 of the Section 7 Practice tasks page challenges you to make a similar program using multiple subroutines. ⬅ 7a - Proced ures Section 7 Practice Tasks ➡

  • 2.3 - Quality of Information | Unit 2 | OCR Cambridge Technicals | CSNewbs

    Learn about the characteristics of information and the impacts of both good and poor quality information on customers and stakeholders. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 2.3 - Quality of Information Exam Board: OCR Specification: 2016 - Unit 2 Information Characteristics Valid Information This is correct, up-to-date and complete information that fits its purpose . For example, detailed end-of-year financial data in the form of graphs. Biased Information This is technically correct, but slanted , information that presents a one-sided view . For example, end-of year financial data that focuses on profits and ignores significant losses. Relevant Information Information should be appropriate for the required purpose . Irrelevant information may get in the way of correct decision making. Accurate Information Information should be carefully selected and entirely correct , inaccurate information can lead to unwanted consequences such as higher costs and missed deadlines. Reliable Information Information from a source that can be verified and confirmed to be correct . For example, BBC News is a more reliable information source than social media posts. Information Quality The quality of information that an organisation uses will have a significant impact on further processes and decisions. Good quality information that is accurate , valid or reliable can lead to better strategic decisions , meeting deadlines and innovation . Poor quality information that is biased , inaccurate or out of date may lead to negative consequences such as loss of customer trust , fines and legal challenges . Positive Effects of Good Quality Information Reliable information received by the management team . Good quality research information. Good quality sales information. Accurate cost projection information. Informed decisions with a higher chance of success . Can lead to innovation and better understanding . Strategic decisions and planning ahead . Projects will stay within their budget . Accurate time expectations . Projects will be completed on time . Negative Effects of Poor Quality Information Biased survey with inaccurate results . Inaccurate stock information. Out of date information received by management . Inaccurate data has led to poor reviews online . Inaccurate time expectations . Misinformed decisions , not responding to customers needs . ??? Inaccurate delivery times , customers unhappy . Too much / little stock. Miss out on opportunities , possible fall in profits . Loss of customer trust , loss of customers and reputation . Financial issues . Projects take longer , cost more , stakeholders unhappy . Possible project failure . Q uesto's Q uestions 2.3 - Quality of Information: 1. Describe 5 characteristics of information . [10 ] 2. Explain 5 positive impacts of good quality information . [10 ] 3. Explain 5 negative impacts of poor quality information . [10 ] 2.2 - Information Classification 2.4 - Information Management Topic List

  • 2.2 - Data Types - OCR (J277 Spec) | CSNewbs

    Learn about the five data types - character, string, integer, real and Boolean. Also learn about casting. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.2: Data Types Exam Board: OCR Specification: J277 Watch on YouTube : Data Types What are the different data types? When programming, variables should be given appropriate data types . Character A single character , such as a letter, number or punctuation symbol. Examples: T 8 ? String A sequence of characters , including letters, numbers and punctuation. Examples: Harry Waters 14:50pm Ice Age 4 Integer A whole number . Examples: 475 -8432 56732 Real Boolean A decimal number . Examples: 65.3 -321.1234 909.135 An answer that only has two possible values . Examples: True / False Yes / No 0 / 1 Telephone numbers are always stored as a string , not an integer. Casting Converting the value of a variable from one data type into another is known as casting . Python automatically assumes an input is a string so the int() command is used to cast an input into an integer . Other Python commands for casting include str() and float() . For example: age = int(input("Enter your age: ")) Q uesto's Q uestions 2.2 - Data Types: 1. List the five data types , giving an example of each . [ 5 ] 2. State which data type is most suitable for the following variables: a. Age [ 1 ] b. Surname [ 1 ] c. Height (in metres) [ 1 ] d. First Initial [ 1 ] e. Phone number [ 1 ] f. Right-Handed? [ 1 ] 3. Explain what casting is and give a programming situation in which it would be used . [ 2 ] 2.1 - Programming Fundamentals Theory Topics 2.3 - Additional Techniques

  • 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 2.2 - Computational Methods Watch on YouTube : Problem recognition Decomposition Divide and conquer Abstraction Backtracking Data mining Heuristics Performance modelling Pipelining Visualisation Computational methods are techniques to analyse problems and design efficient , effective solutions . Problem Recognition Problem recognition is the process of identifying that a problem exists and understanding its nature before attempting to solve it. It involves determining the aims of the task , identifying constraints and requirements , and clarifying what inputs , outputs and processes are expected from the solution . Effective problem recognition ensures the developer understands the real-world context and avoids solving the wrong problem or missing key details . It is the essential first step that guides all later stages of computational thinking and system design . YouTube video uploading soon Decomposition Decomposition involves breaking a complex system or task into smaller , more manageable components that are easier to design , implement and test . Each sub-problem should ideally be independent and solve a specific part of the overall task , which helps reduce complexity and supports modular program design . This approach enables different developers to work on different components simultaneously and simplifies debugging , maintenance and future updates . By working through smaller logical parts , the full problem becomes far more approachable and structured . YouTube video uploading soon Divide and Conquer Divide and conquer is a technique that splits a problem into smaller sub-problems of the same type , solves them (often using recursion ), and then combines the solutions to produce the final answer . This approach can significantly improve efficiency by reducing large input sizes into more manageable chunks , as seen in algorithms like quicksort . Divide and conquer algorithms include a binary search and a merge sort . The time complexity of divide and conquer algorithms is logarithmic - O(log n) - allowing complex problems to be solved much quicker than other algorithms . YouTube video uploading soon Abstraction Abstraction means removing unnecessary details to focus only on the most important features of a problem or system . It allows programmers to create simplified models that capture essential behaviour without becoming overwhelmed by irrelevant complexities . Abstraction enables generalisation , reusable designs and clearer reasoning about how components interact . In computational contexts, abstraction also highlights the difference between real-world systems and their simplified computational models . YouTube video uploading soon Backtracking Backtracking is used to explore possible solutions to a problem by building a partial solution and abandoning it as soon as it becomes clear it cannot succeed . It works by trying an option , checking whether it leads towards a valid solution , and backtracking to try a different path if a dead end is reached . This approach is used in constraint-based problems such as maze solving . While powerful , backtracking can be computationally expensive , so it often benefits from heuristics or pruning strategies . YouTube video uploading soon Data Mining Data mining is the process of extracting useful patterns , trends and relationships from large datasets . It enables organisations to identify hidden insights , predict behaviours and support data-driven decision-making , particularly in fields such as marketing , healthcare , finance and security . Data mining can lead to enhanced decision-making that can result in innovation , a competitive advantage against similar organisations and increased revenue . It can be used to identify anomalies or unused features . However, data mining doesn't explain the patterns it can identify and it requires powerful computers with a lot of processing power to handle huge amounts of data . YouTube video uploading soon Heuristics Heuristics are approximate problem-solving strategies that aim to produce good solutions quickly when exact , optimal methods are too slow or computationally impractical . They rely on rules of thumb to guide searches through very large solution spaces efficiently . Heuristics are widely used in artificial intelligence , optimisation tasks and complex search algorithms such as A* , where perfect accuracy is less important than fast , practical solutions . The trade-off is that heuristic methods are not guaranteed to produce the optimal answer , but they dramatically reduce processing time . YouTube video uploading soon Performance Modelling Performance modelling is the process of predicting how a system or algorithm will behave under different workloads , input sizes or hardware environments . It uses tools such as mathematical analysis , simulation and Big O notation to estimate required resources such as processing time or memory use . Performance modelling offers a cheaper , quicker and often safer way to test applications . For example, when a company beta tests an online game , it can trial the system with a smaller group of players and then apply performance modelling to predict how much server capacity will be needed when the game is fully released . YouTube video uploading soon Pipelining Pipelining is a technique in which different stages of a process are overlapped so that multiple instructions or operations are being processed simultaneously at different stages . In CPU architecture , for example, one instruction might be fetched while another is decoded and a third is executed , increasing overall throughput without increasing clock speed . Pipelining can also be used in algorithms or data-processing systems to prevent idle time in stages that operate independently . However, pipelining introduces complexity because dependencies or branch mispredictions may require a pipeline to be flushed - interrupting flow and reducing efficiency . YouTube video uploading soon Visualisation Visualisation supports the understanding of a problem by presenting information in a clearer and more accessible form than text alone . It is useful for explaining complex ideas or identifying patterns . Data can be shown visually through diagrams , graphs , trees , flowcharts or tables . The advantages of visualisation include helping to model , represent , analyse or summarise complex concepts . It allows information to be communicated more clearly and in a way that is easier to interpret . It can also provide different perspectives on how a problem might be solved . YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Computational Methods: problem recognition, decomposition, divide and conquer, abstraction, backtracking, data mining, heuristics, performance modelling, pipelining, visualisation D id Y ou K now? Real-time location services like Google Maps use heuristics to guess travel times using heuristics such as estimated speeds , traffic history and shortcuts to make fast but approximate route suggestions . 2.1 - Programming Techniques A-Level Topics 3.1a-d - Algorithm Complexity

  • 5.1 - Languages & Translators - OCR GCSE (J277 Spec) | CSNewbs

    Learn about the two types of language levels - high level languages and low level languages , as well as the use of interpreters and compilers. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 5.1: Languages & Translators Exam Board: OCR Specification: J277 Watch on YouTube : High-Level & Low-Level Languages Translators (Compiler & Interpreter) 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 . INP STA Number1 OUT HLT Number1 DAT Translators A translator changes (translates) a program written in one language into another language (usually machine code ). There are two main types of translator : Interpreter An interpreter converts high-level language one line at a time into machine code and executes it. Compiler A compiler converts high-level language into machine code for execution at a later time. The entire program is converted at once . PYT HON PYT HON 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 Interpreters vs Compilers Interpreter Compiler Execution Method: An interpreter translates source code (high level code) into machine code one line at a time . Execution Speed: An interpreter is slower than a compiler because the code must be reinterpreted each time the program is run. Complexity: Interpreters are smaller, simpler programs . Error Reporting: In error reporting, the interpreter would encounter the errors and report it to the user immediately and stops the program from running. Repetition: Interpreted programs can be edited and run without translating the whole program . Interpreters must reinterpret the program every time it is run. Execution Method: A compiler translates all the source code (high level code) into machine code in one go . A compiler produces an executable file that will run on other machines without the compiler needing to be installed. Execution Speed: Compilers can produce much more efficient code than interpreters making the compiled programs run faster . Complexity: Compilers tend to be large complex programs . Error Reporting: The compiler would analyse the entire program , taking note of where errors have occurred and record them in an error file . Repetition: Compilation requires analysis and the generation of the code only once , whereas interpreters must re-interpret each time. However, compiled programs have to be re-compiled after any changes have been made. x1 ∞ x1 Q uesto's Q uestions 5.1 - Languages & Translators: 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 ] 4. Compare interpreters and compilers for each of the following features : a. Execution Method b. Execution Speed c. Complexity d. Error Reporting e. Repetition [ 10 total ] 4.1 - Boolean Logic Theory Topics 5.2 - IDE

  • Python Editor| CSNewbs

    A simple HTML and CSS editor using Code Minrror libraries. Learn how to create simple web pages using HTML. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Simple HTML & CSS Editor This page is under active development.

  • Key Stage 3 Python | Turtle | CSNewbs

    The final part of a quick guide to the basics of Python aimed at Key Stage 3 students. Learn about importing turtle to command a moving object. Python - Iteration For Loops Editor Execute A for loop is a count controlled loop. It repeats for a certain number of times as stated in the range brackets. The first number (1) states the number to start on . The second number is an exclusive end . This means it actually finishes on the number before . (11 will end on 10). You need a colon at the end of the loop line . Each line to be repeated must be indented (press the tab key). You can use the loop number within the loop itself. 1. Write a for loop to print your name 8 times . (Count it to double-check it prints eight times.) 2. Use a for loop to print each number between 10 and 50 . 3. Use a for loop from 1 to 10 . Print the 3 times table by multiplying number by 3 underneath the loop. 4. Ask the user to input a whole number (call it num1 ). Write num1 in your range brackets to repeat any message that many times. 5. Ask the user to input a whole number (call it num1 ) and then input a word . Print the word by the number they entered . (Hint: Use num1 in the range.) 6. Delete your code and copy these 3 lines: #Delete the space after the colon for number in range(0,21,2): print(number) What happens when you run this code? 7. Use Q6 to help you print 0 to 100 , going up in 5s . Think about the 3 values you need in the range brackets. 8. Use Q6 to help you print 100 down to 0 , backwards by 1 . Think about the 3 values you need in the range brackets. Tasks While Loops Editor Execute A while loop is a condition controlled loop . While loops repeat as long as the condition is true . As soon as the condition becomes false , the loop will end . 1. Change the program in the editor to repeat the loop while a number is not equal to 33 . 2. Make a new while loop that asks the user to enter a whole number . While the number is less than or equal to 1000 , keep repeating. 3. Make a new while loop for while a colour is not equal to purple (or any colour you want). Ask the user to enter a colour inside of the loop . Don't forget to set colour to "" before you start. 4. Edit your colour program to count how many guesses were made. Make a new variable called count and set it to 0 at the start of the program. Increase it by 1 in the loop, using count = count + 1 . 5. While a total is less than 100 , ask the user to input a decimal number . When it is over 100 , print ‘COMPUTER OVERLOAD’ . You need a variable called total . Increase the total each time with total = total + number . Don't forget to start it at 0 . Tasks != means ‘not equal to ’. The loop below will repeat as long as the password is not equal to “abc123” . Any variable you use in your condition must have a value first . You can’t check for your password if it doesn’t exist. That’s why I have written password = “” , to give password a value before we check it .

  • 2.4c - Character Storage - OCR GCSE (J277 Spec) | CSNewbs

    Learn about the main character sets - ASCII (American Standard Code for Information Interchange) and Unicode. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.4c: Character Storage Exam Board: OCR Specification: J277 Watch on YouTube : Character Sets ASCII Unicode Text File Size What is a Character Set? A character set is a table that matches together a character and a binary value . Each character in a character set has a unique binary number matched with it . Character sets are necessary as they allow computers to exchange data and humans to input characters . Two common character sets are ASCII and Unicode : H = 01001000 ASCII Unicode ASCII (American Standard Code for Information Interchange ) is a common character set which does not take up much memory space . It is important to understand that the number of characters that can be stored is limited by the bits available - ASCII uses 1 byte (8 bits ) which only gives 256 possible characters . This is enough for the English language but it can’t be used for other languages or all punctuation symbols. Unicode is a more popular character set because it uses 2 bytes (16 bits ) that allow for 65,536 possible characters . The extra byte allows many different languages to be represented , as well as thousands of symbols and emojis . However Unicode requires more memory to store each character than ASCII as it uses an extra byte . Character sets are logically ordered . For example, the binary code for A is 01000001 , B is 01000010 and C is 01000011 as the code increases by 1 with each character. The file size of a text file is calculated as shown below: bits per character x number of characters Example: A small text file uses the ASCII character set (which uses 8 bits per character ). There are 300 characters in the file . 300 x 8 = 2,400 bits This could be simplified as 300 bytes or 0.3 kilobytes . File Size of Text Files 01101010 = 256 possible characters 8 bits (1 byte) 1000101101001111 = 65,536 possible characters 16 bits (2 bytes) Q uesto's Q uestions 2.4c - Character Storage: 1. What is a character set and why are they needed ? [ 2 ] 2. Describe 3 differences between ASCII and Unicode . [6 ] 3. The binary code for the character P in ASCII is 01010000 . State what the binary code for the character S would be. [1 ] 4a. A text file uses the ASCII character set and contains 400 characters . What would the file size be in kilobytes ? [ 2 ] 4b. A text file uses the Unicode character set and contains 150 characters . What would the file size be in kilobytes ? [ 2 ] 2.4b - Binary Addition & Shifts Theory Topics 2.4d - Image Storage

  • OCR CTech IT | Unit 1 | 3.2 - Virtualisation | CSNewbs

    Learn about the benefits and drawbacks of virtualization, as well as about cloud storage and virtual clients. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.2 - Virtualisation Exam Board: OCR Specification: 2016 - Unit 1 What is virtualisation? Virtualisation is the creation of a virtual version of a device , software , operating system or server . These virtual versions can then be run on a different physical computer system , such as a powerful server . There are many different types of virtualisation . Storage virtualisation combines multiple separate storage devices into acting and appearing like a single , central storage system . Using storage virtualisation improves scalability as further devices can join the storage system if more space is required . It also simplifies the management of storage across the network. Server virtualisation allows one physical server to be divided into and host multiple virtual servers , each running separately . Each virtual server operates independently , handling its own operating system and applications . This allows for resources to be used more effectively and improves the scalability and versatility of the physical server . Client Virtualisation (Virtual Clients) Client virtualisation is when several virtual desktops are run on a single server - think back to the hypervisor from 3.1 . A virtual client is a full desktop environment where the processing happens remotely . For example, where an operating system is managed and hosted centrally but displayed locally on a different computer. These are often known as 'dumb clients ' because the server does the processing for it , meaning it can have minimal resources like a slow processor and little memory / storage . General Benefits & Drawbacks of Virtualisation Benefits of virtualisation: Costs are cheaper in the long-term because money is saved by not purchasing multiple physical devices . Money is also saved due to less cabling and lower power consumption . If set up efficiently, it can be used for higher performance at a lower cost - "Do more with less" . Programs can be tested in a secure environment before main-system deployment. Simplified response to recover after a disaster because only the server needs to be fixed. Drawbacks of virtualisation: If not set up efficiently, users could face serious performance issues , as fewer servers do more work. If a single physical system fails , the impact will be greater . Initial set up is complex , requires technical knowledge and can cost a lot. Easier for hackers to take more information at once as the data is stored in the same place. Benefits of client virtualisation: All data is stored in one central location , making backup and disaster planning easier to manage . The whole system can be managed , secured and updated from the server , rather than from each individual system. Hardware costs will be reduced because the virtual clients do not store or process their own data , meaning they can be of a low spec . Users can have multiple virtual machines and log in remotely (from anywhere with internet access ). Drawbacks of client virtualisation: Users will be unable to work if network connectivity is lost . There is a high strain on the server as the virtual clients do not store or process data themselves . An increased load on the server might result in poor performance for each client, especially with multiple connections . As the data is stored in one location , there are security risks of unauthorised access if the server is not adequately protected . Server Virtual Clients Cloud Technology 'The cloud ' is storage that is accessed through a network , primarily the internet. A cloud server is an example of storage virtualisation as data may be stored across multiple physical devices . There are three different types of cloud storage: Private cloud is where a business will have its own data centre that employees can access. This allows for flexible and convenient data storage and gives the business control over data management and security . Users of the private cloud will not usually have to pay individually for access - but the company will need to spend a lot of money on set up and maintenance . Public cloud uses third-party service providers such as Google Drive or DropBox to provide storage over the internet . Public cloud is usually a pay-for-use service , where businesses will pay for specific amounts that they need. Data management and data security is maintained by the cloud provider and the business is dependent on them providing constant access and deploying effective security measures. Hybrid cloud uses a mix of on-site storage (private cloud) and third-party (public cloud) services . Organisations can move workloads between private and public clouds as their specific needs and costs change . A benefit of hybrid cloud is that it gives an organisation greater flexibility and data storage options. As an example, a company could use on-site or private cloud storage to hold sensitive information and third-party, public cloud services to hold less important data . Q uesto's Q uestions 3.2 - Virtualisation: 1. What is the difference between server and storage virtualisation ? [ 2 ] 2a. What is a virtual client ? [ 1 ] 2b. What are the advantages and disadvantages of client virtualisation ? [ 8 ] 3. Explain any further general advantages and disadvantages of using virtualisation , not covered in your answer to 2b. [4 ] 4. Describe the differences between private , public and hybrid cloud storage. [6 ] 3.1 - Server Types Topic List 3.3 - Network Characteristics

© CSNewbs 2026

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