Search CSNewbs
304 results found with an empty search
- 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
- 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.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
- 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.3 - Impacts | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about the negative impacts that data loss will have on an organisation including reputation loss, fines and possible bankruptcy. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 6.3 - Impacts Exam Board: OCR Specification: 2016 - Unit 2 If a risk to data (see 6.2 ) occurs then there are a number of different impacts that may consequently negatively affect an organisation . Loss of Intellectual Property 'Intellectual property ' refers to anything that an organisation or individual has designed, developed or created themselves . For an individual, this could be a manuscript , artwork or piece of music . For an organisation, it could be primary data they have collected, blueprints for an upcoming design or a report following data analysis. The impact of having intellectual property lost depends on the property itself and how easy it would be for the victim to recreate or recollect the data . Competitors that stole intellectual property could use it at their advantage. Also, the effect of an upcoming announcement to the public would decrease if it was leaked ahead of time. In 2017 HBO suffered large property leaks when Game of Thrones episodes were stolen before air date resulting in pirated versions appearing online well before they were due to be shown on TV. Loss of Service and Access If usernames and passwords are stolen then individuals may be unable to access services that they have paid for, an example being if WiFi details were stolen so that a hacker can access the internet using someone else's account. If a hacker is permitted access to a system they can change the account settings such as the password to lock out the original owners of that account, leaving them without access. Other services can be targeted with malicious attacks like a DDOS attack so that users cannot log into a web page or online service. If users cannot access an account they may use alternative methods and providers , such as avoiding one type of cloud storage provider that has let them down and choosing another. Breach of Confidential Information Confidential information is of a highly sensitive nature and could lead to other negative impacts if it got into the hands of unauthorised people . Confidential information, such as medical histories, should be stored securely with multiple physical and logical protections in place to ensure that it keeps its integrity . If confidential information was breached then it could lead to a loss of reputation as the holder would be regarded as ineffective at protecting the data . Legal consequences would also follow as the Data Protection Act ( 2018 ) would be broken : fines, court cases and even imprisonment would be possible further impacts. An organisation would expect to see penalties from the Information Commissioner's Office (ICO) if they failed to protect personal details by breaking the DPA . Loss of Third Party Data Many organisations will store data not only for their own purposes but for other individuals and businesses too; a key example being cloud storage providers . Users can store data on public cloud services such as Google Drive or DropBox and access their information using the internet from any networked device they please. If services like cloud storage services are hacked or taken offline (e.g. because of an attack or network problems) and data is lost then customers, especially those that pay, will be furious. This will lead to a loss of reputation, trust and even legal proceedings if personal and sensitive data is lost. Larger businesses will use private cloud storage, hosted in data centres that they maintain themselves, to avoid relying on third parties . Loss of Reputation Organisations spend years to build up a reputation where customers trust them and want to use their products or services. Data loss can immediately destroy that reputation and cause once-loyal customers to look elsewhere and choose their competitors . Failing to keep data safe means that an organisation has been unable to follow their legal and moral duty of keeping information secure and could lead to a loss of trade , resulting in reduced earnings and sales . Identity Theft If an individual's personal information is stolen by attackers then one impact is identity theft - when the attacker uses the victim's data for fraud or impersonation . Identity theft can lead to financial loss to the victim if loans , products or services are purchased in their name . The victim may have to contact their bank and other organisations to cancel transactions and there is no guarantee their money will be returned. Credit checks may be affected, leading to future financial difficulty for the victim. Threat to National Security If data of a classified nature (such as military arrangements, security weak-points or upcoming government plans) is lost and falls into the hands (most probably by hacking) of those who intend to bring harm to the country then the consequences can be disastrous. Spies of foreign countries or terrorists could use classified information to target vulnerable locations or events resulting in casualties. Threats could also be economic in nature if large amounts of money are stolen or redirected to malicious bodies. Recent Examples of Security Failure Q uesto's Q uestions 6.3 - Impacts: 1. Describe how each of the impacts above could affect a bank storing large amounts of customer data including financial records. [12 ] 2. Research three recent hacking examples . For each situation describe the impacts that occurred as a result of data loss . [12 ] Click the icons to read BBC News articles about recent examples of hacks and security breaches . Virgin Media Boots Marriott Hotels Facebook Messenger 6.2 - Risks Topic List 6.4 - Protection Measures
- 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 | 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) ➡
- Algorithms | CSNewbs
Learn how pseudocode and flowcharts are written as part of algorithms. This content is based on the 2016 Eduqas / WJEC GCSE Computer Science specification. Algorithms Pseudocode 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 real 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 flowchart A flowchart can be used to visually represent an algorithm. The flowchart symbols are: Algorithm Example example Pseudocode {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 Stop Flowchart
- 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 .
- 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
- OCR CTech IT | Unit 1 | 3.5 - Business Systems | CSNewbs
Learn about business systems used by IT companies including MIS, SOP, CRM and help desk. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.5 - Business Systems Exam Board: OCR Specification: 2016 - Unit 1 A business may use several types of complex systems to manage data , communicate with customers and ensure efficient business practice . Management Information System (MIS) A management information system (MIS ) is used to collect , store , analyse and present data for an organisation. The system processes a large amount of data and organises it (such as in databases) so that it can be used for decision-making and general data analysis . An efficient MIS can be used to display the financial status of an organisation, highlight areas of improvement and generate sales forecasts based on current data. Specifically, a bank could use an MIS for: Looking at the number of customers that visit each branch . Forecasting potential profits based on historical data of previous years. Profiling customers based on their actions and behaviour . Identifying specific customers with low activity to target them for email campaigns . Benefits of an MIS: Integrated system: A Management Information System shares a large amount of data from multiple departments within an organisation to produce accurate reports. For example, financial data can be used to generate accurate pay slips. Decision Making: An MIS can be used to inform an organisation's decision making by highlighting areas that need improvement within the company. Powerful analysis: An MIS will use large data sets to provide accurate data analysis that can be used in many different ways by an organisation. Trends and patterns can be identified easily. Backup capabilities: Data can be stored centrally and backed up easily if a disaster occurs. Limitations of an MIS: Cost and installation: An MIS is an expensive tool that needs to be professionally set up and requires technical knowledge to maintain. Requires accurate data: If any data is incorrect or out of date then the analysis will consequently be inaccurate . Potentially disastrous decisions could be made as a result of incorrect data. Training: Employees will need to be trained to use the software accurately for maximum efficiency. Customer Relationship Management (CRM) A CRM system is used to improve the relationship between an organisation and its customers . It can be used to increase customer loyalty with those who already subscribe to their services as well as used to try and increase the customer base by attracting new customers. The ultimate goal of a CRM system is to increase and retain customers which will result in more sales and higher profits . Examples of CRM systems: Marketing teams tracking which promotions customers are responding well to . Customer service teams responding quickly to customer complaints , through a variety of channels (such as social media, emails and telephone calls). Marketing teams rewarding customers who have spent a certain amount in a year. Standard Operating Procedures (SOP) A standard operating procedure is a comprehensive step-by-step guide of how to carry out a business routine. An organisation will create an SOP to abide by legal requirements and high company standards . SOPs must be followed in exactly the same method each time and by each employee to ensure the same outcome and remove any inconsistencies . Benefits of Standard Operating Procedures: Ensures consistency: The outcome should be the same each time when following SOPs which ensures an efficient result . Fewer errors: If all employees follow the SOP carefully then there should be no errors . Meets legal requirements : The SOPs will be designed to meet up-to-date legislation as well as any standards that the company have set. Limitations of Standard Operating Procedures: Inflexible practice: A lot of time may be spent on creating the paperwork and admin instead of the actual job. Legal updates: The SOPs must be periodically reviewed and updated to take into account any new laws . Sales Ordering Process (SOP) This is the process of a customer buying a product or service and the company reviewing the purchase . A sales order process ( SOP ) is important as it creates a clear plan for ordering a product . Each department can use the sales order to know exactly what jobs to perform. Help Desk Help desk software is used to provide real-time support to a user from a trained member of staff to overcome a technical problem . The customer logs an issue in the form of a ticket and is assigned a technician . As the technician tries to communicate with the user and solve the issue they must follow a service level agreement that defines the high standards the technician must keep to. When the problem has been solved the ticket is closed . All tickets are archived so that persistent problems can be checked to see what worked previously . If Help Desk software is used within a company by employees (rather than with external customers) to report and solve issues, it is known as ' in-house ' . Benefits of Help Desk software: Keeping Track: C ustomers can see that their issues are being dealt with and administrators have clear records of the problem. Audit Logs: All tickets are archived so if a problem occurs on the same machine the previous solution can be attempted again . Communication : Formal messages between the customer and the administrator mean there are no mixed messages and a running dialogue can take place as the problem is fixed. Limitations of Help Desk software: Cost : Setting up the necessary software and hardware and paying for an administrator to run the system can cost a large amount of money. Availability issues: A technician might not be available 24/7 or during holidays. Formal structure: This is a formal system that takes time to record and respond to which might annoy staff when it is only a minor issue to be fixed, like resetting a password. Knowledge: Technicians need technical expertise regarding the company's computer systems and need to be able to fix both hardware and software issues. This might require additional training every few years. Ticket Response Time: Administrators must ensure that all tickets are read and responded to in reasonable time so that productivity in the company is not affected. Q uesto's Q uestions 3.5 - Business Systems: 1a. What is the purpose of an MIS ? [ 2 ] 1b. Describe 3 ways a bank could use an MIS . [ 3 ] 1c. Describe the benefits and limitations of an MIS . [10 ] 2a. What is the purpose of a CRM ? [ 4 ] 2b. Describe 3 ways that a CRM could be used by a company . [6 ] 3a. What are standard operating procedures (SOP ) and why are they used? [ 4 ] 3b. Describe the benefits and limitations of SOPs . [ 10 ] 4a. What is the sales ordering process ( SOP )? [ 2 ] 4b. Why is the SOP important in a company? [ 2 ] 4c. Summarise the 3 stages of the SOP . [ 4 ] 5a. What is the purpose of help desk software? [ 2 ] 5b. Explain how help desk works , including tickets , technicians and service level agreements . [3 ] 5c. Describe the benefits and limitations of Help Desks . [ 10 ] A typical sales order process will work as follows: 1. The customer orders a product or service, usually via an email or telephone conversation . 2. The order is confirmed and a sales order is created. This is a document that lists the customer’s requirements and exactly what they have purchased . 3. The sales order is sent to the relevant departments (e.g. production , finance and delivery ) so they can fulfil the customer’s request . Once the order has been completed, the customer will be sent an invoice for payment . 3.4 - Connection Methods Topic List 4.1 - Communication Methods
- Scratch Maze Game | CSNewbs
This walkthrough will show you how to create a maze game in Scratch . It is split into the following sections: Creating the First Level Choosing the Main Character Animating & Moving the Main Character Back to the Start Adding Score & Time Making Enemies Adding More Levels Extensions Use the links to move between sections easily! 1. Creating the First Level The very first thing to do is to create the level in which our character will move around in! We are going to draw a background from scratch which our hero will run around in to get to the end. Important parts of the pictures are highlighted in yellow ! 1. Select the blank Stage button in the button left to edit the background. Drawing the Background Challenge Task Anchor 1 2. Press on the Backdrops tab. This will show Scratch’s own paint editor on the right. 3. Use the line tool to create straight maze lines on the background. Use the slider at the bottom to increase the width of the line. Remember this is only the first level so don’t make it too difficult. 4. Create a start zone and an end zone with the rectangle tool and then fill them in with the fill bucket tool . You can also change the main background colour using the fill bucket tool. Remember to choose an appropriate level name in the text box at the top. Level Name Rectangle Tool Fill Bucket Tool Make your game more exciting by creating themed levels , like this park background. Other ideas might include a classroom, library or car park. Try switching up the start and end zones by using the circle tool or the line tool and the fill bucket . Come back to this challenge when you are ready to make more levels! 2. Choosing the Main Character Now that you have your first level designed we can make our hero character who is going to navigate the maze and try to get to the end. Picking the main character Anchor 2 1. A character is called a sprite . We will choose a sprite from Scratch’s sprite library . Click on the fairy icon to open the sprite menu. 2. I have selected the Animals category on the left menu. I have chosen the Penguin sprite but choose whichever character you want. 3. Press the Costumes tab and check that your chosen sprite has at least two costumes . We will use these to create animation in the next section to make it look like the sprite is moving. 4. Now that we don’t need the cat anymore we can delete him by right-clicking on his icon and selecting delete . Shrink the Main Character down to size Shrink Tool 5. The sprite is too big for the level background and you will need to shrink them down . Click on the shrink button at the top of the program and then click on the sprite in the paint area to shrink them down. Remember how many times you clicked the sprite to shrink it. You will need to shrink both costumes the same number of times . Here I have shrunk my penguin by 17 clicks when I selected the shrink tool. You can compare the size of your costumes by looking at the image size beneath the icon (e.g. 40 x 53). Picture Size 6. You need to make sure that your sprite is in the centre of the grid otherwise it might cause trouble later when you try to move them. Click on the costume centre button in the top right (it looks like a crosshair ) and drag your sprite into the middle if it is not. Make sure that both costumes are in the centre . Also, give your costumes appropriate names , I have named mine Mr. Penguin 1 and Mr. Penguin 2. Costume Name Costume Centre 3. Animate & Move the Main Character Adding Animation Anchor 3 1. Click on your sprite icon in the bottom left and then on the Scripts tab in the top centre. We will begin using the script blocks and we need to start in the Events category with: ...so drag it over to the script area. This script will run all the blocks that we place beneath it, when the flag is pressed to start the game. 1. 2. You can only add animation if the sprite you chose has at least two different costumes! 2. The second block we need is: ...in the Control category. Every block that we put inside the forever loop block will repeat again and again . We want our character to switch between their costumes infinitely to make it look like they are always walking, which is why we use the forever loop. 3. Click on the Looks category and drag two... ...inside of your forever loop . Use the drop down list (small black triangle on the costume block ) to make one block switch to your first costume and the other block switch to your second costume. 4. In the Control category, drag over two blocks and place one after each of your ‘switch costume to ‘ blocks. 1 second is too long to wait so click on the 1 and change both to 0.5 instead (this is half a second). If you’ve got the code correct so far, when you press the green flag your character should be animated! Moving the Main Character 1. In the Events category drag a into the script area. Change the button from space to ‘up arrow ’ (or any key you like) It is also popular for computer games to use the w key to move up. 2. Click on the Motion category and move over two blocks: and Change the angle of direction from 90 (which is a right turn) to 0 (which is an upwards turn). Now you have just created code to make your character move upwards by ten steps when you press the up arrow! Once you have dragged the blocks when the up arrow is pressed, you can work out how to make your character move down, left and right ALL BY YOURSELF. Add this code in now, before you move on . Rotate the Main Character If you press the green arrow and move your character around you might notice that it doesn't rotate when it moves. Click on the i in the top left of your sprite icon in the bottom left. There are three types of rotation to choose from. Select your preferred style by clicking on one of the three symbols. Full Rotation will turn your sprite up, down, left and right. Horizontal Rotation will only turn your sprite left and right. No Rotation will not turn your sprite at all. it will always appear in the same direction. Anchor 4 4. Back to the Start Starting in the right place We always want the main sprite to start in the green zone when the green flag is pressed to start the game. First drag your sprite to the green zone . Then go to the Motion category and drag over: ...and connect it directly underneath the block you dragged over earlier. Once you’ve added that line of code, click the green flag to make sure that the sprite starts where you want it to . If it doesn’t, then you can change the x (horizontal) and y (vertical) co-ordinates by clicking on the white boxes and changing the values. Back to the start if touching the walls 1. Drag over and connect together the two blocks below: 2. Drag over the two blocks below, put the blue one inside the other and then put them both inside the forever loop : 3. Change the co-ordinates in the blue block you just added so that it matches the same co-ordinates as the block to make the sprite start at the green zone . 4. Now to add the wall detection code! In the Sensing section, drag this block over... ...and put it inside the top of the ‘if then‘ block . Make sure that you put it between the 'if' and 'then' and not underneath. 5. Click once on the box in the ‘touching colour ‘ block and then click the wall or obstacle you want the player to avoid, Now is a good idea to play your game and make sure you can get to the end without being teleported back to the start. If your game is impossible you will need to edit the background – click on the stage icon in the bottom left then the Backdrops tab and edit the walls. Anchor 5 5. Adding Time & Score Recording the Time 1. Click on the Stage icon in the bottom left, we will create new code in the Scripts tab of the stage. DO NOT click the character sprite! Click on the Data category and choose Make a Variable . A variable is something that can change . Call your new variable Time . Adding a Score - The Number of Restarts 2. From the Events category drag: ...then look in the Data category and connect this underneath: ...but it should say Time instead of 'variable'. This code makes the time start at 0 when the game begins. 3. Now we need a loop that increases our variable called Time by 1 every second. First drag over a forever loop : Then place inside of it two blocks: Make sure it says Time instead of variable. Now press the green flag to see the timer go up. 1. In the Data section click on Make a Variable and give it an appropriate name like Restarts . This variable will count how many times we have touched a wall and had to start again. 2. Firstly, go back to the Scripts area for your character – click on the sprite of your main character in the bottom left then the Scripts tab. You need to add two blocks from the Data category: Change variable to Restarts and place it directly underneath the flag. Change variable to Restarts again and place this code directly after the 'go to ' block inside the loop. Now whenever you touch the wall you restart and it records it in the variable called Restarts. 6. Making Enemies Anchor 6 1. Select the fairy icon in the New sprite section to open the Scratch sprite library. 2. From the sprite library choose your enemy . I have selected the polar bear because it fits with my penguin. 3. Select the shrink tool at the top of the program and click on the enemy . Then drag them to where you want them to start . 4. Click on the sprite icon of your enemy then select the Scripts tab. Drag and connect two blocks: 5. From the Control category grab a: ...and place it after the ‘go to ‘ block. Now we will make our enemy glide from his start position to somewhere on our level again and again. Move the enemy to where you want it to go to then add: ...inside the forever loop. Drag another ‘glide ‘ block and place it underneath but change those co-ordinates to the same as the one underneath the the ‘when green flag clicked‘ block. This code makes the enemy move backwards and forwards forever. 6. Make your main character return to the start if they touch the enemy. Click on your main character sprite in the bottom left and then the Scripts tab. You need to copy the exact same code you made earlier to see if the main character is touching the wall , but this time you need to use: ...instead of the touching colour block. Click on the box in the block and select your Main Character . 7. New Levels Anchor 7 Coming Soon To be added soon. This concludes the walkthrough for a Scratch maze game! Try a combination of the suggestions below to add complexity to your game: Using ‘say ‘ or ‘think ‘ blocks in the Looks category to make your sprites say things at certain points (like at the start of a new level). Making your game harder by speeding up enemies in later levels (you could change the number of seconds it takes to glide ) Adding more enemies that only appear in harder levels. Setting a time limit – instead of having your time begin at 0 and increasing by 1 every second, have it start at 30 and decrease by 1 every second. Extensions Anchor 8







