Search CSNewbs
Search this site
305 results found with an empty search
- 1.2 - The FDE Cycle - Eduqas GCSE (2020 spec) | CSNewbs
Learn about the seven steps of the fetch-decode-execute cycle and important registers in the CPU. Based on the 2020 Eduqas (WJEC) GCSE specification. 1.2: The FDE Cycle Exam Board: Eduqas Specification: 2020 The Fetch - Decode - Execute (FDE) cycle is performed by the CPU millions of times every second. This cycle is how the CPU processes data and instructions for each program or service that requires its attention. Important Registers A register is a small storage space for temporary data in the CPU . Each register has a specific role . There are five essential registers used in the FDE cycle : Program Counter (PC) A register that tracks the RAM address of the next instruction to be fetched . Memory Address Register (MAR) A register that tracks the RAM address of the instruction that is to be fetched . Memory Data Register (MDR) The MDR stores the instruction that has been transferred from RAM to the CPU . Current Instruction Register (CIR) A register that stores the instruction that has been fetched from RAM , and is about to be decoded or executed . Accumulator (ACC) The ACC stores the result of mathematical or logical calculations . Fetch - Decode - Execute Cycle The essential idea of the FDE cycle is that instructions are fetched from RAM , to be decoded (understood) and executed (processed) by the CPU . 1. The Program Counter (PC ) register displays the address in RAM of the next instruction to be processed . This value is copied into the Memory Address Register (MAR ). 0054 2. The PC register is increased by 1 . This prepares the CPU for the next instruction to be fetched. 0055 3. The CPU checks the address in RAM which matches the address held in the MAR . 0054 4. The instruction in RAM is transferred to the Memory Data Register (MDR ). 5. The instruction in the MDR is copied into the Current Instruction Register (CIR ). MDR MDR CIR 6. The instruction in the CIR is decoded (understood) and executed (processed). Any result of an execution is stored in the Accumulator (ACC ) register. CIR ACC 7. The cycle repeats by returning to the first step and checking the program counter for the address of the next instruction . Q uesto's Q uestions 1.2 - The Fetch - Decode - Execute (FDE) Cycle: 1 . What is the purpose of the registers ? [1 ] 2 . Describe the purpose of each register : a. The Program Counter (PC) [ 1 ] b. The Memory Address Register (MAR) [ 1 ] c. The Memory Data Register (MDR) [ 1 ] d. The Current Instruction Register (CIR) [ 1 ] e. The Accumulator (ACC) [ 1 ] 3. Draw a diagram of the seven steps of the Fetch - Decode - Execute cycle . [7 ] 1.1 - The CPU 1.3 - Primary Storage Theory Topics
- 1.6 - Information Formats | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about different formats for presenting data on the internet including webpages, blogs, streamed video and audio, document stores and RSS feeds. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 1.6 - Information Formats Exam Board: OCR Specification: 2016 - Unit 2 The following formats are used to display information on the internet . Web Pages Web pages can be used for a diverse range of purposes including advertising products, reporting information , displaying images and eCommerce (online shopping). There are two types of web page: Static web page Static web pages contain content that is pre-built and remains the same each time the page is loaded . Static web pages are cheaper and easier to create and load quicker ; they use basic HTML. It can be changed by the site editor but will appear the same for everyone who has access to it, such as a classic promotional website for a small company. Dynamic web page Dynamic web pages are generated when they are loaded and can appear different to different users . Dynamic web pages are harder to code but they can be linked to databases to allow them to show personalised content to whoever is viewing the site; they are written in server-side languages like PHP. The Amazon homepage is an example of a dynamic web page as personalised deals based on previous user history will be shown if you are logged in with an account. Blogs Blogs are used to share information with like-minded individuals, such as those who enjoy the same hobbies or beliefs . Charities , game developers and other businesses also use blogs as a way of updating their customer base with what they have done or what they are working on. Blogs can feature multimedia such as text, images, videos and links to other sites. Advantages of Blogs Disadvantages of Blogs ✓ Share information with followers in the format of text, images and video . ✓ Blogs and vlogs can unite people with similar interests , such as a cookery blog or travel vlog. X Takes a lot of effort and time to create posts, especially if videos need to be edited before posting. Potential customers could be lost if blogs aren't updated regularly . X It can be difficult to build up a customer base directly from a blog. Posts must be engaging , researched and correct . Podcasts A podcast is a downloadable audio file , usually on a certain topic such as sports or gaming that can be listened to when convenient for the user. Spotify and Apple Music have a wide library of podcasts. Advantages of Podcasts Disadvantages of Podcasts ✓ Podcasts are not (usually) recorded live , so they can be edited and uploaded at a certain time each week. ✓ Podcasts can be listened to when convenient for the user, so they can't 'miss' it and can catch up when is best for them. ✓ Podcasts are becoming more and more popular , so the possible audience base is growing each year. Celebrity guests are one way to entice more listeners. X Takes time to record a podcast, especially if they need to be edited to add in music or sound effects or to remove mistakes . X It can be difficult to build up an audience directly from a podcast. Podcasts should be on a topic that interests people and spoken in an engaging way. Streamed Audio & Video Streaming is the process of receiving video / audio data in a continuous flow . This allows the user to access the video / audio immediately , without having to wait for the file to download entirely. For example, the BBC provide live radio streaming online for their radio shows and BBC iPlayer allows users to watch 'catch up' programs that previously aired. YouTube is a widely-used streamed video platform and Spotify is a popular streamed audio service. Advantages of Streamed Media Disadvantages of Streamed Media ✓ Streaming does not require data to be downloaded entirely before use - users can watch / listen as soon as the connection starts . ✓ Streaming is harder for users to share than downloading a file . Netflix uses this as a form of piracy protection . X Streaming requires high bandwidth so users may suffer performance issues on slower devices and networks . X Streaming requires a constant network connection compared to downloadable media which can be used when offline / outside. Social Media Channels Social media channels provide a huge amount of data on users in an informal space. Organisations can receive feedback through user posts and comments . Real-time statistics like views, likes and shares provide an insight to user opinion . Social media channels include traditional sites such as Facebook and Twitter as well as business and recruitment platforms such as LinkedIn . Discussion boards and forums , such as Reddit , are increasingly popular for users to discuss similar hobbies and interests such as politics, gaming and healthy eating. Advantages of Social Media Disadvantages of Social Media ✓ Social media can increase a business' online presence as it is online 24/7 for users to comment and interact with posts. ✓ Posts can be shared between users and their contacts, allowing a post to 'go viral' and be seen by potentially millions of viewers . ✓ Posts can be shared in different information styles such as text , images , video or hyperlinks to other websites. ✓ Businesses can use social media to communicate with their customer s , such as direct messages on Facebook if a customer is unhappy. X Businesses may need to hire a social media manager to interact with customers , update posts and remove spam. X Negative posts can be shared and spread very quickly , such as if a customer complains about how a business treated them poorly. X Businesses must be cautious about what they post , to not accidentally offend others and damage their reputation . Emails Emails can be used to provide information to a large amount of people almost instantly . A company may use an email to advertise new products , inform potential customers of a marketing promotion or target specific users based on previous interactions. Advantages of Emails Disadvantages of Emails ✓ Faster (almost instant) and cheaper (usually free) to send an email compared to traditional letters . ✓ Files can be attached to the email, such as images, videos or forms to complete. ✓ An audit trail can be kept, recording communication between the company and its customers. ✓ Emails can be sent, delivered and read at the user's convenience and to any internet-enabled device across the world . X An internet connection is required to open and read the email. Larger attachments may not open on mobile devices. X Malware can spread through email attachments. Phishers use emails to gain access to personal information and account details . X Some attachments sent via email may be unreadable on different devices / operating systems. X Emails may automatically go into the spam / junk folder and be deleted without being read . Document Stores Document stores allow users to store online files in cloud storage . Common services are Google Drive , Dropbox and Microsoft's OneDrive . Storing documents in the cloud allows users to edit and access them from any location with an internet connection and opens up opportunities for collaboration . Many organisations offer cloud storage space for free up to a certain amount before charging customers for more data. Document stores are very convenient for users and replace the need for portable storage devices like USB sticks. Teachers can use documents stores to share resources with other staff in a school . Documents stores can only be accessed with an internet connection so files will be unavailable during maintenance or network failure. Users rely on the cloud hosting provider, such as Microsoft and Google to keep the data secure and available . RSS Feeds RSS Feeds (short for Rich Site Summary ) allow users to subscribe to updates from their favourite websites. It is a web feed that updates whenever a subscribed site releases new information. For example, the BBC used to post updates for important news headlines which appeared in a subscribed user's RSS feed. As of 2020 most browsers no longer have built-in RSS functionality and it is rarely used . Q uesto's Q uestions 1.6 - Information Formats: 1. Describe the difference between static and dynamic web pages . [4 ] 2. For each type of information format describe its advantages and disadvantages . a. Blogs [8 ] b. Podcasts [8 ] c. Streamed Audio / Video [8 ] d. Social Media [8 ] e. Emails [8 ] 3. Explain how document stores could be used by organisations and individuals . [4 ] 4. Explain what an RSS feed is and how an organisation could use it . [3 ] 1.5 - WWW Technologies Topic List 1.7 & 1.8 - Internet Pros & Cons
- Assembly Language | CSNewbs
Learn about key mnemonics used in assembly language and how very simple programs can be created. Assembly Language Assembly language is a low-level programming language - it is closer to machine code (binary) than high-level programming languages like Python. Assembly language uses mnemonics (abbreviations of commands) to signify instructions; for example, input is written as INP and output is written as OUT . Little Man Computer is a representation of assembly language . This simulator will help you understand assembly language and allow you to check if your instructions are correct. Assembly Language Mnemonics INP (Input) INP is used to input a number . The number is temporarily stored in the accumulator . OUT (Output) OUT is used to output the number currently stored in the accumulator . STA (Store) STA stores the value that is currently in the accumulator . It can be used to assign a value to a variable. ADD (Addition) ADD is used to add a number to the value currently stored in the accumulator. SUB (Subtraction) SUB takes away a number from the value currently stored in the accumulator. LDA (Load) LDA is used to load the value of a stored variable back into the accumulator . BRZ (Branch if Zero) BRZ is used to loop only if the value in the accumulator is currently 0 . BRP (Branch if Positive) BRP is used to loop only if the value in the accumulator is currently positive (including 0). BRA (Branch Always) BRA is used to loop continuously . HLT (Halt) HLT will stop running the program . Every program MUST have a HLT command. DAT (Data Definition) DAT must be used to define a variable name (and / or set it with a starting value). Data definitions must be written at the end of the instructions . Peter Higginson's Little Man Computer simulation Examples of Simple Assembly Language Programs #1 - Input & Output Program Purpose: Input a number, store the number as a variable called Number1 and output the number. 1. Lets the user input a number 3. Outputs the value in the accumulator - which will be the number that was just inputted. 5. Defines a variable called 'Number1'. This has to be at the end of the program and you must write the variable name first, not the command first. INP STA Number1 OUT HLT Number1 DAT 2. Stores the number in a variable named 'Number1' - there must be no spaces in a variable name. 4. Halts (stops) the program. Type these instructions line by line into the Little Man Computer simulator to see how it works. #2 - Addition Program Purpose: Input and store two numbers. Add them together. Output the total. 1. Lets the user input a number 3. Lets the user input another number 5. Adds number1 to the value in the accumulator (which is currently number2 as you just inputted it). 7. Halts the program. Type these instructions line by line into the Little Man Computer simulator to see how it works. Then change the program to subtract the number instead. INP STA Number1 INP STA Number2 ADD Number1 OUT HLT Number1 DAT Number2 DAT 2. Stores the inputted number in a variable named 'Number1'. 4. Stores the inputted number in a variable named 'Number2'. 6. Outputs the value in the accumulator (which is now number1 added to number2. 8. & 9. The two variables Number1 and Number2 are defined on separate lines. #3 - Load in Order Program Purpose: Input and store three numbers. Load and output them in the order that they were entered. 1. - 6. Lets the user input three numbers and immediately stores each one as they are entered. 8. Now that Number1 has been loaded into the accumulator, this value is outputted. 13. Halts the program. Type these instructions line by line into the Little Man Computer simulator to see how it works. Let the user input a fourth number and output this fourth number last . INP STA Number1 INP STA Number2 INP STA Number3 LDA Number1 OUT LDA Number2 OUT LDA Number3 OUT HLT Number1 DAT Number2 DAT Number3 DAT 14. - 16. The three variables Number1, Number2 & Number3 are defined on separate lines. 9. - 12. Number2 is loaded and output then Number3 is loaded and output 7. Once all three numbers have been inputted and stored, the first number is loaded back into the accumulator. #4 - Branching Program Purpose: Input and store two numbers. Output the largest number. (Branching required). 1. - 4. Lets the user input two numbers and immediately stores each one as they are entered. 7. BRP is 'Branch is Positive'. If the result of Number1 - Number2 is positive then the program will jump to line 11. You can write any value instead of 'loop', such as 'jump' or 'break'. If the result is not positive it will continue to the next line. 11. - 13. The program will jump to line 11 if the result of Number1 - Number2 is positive. This means that Number1 is larger than Number2 so Number1 is loaded and output then the program is halted. INP STA Number1 INP STA Number2 LDA Number1 SUB Number2 BRP loop LDA Number2 OUT HLT loop LDA Number1 OUT HLT Number1 DAT Number2 DAT 5. & 6. Loads Number1 and subtracts Number2 from it. 8. - 10. The program will continue to line 8 if the result of Number1 - Number2 is not positive. Because the result is a negative number, this tells us that Number2 is larger than Number1. So we load Number2, output it because it is bigger, then halt the program. 14. - 15. The variables Number1 & Number2 are defined on separate lines. Type these instructions line by line into the Little Man Computer simulator to see how it works. Change the program so that the smallest number is output .
- 8.2 - Understanding Algorithms - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about algorithms including pseudocode and flowcharts. Based on the 2020 Eduqas (WJEC) GCSE specification. 8.2: Understanding Algorithms Exam Board: Eduqas Specification: 2020 What is an algorithm? An algorithm is a set of instructions , presented in a logical sequence . In an exam you may be asked to read and understand an algorithm that has been written. To prove your understanding you may be asked to respond by actions such as listing the outputs of the algorithm, correcting errors or identifying an error within it. Programmers create algorithm designs as a method of planning a program before writing any code. This helps them to consider the potential problems of the program and makes it easier to start creating source code. There are two main methods of defining algorithms : Defining Algorithms - Pseudocode & Flowcharts Pseudocode Pseudocode is not a specific programming language but a more general method of describing instructions . It should be unambiguous, and it should not resemble any particular kind of programming language (e.g. Python or Java), so it can theoretically be turned into working code in any language. Generally, pseudocode can be written in any way that is readable and clearly shows its purpose. However, the Eduqas exam board advises that pseudocode for the programming exam should follow the conventions below : Annotation { Write your comment in curly brackets} Define data type price is integer firstname is string Declare a variable's value set price = 100 set firstname = "Marcella" Input / output output "Please enter your first name" input firstname Selection (must have indentation) if firstname = "Steven" then output "Hello" + firstname elif firstname = "Steve" then output "Please use full name" else output "Who are you?" end if Iteration (while loop) while firstname ! = "Steven" output "Guess my name." input firstname repeat Iteration (for loop) for i in range 10 input item next i Define a subroutine Declare Sub1 [Subroutine content indented] End Sub1 Call a subroutine call Sub1 Flowcharts A flowchart can be used to visually represent an algorithm. The flowchart symbols are: Algorithm Examples Below are two different methods for representing the same algorithm - a program to encourage people to buy items cheaply at a supermarket. The program allows the price of items in a supermarket to be entered until the total reaches 100. The total price and the number of items entered are tracked as the program loops. Once the total reaches 100 or more, an if statement checks how many items have been entered and a different message is printed if there are 20 or more items, 30 or more items or less than 20 items. Pseudocode Flowchart {This is a program to see how many items you can buy in a supermarket before you spend over £100} total is integer, itemsentered is integer, itemprice is integer set total = 0 set itemsentered = 0 while total < 100 output "enter the price of the next item" input itemprice total = total + itemprice itemsentered = itemsentered + 1 repeat if itemsentered >= 20 then output "You are on your way to saving money." elif itemsentered => 30 then output "You're a real money saver." else output "Look for better deals next time." end if Reading Algorithms In an exam you may be asked to read an algorithm and prove your understanding , most commonly by listing the outputs . Start from the first line and follow the program line by line , recording the value of variables as you go . When you encounter a for loop , repeat the indented code as many times as stated in the range . Example Algorithm: Start NewProgram i is integer maxvalue is integer input maxvalue for i = 1 to maxvalue output (i * i) ??????? output 'program finished' End NewProgram Example Questions: 1. List the outputs produced by the algorithm if the 'maxvalue' input is 5 . 2. State the code that has been replaced by '???????' and what the code's purpose is. Example Answers: 1. Outputs: 1 4 9 16 25 program finished 2. Missing Code: next i Purpose: Moves the loop to the next iteration. Watch on YouTube Q uesto's Q uestions 8.2 - Understanding Algorithms: 1a. Read the algorithm shown on the left and list all outputs in the correct order if the inputs are 2 for height and 72 for weight . 1b. Give the code that is missing from line 25 . 8.1 - Programming Principles Theory Topics 8.3 - Writing Algorithms
- Python | 5c - Date & Time | CSNewbs
Learn how to use time commands to display the current date and time in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 5c - Time & Date ctime() The easiest way to output the current time and date is to use the ctime() command. Import the ctime command from the time library before you use and print it: from time import ctime print ( "Current time:" , ctime()) = Current time: Wed Sep 13 16:07:20 2023 This will print the time and date, but it looks rather unprofessional, and the exact format depends on the type of system that you are currently running so it may vary for different users. Date / Time Task 1 ( Dentist Surgery) Print a greeting for a dentist surgery with the current date and time. Example solution: Welcome to Greenvale Dentist Surgery, it is currently: Wed Sep 13 16:16:24 2023 strftime() A better alternative to the ctime() command is to use strftime() which stands for str ing f rom time as you can select specific parts of the date and time to display. This command requires a directive to be written with a percentage symbol as a string in the brackets . For example, the current hour (%H ), minute (%M ) and second (%S ) can be printed between colons to show the time . from time import strftime print ( "The current time is" , strftime( "%H:%M:%S" )) = The current time is 13:18:57 There are many different directives that you can use to display exactly what you are looking for, such as: from time import strftime day = strftime( "%A" ) print ( "The current day is" , day) month = strftime( "%B" ) print ( "The current month is" , month) year = strftime( "%Y" ) print ( "The current year is" , year) = The current day is Thursday The current month is September The current year is 2023 The following directives can be used with strftime(). Don't forget that directives must be typed within speech marks . Date - Weekday: %a – Current day of the week abbreviated (e.g. Sun, Mon) %A – Current day of the week in full (e.g. Sunday, Monday) %w – Current day of the week in chronological order (0 is Sunday and 6 is Saturday) %W – Current week number (e.g. 01, 26, 52) Month: %d – Current day of the month (e.g. 01, 11, 31) %m – Current month as a number (e.g. 01, 06, 12) %b – Current month abbreviated (e.g. Jan, Jun, Dec) %B – Current month in full (e.g. January, December) Year: %y – Current year abbreviated (e.g. 16, 17) %Y – Current year in full (e.g. 2016, 2017) %j – Current day of the year (e.g. 001, 150, 365) Time - Hour: %H – Current hour in 24-hour clock (e.g. 00, 12, 20) %I – Current hour in 12-hour clock (e.g. 01, 08, 12) %p – Whether it is currently AM or PM Minute: %M – Current minute (e.g. 00, 30, 59) Second: %S – Current second (e.g. 00, 30, 59) More Directives - %z – Current time difference from UTC (Co-ordinated Universal Time) (e.g. +0000, -0500, +1100) %Z – Current time zone (e.g. GMT Standard Time, EST, CST) Just looking for a quick date or time display and not bothered about customisation? Try these: %c – Current date and time in full (e.g. Tue Feb 19 13:35:20 2016) %x – Current date (e.g. 19/02/16) %X – Current time (13:36:20) Date / Time Task 2 ( Calendar App ) Create a program that asks the user if they want to see the current date , the current time or 'other '. Use the strfftime directives above to show what the user asks for. It's up to you which directives you use for the 'other' option , such as displaying the current day of the year (%j ) or current week of the year (%W ). Example solutions: Type TIME for the current time, DATE for the current date or OTHER: TIME The current time is 13:46PM Type TIME for the current time, DATE for the current date or OTHER: DATE The date today is Thursday 14 September 2023 Type TIME for the current time, DATE for the current date or OTHER: OTHER Did you know today is day number 257 of 2023? Between Dates You may want to work out the number of days between two dates . This can be done by importing the date command from the timedate library. Below is a simple example: from datetime import date date1 = date(2021,9,15) date2 = date(2022,1,20) difference = date2 - date1 print ( "There are" , difference.days , "days between" , date1 , "and" , date2) Make sure the date is entered in the format of year, month, day . The .days code removes the difference in hours and seconds to just display the number of days difference. There are 127 days between 2021-09-15 and 2022-01-20 Today's Date The program here uses strftime to check the current year, month and day and organise it into the date format . This can then be used together with code similar to the program above to check the number of days between one specific date and the current date. from datetime import date from time import strftime thisyear = int (strftime( "%Y" )) thismonth = int (strftime( "%m" )) thisday = int (strftime( "%d" )) todaysdate = date(thisyear,thismonth,thisday) print ( "The date today is" , todaysdate ) The date today is 2023-09-14 Input a Date The program here shows how to input a date into a format that can then be used by Python to work out the difference between two dates . from datetime import date year = int ( input ( "Enter a year: " ) month = int ( input ( "Enter a month: " ) day = int ( input ( "Enter a day: " ) chosendate = date(year,month,day) print ( "The chosen date is" , chosendate ) Enter a year: 1964 Enter a month: 5 Enter a day: 13 The chosen date is 1964-05-13 Date / Time Task 3 ( Days Alive) Create a program that works out how long the user has been alive for . Use the examples above to automatically make today's date and then allow the user to input their year , month and day of birth. Get Python to work out the difference between today and their date of birth. Example solutions: Enter a year: 1998 Enter a month: 3 Enter a day: 29 You have been alive for 9300 days! Enter a year: 2007 Enter a month: 12 Enter a day: 25 You have been alive for 5742 days! ⬅ 5b - Sleep 5d - Colorama ➡
- 3.1 - Compression, Encryption & Hashing | OCR A-Level | CSNewbs
Learn about lossy and lossless compression and the lossless compression algorithms run-length encoding and dictionary coding. This topic also covers symmetric and asymmetric encryption and the uses of hashing. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 3.1 - Compression, Encryption and Hashing Specification: Computer Science H446 Watch on YouTube : Lossy & Lossless Compression Lossless Compression Algorithms Encryption Hashing Lossy vs Lossless Compression Compression is the process of reducing the size of a file so it takes up less storage space and can be transmitted more quickly over a network . It works by encoding data more efficiently or removing unnecessary information . Benefits of compression include faster file transfer speeds , reduced storage requirements and improved performance when streaming data . Lossy compression permanently removes some data that is less important to human perception , such as subtle sounds or image details , resulting in smaller file sizes but slightly lower quality . Lossless compression reduces file size without losing any data , allowing the original file to be perfectly restored after it is decompressed . Lossless Compression Algorithms There are two types of lossless compression that you need to know: Run-Length Encoding (RLE ) is a simple form of lossless compression that reduces file size by storing repeating data as a single value and a count . For example, a sequence like AAAAABBBCCCC could be stored as A5B3C4 , saving space in files with many repeated elements , such as pixels in images . Dictionary Encoding replaces repeating patterns of data with shorter codes that reference entries in a dictionary . The dictionary stores common sequences once , and each repetition is replaced by a shorter reference , making it efficient for text and other data with recurring patterns . Encryption Encryption is the process of converting readable data (plaintext ) into an unreadable form (ciphertext ) to prevent unauthorised access . It ensures the confidentiality and security of information during storage or transmission . Symmetric encryption uses the same key for both encryption and decryption , meaning the sender and receiver must share the key securely . It is fast and efficient, but key distribution is a major risk if the key is intercepted . Asymmetric encryption uses a pair of keys - a public key for encryption and a private key for decryption . It is more secure for communication and vital for confidential uses such as banking . Hashing Hashing is the process of applying a mathematical function (hash function ) to data to produce a fixed-size value , known as a hash . It is a one-way process , meaning the original data cannot be reconstructed from the hash . Hashing is commonly used for data integrity checks , password storage and digital signatures . Even a tiny change in the input data produces a completely different hash , making it useful for detecting tampering or corruption . Q uesto's K ey T erms D id Y ou K now? Compression: lossy compression, lossless compression, run-length encoding, dictionary encoding Encryption: plaintext, ciphertext, key, symmetric encryption, asymmetric encryption Hashing: hash function, hash Alan Turing and his team used pattern recognition to analyse recurring sequences in encrypted German messages , helping to break the Enigma code , which was a major factor in the Allies’ victory in World War II . 2.4 - Programming Languages A-Level Topics 3.2 - Databases
- Eduqas GCSE Topic List | CSNewbs
The list of topics in the 2020 Eduqas (part of WJEC) GCSE Computer Science specification. Eduqas GCSE Computer Science These pages are based on the Eduqas GCSE Computer Science 2020 specification . 1. Hardware 1.1 - The Central Processing Unit (CPU) 1.2 - The FDE Cycle 1.3 - Primary Storage 1.4 - Secondary Storage 1.5 - Performance 1.6 - Additional Hardware 2. Logical Operators & Boolean 2.1 - Logical Operators 2.2 - Boolean Algebra 3. Networks & Security 3.1 - Network Characteristics 3.2 - Data Packets & Switching 3.3 - Network Topology 3.4 - Network Hardware & Routing 3.5 - Protocols 3.6 - 7-Layer OSI Model 3.7 - The Internet 3.8 - Cyber Threats 3.9 - Protection Against Threats 4. Data 4.1 - Number Systems 4.2 - Signed Binary 4.3 - Binary Calculations 4.4 - Arithmetic Shift 4.5 - Character Sets & Data Types 4.6 - Graphical Representation 4.7 - Sound Representation 4.8 - Compression 5. Data Organisation 5.1 - Data Structures & File Design 6. Operating Systems 6.1 - Operating Systems 6.2 - Utility Software 7. Principles of Programming 7.1 - Language Levels 8. Algorithms & Constructs 8.1 - Programming Principles 8.2 - Understanding Algorithms 8.3 - Writing Algorithms 8.4 - Sorting & Searching Algorithms 8.5 - Validation & Verification 9. Software Development 9.1 - IDE Tools 10. Program Construction 10.1 - Translators 10.2 - Stages of Compilation 10.3 - Programming Errors 11. Technological Issues 11.1 - Impacts of Technology 11.2 - Legislation Component 2 (Programming Exam) Python
- 2.1 - Data Formats & Types | F161 | Cambridge Advanced National in Computing | AAQ
Learn about data formats such as ASCII, Unicode, CSV, fixed-width, JSON and XML and data types, including Boolean, character, date, integer, real and string. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 2.1 - Data Formats & Types Watch on YouTube: Data Formats Data Types You need to know the characteristics , uses , advantages and disadvantages of six data formats (ASCII , Unicode , CSV , fixed-length , JSON and XML ). You also need to know the characteristics , uses , advantages and disadvantages of six data types (Boolean , character , date , integer , real and string ). What You Need to Know Data Formats ASCII ASCII (American Standard Code for Information Interchange ) is a character-encoding system that represents 256 characters using 8-bit ( 1 byte ) binary codes , including English letters , numbers , punctuation and control characters . It is used for storing and transferring basic English text , such as simple text files and character-based data . It is simple , requires little storage and is widely supported by different computer systems . However, it supports a limited range of characters , so it cannot represent most non-English alphabets , symbols or emojis . Link, Ocarina of Time, 1998 Lamball, Palworld, 2024 This information can simply be stored as plain ASCII characters. Unicode Unicode is a character-encoding standard that can represent a very large range of characters and symbols from different languages . A common encoding is UTF-16 , which uses 16 bits (two bytes ) for 65,536 possible characters . It is typically used for websites , applications and documents that need to store multiple languages , symbols and emojis . Unicode supports characters from many different languages and provides a consistent standard across different systems . However, some Unicode encodings can require more storage per character than ASCII, and incorrect encoding can cause characters to display incorrectly . Link 🗡️ | Ocarina of Time ⏳ | 1998 🗓️ Lamball 🐑 | Palworld 👹 | 2024 🗓️ Similar to ASCII, but Unicode allows a much wider range of characters and symbols. CSV CSV (comma-separated values ) is a plain-text , tabular format where each row represents a record and values are separated into columns , usually by commas . The first row often contains column names . It is used in storing and transferring tabular data , such as spreadsheets , datasets and data exported from databases . CSV is simple , human-readable , lightweight and widely compatible , resulting in small files that are fast to process and can be opened by many applications . But, it has limited support for data types and complex/nested data , with no enforced structure or validation , meaning inconsistent formatting , missing values and encoding problems can occur. Character,Game,Year Link,Ocarina of Time,1998 Lamball,Palworld,2024 Each value is separated by a comma, with column headings on the first row. Fixed Width Fixed width is a text-based format where each field is allocated a fixed number of characters , so data always starts and ends at predetermined positions . It is used in legacy systems , financial systems and transferring structured records where fields need to remain in predictable positions . Fixed width has a consistent and predictable structure , making fields easy for software to locate without needing separators . But it can waste storage space because fields must use their allocated width and changing the structure or allowing longer values can be difficult . Character Game Year Link Ocarina of Time 1998 Lamball Palworld 2024 Each field is given a set amount of space so that the values line up. JSON JSON (JavaScript Object Notation ) is a lightweight , text-based and human-readable format that uses key-value pairs and can contain nested data . It is used when transferring structured data between applications , particularly web applications , servers and APIs . JSON is lightweight , easy for humans to read and software to process , supports complex/nested data and works with many programming languages . It is simple to read/write , scalable and language-independent . But it can become difficult to read with large or deeply nested datasets , and syntax errors can prevent the data from being parsed correctly . { "character": "Link" , "game": "Ocarina of Time" , "year": 1998 } Data is stored using key-value pairs. XML XML (eXtensible Markup Language ) is a text-based , human-readable format that uses custom tags and attributes to describe and structure data and supports hierarchical/nested data . It is used to store and transfer structured data between different applications and systems , including configuration files and data exchange . XML is flexible , platform-independent and human-readable , with support for metadata and nested structures that allow complex data to be represented . However, XML can be verbose (uses lots of extra text/tags ), increasing file size and processing requirements . Complex XML can be difficult to process and syntax errors such as unclosed tags can prevent data from being parsed . Link Ocarina of Time 1998 Data is stored between descriptive opening and closing tags Data Types Character A character stores a single letter (e.g. L ), digit (e.g. 7 ) or symbol (e.g. @ ). It is used to store individual values such as initials , grades or single-letter codes . It is suitable and storage-efficient when only one character needs to be stored , but can only store one character , so multiple characters require a string . String A string stores a sequence of characters , such as "Pokopia" , "Nintendo Switch 2" or "2026" . Strings store text-based information , such as names , addresses , usernames and descriptions . They can store multiple characters and a wide variety of text , making it flexible for textual data . However, they usually require more storage than a single character , and numbers stored as strings cannot normally be used directly in mathematical calculations . Integer An integer stores whole numbers with no decimal places , including positive numbers , negative numbers and zero , e.g. -5 , 0 , 120 . It is used to store values that are counted in whole numbers , such as quantity , lives remaining or number of users . Integers require less storage and can be faster and more precise to process than real numbers when decimals aren't required . However, they cannot represent fractional or decimal values , making it unsuitable for values such as 3.5 . Real A real (also known as a float ) stores numbers that can contain a fractional/decimal part , such as 3.14 , -2.5 or 10.0 . it is used in storing measurements and calculations requiring decimal values , such as temperature , distance or speed . Reals can represent a much wider range of numerical values than integers , including fractional values . However, they require more storage than an integer and some real numbers cannot be represented exactly , potentially causing small rounding errors . Boolean A Boolean stores one of two possible values , usually True or False . It is used in representing yes/no or on/off condition s, such as whether a user is logged in . It requires little storage and is simple and efficient for making decisions in programs . But it can only represent two states , so it is unsuitable when more possible values are needed . Date The date data type stores a calendar date , typically containing a day , month and year , such as 21/11/1998 . It is used to store dates of birth , appointment dates , deadlines and release dates . it allows software to validate , compare , sort and perform calculations with dates . However, different date formats can cause confusion or compatibility problems . For example, 11/10/2026 could mean 11th October or 10th November . Q Half-Life 2 493 93.4 True 18/08/2026 Q uesto's Q uestions 2.1 - Data Formats & Types: 1. For each data format (ASCII , Unicode , CSV , fixed width , JSON and XML ), describe its characteristics and give one typical use . [ 3 each ] 2. Give two advantages and two disadvantages of each of the following data formats : CSV , fixed width , JSON and XML . [ 4 each ] 3. Explain the difference between ASCII and Unicode , including an advantage and disadvantage of each. [ 5 ] 4. For each data type (Boolean , Character , Date , Integer , Real and String ), describe its characteristics and give an example of data it could store. [ 2 each ] 5. For a hospital database , explain why different data types and data formats would be suitable for storing different pieces of data . Be specific . [5 ] Some older computers stored years using only two digits to save space . This contributed to the Y2K problem , where 00 could be interpreted as 1900 rather than 2000 , leading organisations around the world to check and update their systems before the new millennium . D id Y ou K now? 1.3 - Storage Topic List 2.2 - Data Flow
- 6.2 - Communication Skills | F160 | Cambridge Advanced National in Computing AAQ
Learn about how communication skills contribute to software application development, including verbal, written and questioning techniques. Based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) (AAQ - Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 6.2 - Communication Skills Watch on YouTube : Communication skills Developers working to create applications must be able to effectively communicate with team members , clients and users in a range of different ways . There are five communication skills you need to know: appropriate language , verbal , non-verbal , questioning techniques and written communication . You need to be aware of how each communication skill contributes to software application development and when they would be used appropriately by various job roles and in different stages of application development . Communication Skills Forms of Communication Appropriate language must be used to meet the needs of the audience by tailoring vocabulary , tone and technical detail to suit the client . Non-verbal communication includes body language , facial expressions , gestures , posture , eye contact and appearance . Question techniques have different goals , such as probing questions being used to explore detail and clarifying questions to check understanding . Verbal communication relates to spoken words and includes articulation , tone and pace , but also listening skills . Written communication is through emails , reports , documentation , messages and comments . It requires clarity , accuracy and professionalism . Q uesto's Q uestions 6.2 - Communication Skills: 1. Give examples of when written communication would be used in application development and by which job roles . [3 ] 2. Describe four different types of questions , with an example of each that relates to application development . [4 ] 3. Explain why effective non-verbal communication is important in application development . [ 3 ] Studies estimate that adults ask about 30 questions a day , whereas 4-year-olds ask on average 300 questions a day . D id Y ou K now? 6.1 - Job Roles Topic List
- 5.1 - Operating Systems - OCR GCSE (J277 Spec) | CSNewbs
Learn about the five main roles of an operating system including CPU management, security, managing processes and the user interface. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 5.1: Operating Systems Exam Board: OCR Specification: J277 Watch on YouTube : Operating Systems What is an Operating System? An operating system (OS ) is software that helps to manage the resources of a computer system and provide the interface between the user and the computer’s hardware . There are five main functions of an operating system: Memory Management & Multitasking All programs must be temporarily stored in RAM for the CPU to be able to process them. The OS transfers programs in and out of memory from the hard drive (or virtual memory ) when processing is required - programs are removed from RAM when closed to free up space for other tasks. The operating system can only perform one process at a time , but through memory management it can appear that more than one process is being executed - this is called multitasking . Peripherals Management & Drivers A peripheral is an external device connected to a computer system to input or output data . Data is transferred between external devices and the processor and this process needs to be managed by the operating system . A device driver is a program that provides an interface for the OS to interact and communicate with an external device . Drivers are hardware dependent and OS-specific . The driver translates the OS’ instructions into a format the specific hardware can understand . Because the CPU and the peripheral will process data at different speeds , a buffer is typically used to temporarily store data until it can be processed . User Management The OS allows users to create , manage and delete individual accounts . User accounts can be granted different access rights such as an administrator or guest . The OS will manage security settings such as allowing passwords to be reset and can also be used to monitor login activity . File Management The operating system creates and maintains a logical management system to organise files and directories (folders ). File management allows files to be named , renamed , opened , copied , moved , saved , searched for , sorted and deleted . It also allows users to set access rights for specific files and to view file properties . User Interface The final function of an operating system is to provide a user interface , allowing a human to interact with the computer system . The way in which a user can navigate a computer system is known as human-computer interaction ( HCI ). Graphical User Interface (GUI) The most common type of user interface is a graphical user interface (GUI ) which can be presented in the following ways: Icons are displayed to represent shortcuts to applications and files. Multiple windows can be opened at the same time and switched between. A folder and file system is displayed and manipulated allowing for copying , searching , sorting and deleting data. The interface can be customised , such as changing font sizes and the desktop background . The taskbar allows shortcuts to be pinned for quick access . Menus can be opened from the Start button to display files and shortcuts. System settings can be accessed such as network and hardware options . Command-Line Interface Other types of user interface do exist, such as a command-line interface (CLI ). This type of interface is entirely text-based and requires users to interact with the system by typing commands . This is a complicated process and mistakes could easily accidentally delete data. There are many commands to learn so only experts who have been trained t o learn this interface will be able to efficiently make use of it. Other Interfaces Humans can interact with computers using other types of interface , such as: Touch-sensitive interface (e.g. smartphones ). Voice-sensitive interface (e.g. smart speakers ). Menu-driven interface (e.g. ATMs in banks). Q uesto's Q uestions 5.1 - Operating Systems: 1. Describe each role of the operating system : Providing a user interface [ 3 ] Memory management (and multitasking) [ 3 ] Peripheral management (and drivers) [ 3 ] User management [ 3 ] File management [ 3 ] 2. Describe 5 different ways the operating system can provide a graphical user interface (GUI) . [5 ] 4.2 - Preventing Vulnerabilities Theory Topics 5.2 - Utility Software
- 6.2 - Risks | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the risks of storing and processing data, including accidental deletion and hacking. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 6.2 - Risks Exam Board: OCR Specification: 2016 - Unit 2 Unauthorised Access to Data As part of the security principle of confidentiality , data should only be viewed by individuals with the authorisation to do so. There are two main reasons why data may be viewed by someone who shouldn't - espionage and poor information management . Espionage is the act of collecting data so that it can be used against an organisation - such as a competitor acquiring information about their rival's product before it is launched publicly. If a company has poor information management strategies in place and data is insecurely stored or too many people have access to sensitive information then it is more likely to be viewed by unauthorised persons. Not only would competitors benefit from unauthorised access, but the Data Protection Act (2018 ) would also be broken if personal data was accessed . Accidental Loss of Data Data loss refers to information being irretrievably lost - not just a copy of the file but the original version too so it cannot be accessed in any format . One reason for accidental data loss is equipment failure or a technical error that leads to data corruption , such as a database crash or hard drive failure. Human error is another reason for accidental data loss as an employee might accidentally delete a file or discard an important paper document without realising. If data is accidentally lost then it could mean that hours of data entry and collection will have been for nothing and might delay dependent processes such as analysis and trend recognition. Also, if it was personal data that was lost then the security principle of availability has been broken and the Data Protection Act ( 2018 ) has been breached . Intentional Destruction of Data This is the act of purposely damaging an organisation by deleting or denying access to data . Examples include viruses that corrupt data so that it can no longer be used and targeted malicious attacks such as DDOS (distributed denial of service) attacks or ransomware . Ransomware encrypts files so that they can only be accessed again when certain criteria have been met, usually the affected group having to pay an extortionate fee . When data is intentionally deleted the organisation in question can respond by replacing the data and any infected computer systems / devices or by ignoring the loss and not making the breach public - but having to re-collect / re-analyse the data. Data destruction will usually lead to a loss of reputation as customers won't want to have their information stored in a system they see as unreliable and insufficiently protected . This loss of reputation could lead to customer loss and a decrease in profits . If the loss is ignored and unreported then it could result in a huge loss of trust when it is eventually revealed - like Yahoo who only confirmed a massive data breach that happened in 2013, two years later in 2016. This breach affected all 3,000,000,000 Yahoo accounts and is the largest data breach in the history of the internet. Intentional Tampering with Data This is when data is changed and no longer accurate . This could occur through fraudulent activity such as hacking to change information displayed on a webpage. An example is if a student or a teacher changed exam answers for a better grade. A business example is if a company tampered with financial data to display larger profits and smaller losses than real figures, to boost investment or please stakeholders. If data tampering is found out then it can result in a loss of reputation as that organisation cannot be trusted to report data accurately . If personal data has been altered then the security principle of integrity will have been broken as the data is no longer accurate . Data security methods and protection systems will also need to be reviewed if data has been tampered with, especially if it was an external individual that accessed and changed the data. Employees that tamper with data will be fired and may face legal action . Q uesto's Q uestions 6.2 - Risks: 1. Describe two effects on an organisation for each of the four identified risks . [8 ] 2. Research at least one real-life example for each risk above and describe the consequences of that example, such as the Yahoo data breach. [12 ] 6.1 - Security Principles Topic List 6.3 - Impacts
- OCR CTech IT | Unit 1 | 2.5 & 4.2 - Communication Methods | CSNewbs
Learn about the different methods of communication using physical and digital ways of transferring data. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.5 & 4.2: Communication Methods Exam Board: OCR Specification: 2016 - Unit 1 Sections 2.5 and 4.2 are very similar so both are mixed within this page. There are many ways that employees of a business can communicate between staff members or with their customers . Text-based Communication Letter ✓ It is a traditional method of communication that can be used for formal occasions such as job offers or resignations . ✓ It can be kept and stored for physical evidence - e.g. keeping an applicant's CV in case an opportunity arises in the future. X Requires postage costs to be sent in the mail (a first-class stamp is now £1.65 ). Overseas delivery is even more expensive . X Takes several days time to be received in the post and may be lost . X A letter can't include certain formats like video. Text Message (SMS) ✓ Can reach a large audience at once with one batch message . ✓ Good for short messages - e.g. appointment reminders or confirmation codes for two-factor authentication . ✓ Doesn't require an internet connection to receive messages. X Limited to short messages (160 characters ) with no multimedia . X Text messages can cost to send each message. SMS stands for Short Message Service . Email ✓ Easily send information to many people at once, instantly . ✓ Can include documents , multimedia attachments and links . ✓ Can send targeted emails to customers on a mailing list with new products or sales promotions . X Important messages may be lost in the spam folder. X Phishing scams can spread malware via email attachments. Instant Messaging ✓ Works in real-time - messages are sent and received instantly . ✓ Attachments and hyperlinks can be sent. ✓ Can be used by support staff to help customers in real-time. X Quick speed means it's less suitable for formal conversations like interviews. X Internet access issues will disrupt any conversations . Voice-based Communication Cellular ✓ Can hear how something is said , unlike text responses. ✓ Fastest method of communication - also allows reactive conversations that can quickly change based on previous responses. X Impacted by cellular reception - won't work in remote areas / underground. X Can't see the other person's body language, presentation or facial expressions. Teleconferences ✓ Allows for groups of people to communicate at once . ✓ Businesses can use teleconferencing to communicate between offices / individuals across the world . X The quality of the call may be affected by a group's poor reception . X Because a group is communicating, people may speak over each other , especially if there is a time delay . VoIP (Voice over Internet Protocol) ✓ Allows a user to make calls over the internet (e.g. using WhatsApp). ✓ Cheaper (can also be free) to make calls rather than using a cellular network . X Relies on a good-quality internet connection . X Can potentially be less secure than cellular connections. hi there Personal Assistants ✓ Speeds up processes by making appointments, checking information or connecting to smart devices. ✓ Voice-activated - can be used whilst otherwise busy , such as typing, cooking or driving. ✓ The language can be changed to suit people's preferences. X Huge privacy concerns as companies store audio data for voice recognition and track all commands made to the device. X There may be recognition issues as sometimes the assistant doesn't understand a command . Online Communication Video Conferences ✓ Users can connect to the call (e.g. using Zoom, Skype, or Google Meet) remotely , saving time and money instead of all travelling to one location. ✓ Can be used for interviews as it allows the applicant and the interviewers to see each other and look for body language . ✓ Users can share information visually , such as designs. X A high-bandwidth connection is required to send and receive video data reliably . X A poor internet connection (e.g. a weak WiFi signal ) will result in low-quality video that may stutter or drop out , making it hard to communicate clearly . Social Media ✓ Businesses can quickly share information with a large online audience , including new potential customers . ✓ Posts can be in d i fferent formats such as text, images, videos or links to other websites. ✓ Direct messages sent on social media may be seen and responded to faster than alternatives like using email if push notifications are enabled on a phone. ✓ Some social media sites like Facebook allow for private , invite-only groups to communicate with like-minded users in a secure way. X Businesses must be cautious about what they post so as not to accidentally offend others and damage their reputation . X Social media posts and customer comments must be carefully managed , so a social media manager should be hired. Blog / Vlog ✓ Share information with followers in text , images and video formats . ✓ Blogs and vlogs can unite people with similar interests , such as a cookery blog or travel vlog. ✓ Companies can use a blog to promote new products and provide details of upcoming events to try and attract new customers . X Takes a lot of effort and time to create posts, especially editing videos for vlogs. X Bad behaviour or language in vlogs can bring punishment. Several YouTubers have lost their reputations following videos they have posted. Q uesto's Q uestions 2.5 & 4.2 - Communication Methods: 1. Describe three advantages and three disadvantages for each type of communication method . You will need to think of or research some more than the examples listed on this page. a. Letter b. SMS (Text Message) c. Email d. Instant Message e. Cellular Call f. Teleconference g. VoIP Call h. Personal Assistant i. Video Conference j. Social Media k. Blog / Vlog [6 each ] 2. Explain what VoIP stands for and what it allows a user to do. [ 2 ] 3. Describe which communication method would be most appropriate for the following scenarios and why : a. Informing your boss you are going to resign. b. Communicating with management about raising your pay. c. Chatting to team members about when the Christmas party is. d. Sending promotions to thousands of customers. e. Interviewing a potential new employee who is in a different country. f. Talking with a group of investors about the company's latest data. [2 each ] 2.6 - Software Troubleshooting 2.4 Operating Systems 4.1 Communication Skills 4.3 - Personal Attributes Topic List








