Search CSNewbs
Search this site
304 results found with an empty search
- 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
- Python | Section 6 Practice Tasks | CSNewbs
Test your understanding of for loops and while loops in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 6 Practice Tasks Task One: Odd Numbers Use a for loop to print all odd numbers between 50 and 70 . You will need to use three values in the range brackets, including a step . Requirements for full marks: A comment at the start to explain what a for loop is. Use just two lines of code. Example solution: 51 53 55 57 59 61 63 65 67 69 Task Two: Fish Rhyme Use two separate for loops and some additional print lines to output this nursery rhyme: "1, 2, 3, 4, 5, Once I caught a fish alive, 6, 7, 8, 9, 10 then I let it go again" in the format shown . Requirements for full marks: Two for loops and two additional print lines (6 lines total). Example solution: 1 2 3 4 5 Once I caught a fish alive. 6 7 8 9 10 Then I let it go again. Task Three: Username & Password Create a program using a while loop that keeps asking a user to enter a username and a password until they are both correct . It may be easier to use a while True loop . You will need to use the and command in an if statement within the loop. Requirements for full marks: A comment at the start to explain what a while loop is. Example solution: Enter username: Ben43 Enter password: hamster Incorrect, please try again. Enter username: Ben44 Enter password: ben123 Incorrect, please try again. Enter username: Ben43 Enter password: ben123 Correct Correct login. Welcome Ben43 Task Four: Colour or Number Use a while True loop to let the user enter either A , B or C . A lets them guess a secret colour . B lets them guess a secret number . C breaks the loop , ending the program. Example solution: Enter A to guess a colour, B to guess a number, C to quit: A Guess the colour: green Incorrect! Enter A to guess a colour, B to guess a number, C to quit: A Guess the colour: pink Correct! Enter A to guess a colour, B to guess a number, C to quit: B Guess the number: 4 Incorrect! Enter A to guess a colour, B to guess a number, C to quit: C Quitting program... ⬅ 6b - W hile Loops 7a - Procedures ➡
- 1.1 - Application Platforms | F161 | Cambridge Advanced National in Computing | AAQ
Learn about application platforms such as augmented reality (AR), virtual reality (VR) and mixed reality (MR), websites and computer games. 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 1.1 - Application Platforms Watch on YouTube : Reality Platforms Websites Computer Games There are three types of application platforms you need to know, starting with devices based around merging technology and reality -augmented reality (AR ), virtual reality (VR ) and mixed reality (MR ). You also need to understand how websites and computer games are used as application platforms . You need to know the uses of these application platforms as well as their advantages and disadvantages . What You Need to Know Augmented Reality / Virtual Reality / Mixed Reality Augmented Reality (AR ) is technology that overlays digital images or information onto the real world . Virtual Reality (VR ) uses a computer-generated 3D environment that fully immerses the user , usually with a headset . Mixed Reality (MR ) is a blend of AR and VR where digital objects interact with the real world in real time . AR , VR and MR devices have a wide range of uses , the main three being educational , instructional and for research . Websites Websites can be used as platforms to deliver applications directly through a web browser , removing the need for users to install software on their device . This allows applications to be accessed easily across different devices and operating systems using an internet connection . There are four categories of websites to know: E-Commerce Instructional Educational Social Media Computer Games Computer (video ) games can be used as application platforms by combining software functionality with interactive gameplay and immersive environments . Games can increase user engagement and allow complex ideas , simulations or training activities to be delivered in a more intuitive and motivating way. Games are highly engaging , increasing user motivation and time spent using the application but game development is often complex , time-consuming and expensive , requiring specialist skills in a range of job roles . Q uesto's Q uestions 1.1 - Application Platforms: 1. Give the key features and uses for each reality-based device - AR , VR and MR . [4 marks each ] 2. Give three advantages and disadvantages of using a website as an application platform . [6 ] 3. A school is considering making a computer game application to encourage students to learn about rainforests . Consider two advantages and disadvantages of using computer games as an application platform in this scenario . [4 ] There are over 1 billion websites on the internet , but fewer than 20% are actively maintained , meaning most websites are abandoned , inactive or placeholder pages . D id Y ou K now? Topic List 1.2 - Devices
- 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 .
- 2.2 - Applications Generation | OCR A-Level | CSNewbs
Learn about applications, utility software, open source and closed source, translators including interpreters, compilers and assemblers, stages of compilation (lexical analysis, syntax analysis, code generation and optimisation) and linkers, loaders and libraries. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 2.2 - Applications Generation Specification: Computer Science H446 Watch on YouTube : Application software Utilities Open & closed source High & low level language Translators Stages of compilation Linkers, loaders & libraries This topic explores key types of software and how they support computer systems and users . It explains different kinds of applications , utilities , translators and compares open and closed source software . Another important concept is compilation , with knowledge required of its different stages , as well as linkers , loaders and software libraries . Applications Software Applications software allows users to carry out productive or creative activities such as document editing , data analysis , communication or media creation . Common examples include word processors (e.g. Microsoft Word or Google Docs ), spreadsheets (e.g. Excel or Sheets ), database management systems (e.g. Access ), web browsers (e.g. Chrome or Safari ) and graphics editors (e.g. Photoshop ). Applications can be general-purpose , serving many uses , or special-purpose , created for a specific function like payroll or medical record management . Utilities Utility software is system software designed to maintain , optimise and manage a computer’s performance , often running in the background to support the operating system . Examples include security tools like an antivirus , backup , compressors , disk management utilities and defragmenters . Defragmentation is the process of reorganising files on a hard drive so that parts of each file are stored together in contiguous blocks , improving access speed . Open Source & Closed Source Open source software has its source code (the actual code written by its developers ) made publicly available , allowing users to view , modify and share it freely . An open source licence encourages collaboration , transparency and community-driven improvement . However, it may lack official technical support or guaranteed updates . Closed source software has its source code private , restricting modification and redistribution . It is usually sold commercially with paid licences , regular updates and dedicated technical support . Bug fixes and quality assurance are out of the user's control , being managed by the developer . Support may end without warning . High & Low Level Languages Programming languages can be split into high-level and low-level , based on how close they are to the computer’s hardware . High-level languages are easier to read and write , while low-level languages give direct control over hardware but are harder to use . High-level languages like Python or Java are similar to natural human language, making them easy to write , understand, and debug . Low-level languages include machine code (binary ) and assembly language but are written for specific processor architecture . Translators Translators are programs that convert source code written in one programming language into another form that the computer's CPU can understand - typically machine code (binary ). An assembler translates assembly language into machine code that the CPU can execute directly . An interpreter translates and executes high-level code in a line-by-line method, stopping when an error occurs . A compiler translates the entire high-level program into machine code before execution , producing an executable file . Stages of Compilation Compilation is a complicated process to convert high-level program code into machine code . It consists of four key stages : Lexical analysis breaks the source code into tokens , such as keywords , identifiers and operators . Spaces and comments are removed and a symbol table of identifiers is created. Syntax analysis checks that the token sequence follows the grammatical rules of the programming language , building an abstract syntax tree . Code generation converts the abstract syntax tree into object code (unfinished machine code ) the CPU can understand . Code optimisation improves the efficiency of the generated code , for example by reducing redundant instructions or improving execution speed . Libraries, Linkers & Loaders Compilation also requires additional programs, such as a linker and loader and the use of libraries . A library is a collection of pre-written code created by other programmers that contains useful routines and functions which can be reused in a program. A linker combines object code and libraries , resolving references so that a final executable file can be created . A loader copies an executable file from secondary storage into RAM , ready for execution by the processor . Q uesto's K ey T erms Applications: database, word processor, web browser, graphics manipulation, spreadsheet software, presentation software Utilities: defragmentation, system cleanup, file manager, device driver, security tools Open & Closed Source: source code, open source, closed source Translators: assembler, interpreter, compiler, machine code Stages of Compilation: lexical analysis, token, syntax analysis, abstract syntax tree, code generation, code optimisation, library, linker, static linking, dynamic linking, loader D id Y ou K now? Grace Hopper , a US Navy rear admiral , is credited with creating one of the first compilers in 1952 and coining the term ' compiler '. She also helped develop the languages FLOW-MATIC and later COBOL , which is still used today . 2.1 - Systems Software A-Level Topics 2.3 Software Development
- 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 | 1.6 - Hardware Troubleshooting | CSNewbs
Learn about troubleshooting tests and information to record when a hardware error occurs. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 1.6 - Hardware Troubleshooting Exam Board: OCR Specification: 2016 - Unit 1 What is troubleshooting? Troubleshooting means to analyse and solve a problem with a computer system. Hardware troubleshooting refers to fixing an issue with the physical parts of the computer or any connected devices. Hardware issues might occur as a result of damage (intentional or accidental), power surges or malware . Steps to Take When an Error Occurs Try to identify the problem by looking for the simplest explanation first (e.g. checking the power supply) and ask the user questions about the issue. Create a theory about what the cause of the problem could be and prepare to test the theory using a series of troubleshooting tests . Create a troubleshooting plan and record the steps that are taken before moving on to the next test. Check the system works after each stage of the plan. Create a findings document that explains if and how the problem was fixed, for future reference if the problem occurs again. Documentation Technicians and help desk (see 3.5 ) staff should document , on a fault sheet , the following information regarding the issue: The fault itself (such as 'system not turning on'). The system in question. The user logged in at the time. Exact date & time the problem occurred. Symptoms of the issue (such as 'slow load times' or 'beeping'). Problem history - checking if it has happened to this system before. Back up documentation - Whether the data been backed up recently. Troubleshooting Tools The following tools can be used to identify an error so a technician has a greater understanding of the problem. Event Viewer Event Viewer is a type of utility software that lists detailed information about an error when one occurs. It can be used to work out how to fix the issue and will display both minor and major faults. Power On Self Test (POST) On start-up, a power on self test (POST) checks memory, power, hardware and cooling systems are all working properly. Beep codes signal if an error has been detected; 1 beep will sound for no error but if multiple beeps are heard then an error has been discovered. Ping Test This is a connectivity test between two computers. A message is sent to the destination computer and waits for a return message named the echo reply . This procedure can be repeated with other systems until the source of the problem is identified from a computer that does not reply . Q uesto's Q uestions 1.6 - Hardware Troubleshooting: 1. Summarise the 'Steps to Take when an Error Occurs ' section into your own top three tips for what to do when a hardware error happens . [3 ] 2. List 6 pieces of information that an IT technician should record when a hardware error has occurred . [6 ] 3. Briefly explain the purpose of three troubleshooting tools . [6 ] 1.5 - Communication Hardware 1.7 - Units of Measurement 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
- Old Eduqas Topics (2016 Spec) | CSNewbs
This page contains topics from the 2016 Eduqas / WJEC that are not included in the 2020 Eduqas / WJEC specification. Topics from the 2016 Eduqas Specification This page contains information from the 2016 Eduqas specification that was removed for the 2020 specification. Quick Links: Buses & Instruction Sets (RISC & CISC) Protocols (IMAP & POP3) Network Devices (Gateway) Human-Computer Interaction (Command-Line Interface, Touch-Sensitive Interface, Menu-Driven Interface, Voice-Driven Interface) Cyber Attacks (Dictionary Attack, Buffer Overflow, Human Weakness) Software Protection (Secure by Design, Too Many Permissions, Scripting Restrictions, Validation with Parameters) Data Policies (Acceptable Use Policy, Disaster Recovery, Cookies) Environmental Issues (Tips to Reduce Waste, Positive Impacts of Technology) Object Oriented Programming (Greenfoot and Java) Programming Topics (Assembly Language, HTML, Greenfoot) Buses Buses & Instruction Sets Buses Data is transferred within a computer system along pathways called buses . There are three types of bus: Address Bus Data Bus Control Bus Sends a memory address of where data is stored. The address is sent from the CPU to RAM in the FDE cycle. Transfers data between components. Data is sent both ways . Sends control signals from the control unit to other components of the system. Status signals are sent back to the CPU. An instruction set is a list of all the instructions that a CPU can process as part of the FDE cycle . CPUs can have different sets of instructions that they can perform based on their function. The two most common instruction sets are the simpler RISC (Reduced Instruction Set Computer ) and more complicated CISC (Complex Instruction Set Computer ). Instruction Sets Reduced Instruction Set Computer (RISC) Complex Instruction Set Computer (CISC) Complexity RISC has fewer instructions than CISC and is therefore slower for carrying out complex commands but quick for basic tasks . CISC has more complex instructions available and can therefore perform complicated tasks . Cost RISC is generally cheaper to mass produce because less circuitry is required for the smaller instruction set. CISC CPUs are generally more expensive because they require more circuitry to operate. Power RISC CPUs are designed to use less power and run without dedicated cooling systems (like fans) so that they can be used in devices like smartphones . Because CISC CPUs require more circuitry this means that they generate more heat and may require a fan . CISC CPUs therefore are commonly used in desktop computers . Clock Speed RISC CPUs run at lower clock speeds than CISC CPUs. They can perform simpler tasks more quickly than CISC, but are generally not used to carry out complex instructions . CISC CPUs run at higher clock speeds than RISC CPUs. They can perform complex tasks more quickly than RISC. Protocols Protocols POP3 ( Post Office Protocol 3 ) and IMAP (Internet Message Access Protocol ) are both protocols for receiving and storing emails from a mail server. Gateway Network Devices Gateway A gateway joins together two networks that use different base protocols . For example, a gateway could link together a LAN to a WAN . HCI Human - Computer Interaction Command-Line Interface Touch-Sensitive 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. Another type of user interface is a touch-sensitive interface , used with smartphones and tablets . A human interacts with the device by pressing on a touchscreen , making it very intuitive and suitable for most users without training. Touch-sensitive interfaces may not work with dirty or wet fingers and it will take longer to write text compared to using a keyboard. Menu-Driven Interface A menu-driven interface displays data in a series of linked menus . Examples include cash machines (ATMs) and old iPods . This type of interface is generally user friendly and easy to use as commands do not need to be memorised. However it can be annoying to find specific data through a large number of menus without a search feature. Voice-Driven Interface A voice-driven interface can be controlled by speaking commands aloud to a listening device. Examples include Amazon's Alexa devices, Apple's Siri technology and Google Home . This interface is intuitive , can be used hands-free and helps to speed up processes . However commands may be misheard or limited in what can be performed. Cyber Attacks Cyber Attacks Dictionary Password Attack This uses a file containing every word in the dictionary and cycles through them all. This method is relatively easy to program but will only break the simplest passwords . Buffer Overflow Attack A buffer is a temporary storage location . A buffer overflow attack causes a program to try to store more data in a buffer than it can hold which can lead to adjacent memory locations being overwritten . An attacker can use the buffer overflow to insert malicious code to change data or steal confidential data . Human Weakness The biggest weakness in online security is often not the systems in place but carelessness or mistakes made by humans . Social engineering means to trick others into revealing their personal data by posing as a trusted source . For example, impersonating an IT technician via email and asking to send a username and password. Humans can accidentally compromise data by downloading malicious files or being unsafe online, like using the same password for multiple different accounts. Attackers can access unauthorised information in person by shoulder surfing and watching them as they enter sensitive data such as a PIN or password. Software Protection Software Protection The following methods of protection are considered in the design, testing and creation stages of developing software . Secure by Design This method puts security as the most important concept when creating and designing software . By focusing on security when designing software there should be less need for later updates and patches and attacks are less likely to succeed . Too Many Permissions Apps require permission to use device features (such as the camera or microphone of a smartphone) when they are downloaded. Programmers should only request permission for features that the software requires . Some malicious apps steal data or spy on users - and the worst part is that you've given permission for it to do it! Users can avoid suspicious apps by reading reviews, checking there are no unnecessary permission requests , only downloading the software you need / will use and uninstall apps if permissions change . Scripting Restrictions A script is a set of instructions executed on a website. For example, Facebook uses a JavaScript script to post a status and another to read your private messages. The Same Origin Policy (SOP) is a security precaution that prevents websites from using scripts on other sites that you have open . For example, if you are using JavaScript to post a status on Facebook then visit an infected site, that site can't also use JavaScript to access your Facebook data, because even though they both use JavaScript, they are from a different origin . Without SOP an infected website could access personal data or infect a computer with malware by maliciously using the same scripts as other websites you have used . Programmers should set scripting restrictions when creating websites. Validation with Parameters A parameter is a measure that is used when validating data , it is usually a range or limit. For example, the parameters of a length check may be whether the data is between 1 and 10 characters . Programmers must ensure validation is used on websites with suitable parameters to prevent attacks such as an SQL injection. Data Policies Data Policies Data policies are written documents that clearly define how data should be managed in an organisation. It is important that all employees stick to these policies and requirements so that data is kept safe and can be replaced if lost or corrupted. The following methods are examples of common data policies. Acceptable Use Policy (AUP) Workplaces and schools often require people to sign an acceptable use policy (AUP) before being allowed to use the network. It is a list of rules and expected behaviour that users must follow when using the computer systems. Typical rules include: Which websites are off-limits (such as social media or gambling sites), Download permissions (such as who can download and install software) Email communication (such as appropriate language). Punishments if rules of the AUP are broken. The AUP is sometimes known as a Code of Conduct . This is an example of a formal code of practice , with written rules and clear expectations . An informal code of practice would not be officially written down , such as personal habits and preferences (e.g. email layout or desk organisation). Disaster Recovery With important data often stored on a computer network, it is absolutely vital that a detailed and effective disaster recovery policy is in place in the event of data being lost due to an unexpected disaster. Disasters include natural disasters (e.g. fire, flood, lightning), hardware failure (e.g. power supply unit failing), software failure (e.g. virus damage) and malicious damage (e.g. hacking). There are three clear parts to a disaster recovery policy: Before the disaster: All of the possible risks should be analysed to spot if there are any weaknesses in preparation. Preventative measures should be taken after the analysis, such as making rooms flood-proof or storing important data at a different location . Staff training should take place to inform employees what should happen in the event of a disaster. During the disaster: The staff response is very important – employees should follow their training and ensure that data is protected and appropriate measures are put in place. Contingency plans should be implemented while the disaster is taking place, such as uploading recent data to cloud storage or securing backups in a safe room and using alternative equipment until the disaster is over. After the disaster: Recovery measures should be followed, such as using backups to repopulate computer systems. Replacement hardware needs to be purchased for equipment that is corrupted or destroyed. Software needs to be reinstalled on the new hardware. Disaster recovery policies should also be updated and improved . Cookies A cookie is a small piece of data that is stored by websites when you visit them. They allow the website to identify the user and are often used to speed up processes , such as: Automatic login (by saving account details) Save items into a basket (such as pizza delivery sites) Display adverts related to your previous search terms . Although they can be used to save time, some argue that cookies can be intrusive and store too much information. Environmental Issues Environmental Issues Tips to Reduce Waste Turn off computers , monitors and other connected devices when not in use . Adjust power options to help minimise power consumption. Devices with the Energy Star sticker use between 30% and 70% less electricity than usual. Repair older devices rather than throwing them away. Ink jet printers use up to 95% less energy than laser jets. Think twice about printing paper, don't waste ink and remember to recycle paper . Positive Environmental Impacts Communication advancements (such as video messengers) reduces pollution as people do not have to travel to speak to each other. This is especially beneficial in business - workers can talk from the office and do not need to catch a plane to speak. Smart devices can monitor usage and reduce energy waste - such as smart air conditioners and home security systems. Collaboration software (such as cloud-based technology and Google Docs) allows experts to work together and share data. The internet and research databases allows scientists to study the environment more efficiently. Documents can be viewed on a screen rather than printed out - books and newspaper articles can be read on kindles / tablets saving paper and ink . New materials and more environmentally-friendly processes have been developed thanks to increased technology and research. Object Oriented Programming Object-Oriented Programming (OOP) Java is an example of object-oriented programming (OOP) where a programmer is able to code objects that can be visually placed onto a background. Greenfoot is an IDE for Java . Superclass A class from which other 'subclasses' will inherit characteristics ; e.g. hippos, crocodiles and polar bears will inherit properties from the Animals superclass. Object A single object from a class ; e.g. one crocodile object from the Crocodile class. Class A set of objects which share the same properties ; e.g. all PolarBears will behave in a similar way. Comment Two / symbols will allow you to write a comment to explain the code . Method A series of instructions that an object will follow . The act() method will loop in Greenfoot when the play button is pressed. Programming Programming Topics Variable Scope & Lifetime The scope of a variable refers to the parts of the program where the variable can be viewed and used , e.g. a variable with global scope can be accessed anywhere in the program . The lifetime of a variable is the amount of time the variable is stored in memory and therefore can be used , e.g. local variables can only be accessed throughout the subroutine they are created in. Programming Languages: Assembly Language HTML Greenfoot Theory Topics
- Python | Extended Task 6 | 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 6 'Guess the Word' Game Create a Python program similar to the hit New York Times puzzle game Wordle . Allow the user to make guesses to match the randomly chosen hidden word , stopping when they get it correct. You can download a list of 5-letter words on this page. You will need to read in each line of the list and randomly select one - don’t forget to import the random library . Check if each letter of the user’s inputted word is in the randomly selected word . If you are using an IDE like Replit you can use the colorama library and the Fore command to turn the text: Green if the letter is in the correct position . Red if the letter is not in the selected word . Yellow if the letter is in the selected word but not in the correct position . Add your own flair and additional features to your program as an extension, including limiting the number of guesses and recording how many attempts it took to get the correct answer. Download a file of 534 5-letter words: 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 a while loop to repeatedly allows the user to enter words until they match the correct word. Section 10 will help you to open, write and r ead from files . Download the file of 5-letter words from the link above. You will need to randomly select a word from the file. The choice command will help. Selection will be necessary to check if each letter in the inputted word matches the letter in the same position in the correct word. String handling is needed to select specific letters in a string. You will need to use .rstrip() on the selected line (word) that you have randomly chosen from the file. This removes any hidden characters that may interfere with checking if it is equal to the inputted word. 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: The word the user enters should be checked , letter by letter , against the letters in the same position in the randomly chosen correct word . Remember that the first letter in a word has the position 0 , not 1. Below is an example of some incomplete code you may wish to use in your solution. ⬅ Extended Task 5 (Colour Collection) Extended Task 7 (Number Game) ➡
- 1.3.1 - Application Types | F160 | Cambridge Advanced National in Computing | AAQ
Learn about the purpose and characteristics of the eight application types, including examples. Application types include communication, educational, entertainment, games, lifestyle, productivity, protection & utility and web browsers. Resources 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) 1.3.1 - Application Types Watch on YouTube : Application Types There are several types of applications that can be developed , each with a different purpose and common characteristics . There are eight application types you need to know for this 'Fundamentals of Application Development ' unit, including their purpose and common characteristics . Communication Purpose: Communication applications allow users to exchange information with others , most often in real-time . Data can be transferred in a range of formats including text , images and video . Education Purpose: To teach users about specific topics and help people learn new skills . This may be aimed at certain ages or user groups such as those learning a new language . Characteristics of Communication Applications: Has a simple user interface designed for quick and reliable data exchange . Supports multiple formats (text , images , audio , video and files ). Requires a network connection to send and receive data . Often has built-in security and privacy , such as end-to-end encryption . May use presence awareness such as showing ‘typing… ’ or ‘online now ’. Characteristics of Education Applications: It may be structured around learning milestones or long-term goals . Often interactive , such as quick quizzes or regular recaps of topics. Could include different formats of learning (such as text , visuals or audio ). Usually tracks skills or scores over time to show progress in a user-friendly way . Age-appropriate in content and design , possibly with difficulty levels . Examples: WhatsApp, Messenger, Zoom, Slack, Gmail Examples: Duolingo, Kahoot!, Quizlet, Memrise, Anki Entertainment Purpose: To provide enjoyment through formats such as video or audio , often with automatic suggestions based on previous interactions including watched videos , likes or comments . Characteristics of Entertainment Applications: Simple design to focus on keeping users engaged . May include streamed media content or the option to download . Designed for passive or relaxed use , e.g. watching or listening without interacting . Uses algorithms for recommendations based on user preferences . May include social features such as comments or sharing with friends . Examples: Netflix, Disney+, Spotify, YouTube, Twitch Games Purpose: To offer interactive challenges in a fun and possibly competitive way. Games may be played together online or offline for a single-player experience . Characteristics of Game Applications: Based on clear rules and objectives with reward systems , e.g. achievements . High interactivity and quick responsiveness to keep players engaged . Requires graphical rendering , user inputs and sound design . May support local multiplayer or online play with competition , like leaderboards . Often has a range of difficulty levels to keep players challenged . Examples: Minecraft, Fortnite, Among Us, EA Sports FC, Candy Crush Lifestyle Purpose: Supports a healthy and organised way of living . They often help people to manage their daily tasks and form positive personal routines . Productivity Purpose: To support users to complete tasks , manage their time or organise information in a helpful way , all to to maximise productivity . Characteristics of Lifestyle Applications: Often personalised to user preferences or personal data . May use real-time inputs such as location or health data , like steps taken . It may be integrated with smart wearable devices such as a smartwatch . Designed to be used briefly but daily (e.g. checking steps or logging meals ). Encourages improved habits or healthier improvements . Characteristics of Productivity Applications: Has a focus on efficiency , reliability and easy usability . Often allows collaboration and file sharing (e.g. working with colleagues ). Prioritises data organisation and quick access to relevant information . Usually integrated with cloud services or other apps like calendars . It may be designed for professional , personal or educational use . Examples: MyFitness Pal, Noom, Headspace, FitBit, Couch to 5k Examples: Microsoft Word, Calendar, Google Drive, Notion, Trello Protection & Utility Purpose: To secure the computer system against malicious threats and perform housekeeping tasks that maintain stability and a smooth performance . Characteristics of Protection & Utility Applications: Works in the background without frequent user interaction . Often requires permissions to access sensitive data . Needs to be updated frequently , e.g. adding new virus signatures to the database of an antivirus . May be event-driven (e.g. alerts or automatic scans at regular intervals ). Should use low system resources if it needs to be running constantly . Web Browsers Purpose: Accesses , retrieves and displays web pages from web servers . It provides tools like bookmarks , tabs and history to help users easily navigate the interne t. Characteristics of Web Browser Applications: Displays webpages that are built using HTML , CSS and JavaScript . Supports security protocols such as HTTPS , which uses encryption . Enables customisation and user control , e.g. bookmarks , extensions and themes . Contains an address bar to directly type in URLs or search terms . Allows for multiple tabs to run concurrently . Types of Application Examples: Avast Antivirus, CCleaner, 1Password, Battery Saver, Microsoft Defender Examples: Google Chrome, Safari, Mozilla Firefox, Microsoft Edge, Opera Q uesto's Q uestions 1.3.1 - Application Types: 1. Choose four application types and explain how each can be used in a school . [8 ] 2a. For two application types you did not mention in Q1 , explain their characteristics . [6 ] 2a. For the remaining two application types you have not mentioned , explain their purpose . [ 4 ] Minecraft is the best-selling video game of all time , with over 350 million copies sold since its official release in 2011 . D id Y ou K now? 1.2 - Operating Systems Topic List 1.3.2 - Application Software Categories
- 6.1 - Job Roles | F160 | Cambridge Advanced National in Computing AAQ
Learn about the responsibilities of job roles such as an application designer, mobile application designer, project manager, systems analyst, systems designer, user experience designer (UXD) and user interface designer (UID). 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.1 - Job Roles Watch on YouTube : Job roles Developing a new application is rarely a solo project and often involves a team working together . There are seven specific job roles for application development you need to know, from application designer to user interface designer (UID ). For each job role , you must understand its main responsibilities and how it contributes to software application development . Job Roles Application Designer Application designers create the blueprint that guides developers , ensuring the software performs required tasks efficiently and logically . They design the structure and layout of software applications . Mobile Application Designer Mobile application designers ensure the software is suitable and user-friendly on mobile devices . They design apps specifically for mobile platforms (e.g. iOS or Android ) with touch-semsitive interfaces and responsive design . Project Manager Project managers keep the project organised , on track and within budget , making sure all team members work efficiently towards the same goals . They must be organised to effectively plan and oversee the entire software development process . Systems Analyst Systems analysts ensure the final software solves the right problems by fully understanding what users and businesses actually need . They gather and analyse user requirements and identify possible improvements or new system solutions . Systems Designer Systems designers provide the technical structure of the system , ensuring it functions correctly and efficiently under real-world use . They translate requirements into detailed system designs and specify data structures . User Experience Designer (UXD) UXDs ensure the software is pleasant and efficient to use, increasing user satisfaction and reducing errors or frustration . They focus on how users interact with the application and research user behaviour through testing and feedback . User Interface Designer (UID) UIDs make the application visually appealing and easy to navigate , supporting a good first impression and smooth interaction . They design the visual elements including the style of buttons , menus , icons and overall layout . Q uesto's Q uestions 6.1 - Job Roles: 1. Explain how UXDs and UIDs can work together to design applications . [5 ] 2. Describe how systems analysts contribute to application development . [4 ] 3. Describe the responsibilities of two other roles not mentioned in Q1 or Q2 . [ 6 ] There were estimates of about 6,000 developers working together across Rockstar's global video game studios to make Grand Theft Auto VI . D id Y ou K now? 5.3 - HCI Designs & Diagrams Topic List 6.2 - Communication Skills






