Search CSNewbs
Search this site
304 results found with an empty search
- 3.1a - 3.1d - Algorithm Complexity | OCR A-Level | CSNewbs
Learn about pseudocode, procedural programming, big O notation (constant, linear, polynomial (quadratic), exponential, linearithmic and logartihmic) and the complexity of different data structure, sorting and searching algorithms. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 3.1a - 3.1d - Algorithm Complexity Watch on YouTube : Pseudocode Procedural programming Big O notation Algorithm complexity Pseudocode Pseudocode is a simplified , language-independent way of writing algorithms that looks like programming but uses plain English to describe the steps clearly without worrying about exact syntax . The OCR A-Level Computer Science course uses a form of pseudocode unique to the exam board called 'OCR exam reference language ' that all code in exams will be written in . OCR exam reference language uses closing commands such as endif for an if statement and endwhile for a while loop . It also uses the word then instead of a colon like in Python . YouTube video uploading soon Procedural Language A procedural language , such as Python or Java , is a programming language that structures programs as sequences of step-by-step instructions grouped into procedures or functions . It focuses on breaking tasks into smaller , reusable blocks of code that operate on data , making programs easier to write , understand and maintain . This topic is in both Paper 1 and Paper 2 . YouTube video uploading soon Big O Notation O(n) Big O Notation is a way of describing how the time complexity (how long an algorithm takes ) and space complexity (how much memory it uses ) grows as the size of the input increases . This allows algorithms to be compared in terms of efficiency , using the letter n to refer to the size of the input . Complexity types: Constant - O(1) - The algorithm’s time or space stays the same no matter how large the input is . Linear - O(n) - The time or memory grows directly in proportion to the size of the input . Polynomial - O(n²) - The growth increases in proportion to the square of the input , often seen in algorithms with nested loops . Exponential - O(2ⁿ) - The time or memory doubles with each additional input element , becoming extremely slow very quickly . Logarithmic - O(log n) - The algorithm’s time grows very slowly as the input size increases , often achieved by repeatedly halving the data . Linearithmic - O(n log n) - A combination of linear and logarithmic behaviour, common in efficient sorting algorithms like merge sort . YouTube video uploading soon Algorithm Complexity Best-case , average-case and worst-case complexity describe how an algorithm performs under different input conditions . Best-case complexity is the time or space required when the algorithm meets the most favourable input , allowing it to finish as quickly or efficiently as possible . Average-case complexity represents the expected performance across typical or random inputs , giving a realistic view of how the algorithm behaves in normal use . Worst-case complexity is the maximum time or space the algorithm could ever require , used to guarantee performance even in the least favourable situation . Sorting and searching algorithms often have different case complexities for time and space . YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Pseudocode Procedural Language: input, output, comments, variables, casting, count-controlled iteration, condition-controlled iteration, logical operators, selection, string handling, subroutines, arrays, files Big O Notation: time complexity, space complexity, constant, linear, polynomial, exponential, logarithmic, linearithmic, best-case, average-case, worst-case D id Y ou K now? Minecraft doesn’t load the entire world at once ; instead, it divides the world into chunks and only generates or loads the chunks near the player . Finding , saving and retrieving these chunks uses data structures like trees and hash maps , which allow the game to look up a chunk in about O(log n) or even O(1) time , minimising lag even in large worlds . 2.2 - Computational Methods A-Level Topics 3.1e - Data Structure Algorithms
- Python | 2b - Inputting Numbers | CSNewbs
Learn how to input numbers in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 2B - Inputting Numbers Inputting Whole Numbers in Python To enter whole numbers then you must use the int command. int stands for integer (a whole number ) and is typed before input – don’t forget the double brackets at the end . age = int ( input ( "How old are you? " )) print ( "Have you really lived for " , age , "years?" ) = How old are you? 99 Have you really lived for 99 years? Inputting Numbers Task 1 ( Zoo) Type an input line (with int ) to ask the user how many times they’ve been to the zoo . Print a reply that uses the zoo variable (their answer). Example solution: How many times have you been to the zoo? 3 You've been to the zoo 3 times? I love animals! Inputting Decimal Numbers in Python Using float instead of int allows a decimal number to be entered instead. Again, don’t forget the double brackets at the end . miles = float ( input ( "How far have you walked today? " )) print ( "You really walked for " , miles , "miles? Wow!" ) = How far have you walked today? 5.6 You really walked for 5.6 miles? Wow! Inputting Numbers Task 2 ( Height ) Type an input line (with float ) to ask the user their height in metres. Print a reply that uses the height variable (their answer). Example solution: What is your height in metres? 1.82 You are 1.82 metres tall? Wow! ⬅ 2a - Inputting Text Sect ion 2 Practice Tasks ➡
- Python | 5d - Colorama | CSNewbs
Learn how to change the colour of text in Python using the colorama library. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 5d - COlorama What is Colorama? Colorama is a library that allows the colour of text to be changed. Information about the library can be found on the Python Package Index (PyPi) website . Copyright of the library is held by Jonathan Hartley & Arnon Yaari. Colorama can be imported when using some online editors like Replit . Colorama is not available as a default library on the standard Python offline editor (IDLE) . Using Colorama The three main commands using Colorama are: Fore to change the text colour. Back to change the highlight colour. Style to make the text appear dim or bright. from colorama import Fore print (Fore. GREEN + "Hello There" ) Hello There from colorama import Back print (Back.YELLOW + "Goodbye Now" ) Goodbye Now from colorama import Style print (Style.DIM + "Hi Again" ) Hi Again There are 8 possible colours to choose with the Fore and Back commands. You must write the colour name in CAPITAL LETTERS . BLACK CYAN GREEN MAGENTA RED WHITE YELLOW There is also the RESET option, e.g. Fore.RESET The 2 options to choose with the Style command are DIM and BRIGHT . You can also use Style.RESET_ALL Colorama Task 1 ( Traffic Lights) Create a simple traffic light program . The user is prompted for an input . Typing "GO " will output a suitable message in GREEN , typing "WAIT " will output a message in YELLOW and typing "STOP " will output a response in RED . Example solutions: What should the driver do? STOP You must stop your car. What should the driver do? GO It is safe to continue driving. ⬅ 5c - Date & Tim e 5e - M ore Libraries ➡
- 6.1b - Legislation - OCR GCSE (J277 Spec) | CSNewbs
Learn about key computing laws including the Data Protection Act (2018), Computer Misuse Act (1990), Copyright, Designs and Patents Act (1988) and software licences. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR 6.1b: Legislation Specification: J277 Watch on YouTube : Data Protection Act Computer Misuse Act Copyright, Designs & Patents Act Open Source Licence Proprietary Licence Data Protection Act (2018) In 2018 the European Union introduced GDPR (General Data Protection Regulation ) to protect the privacy of data for people in the EU. The UK matched this by updating the Data Protection Act introduced in 1998 to become the Data Protection Act (2018) . This act protects the data of individuals that is stored on computers and processed by organisations. How the Data Protection Act works: Each person who has their data stored is known as a data subject . An employee within an organisation must be appointed as a data controller and it is they who are responsible for registering with the Information Commissioner . The Information Commissioner is the person in the UK who is responsible for managing several laws , most significantly the Data Protection Act. When registering with the Information Commissioner, the organisation's data controller must be clear on exactly: What information they are collecting, Why it is being collected, What the data will be used for . The six principles of the Data Protection Act state that data must be: 1. Collected lawfully and processed fairly. 4. Data must be accurate and up-to-date. 2. Only used for the reasons specified. Principles of the Data Protection Act (2018) 5. Data must not be stored for longer than necessary, 3. Data must be relevant and not excessive. 6. Data must be stored and processed securely. Computer Misuse Act (1990) This act was introduced as computers became cheaper and more common at home and work . The act attempts to stop and punish those who use computers inappropriately . Breaking any of the three principles could result in fines and a jail sentence but only if it can be proved it was done on purpose and not by accident. The Computer Misuse Act (1990 ) includes three main principles : 1. No unauthorised access to data. Example: Hacking a computer system. 2. No unauthorised access to data that could be used for further illegal activities. Example: Accessing personal data to use as blackmail or identity theft. 3. No unauthorised modification of data. Example: Spreading a virus to change data. Copyright, Designs & Patents Act (1988) This act makes it a criminal offence to copy work that is not your own without the permission of the creator or the copyright holder. This can refer to text, images, music, videos or software. Owning the copyright of an image might not prevent others from copying and using it but this act means that the owner can bring legal proceedings in court to those who have stolen their work . However, it is difficult to trace who has stolen work once it has been uploaded to the internet and copies can easily spread, especially television shows and movies. This act specifically prohibits the following actions: Making copies of copyrighted material to sell to others . Importing and downloading illegally copied material (except for personal use). Distributing enough copyrighted material to have a noticeable effect on the copyright holder . Possessing equipment used to copy copyrighted material , as part of a business. Software Licences A software licence refers to how a user can legally use the software , there are two main types: Open Source Licence Source code is the software code written by programmers . If the software is open source it means that users can view and modify the source code . Linux, Python and Firefox are examples of open source software. Benefits Drawbacks Because the source code is available to edit , it can be customised to the organisation's needs . Often shared in the public domain so users can work together to modify, debug and improve a product. Unwanted features can be removed to make the software run faster . There are security risks - some editors may add malicious code to the program. Open source software is often low in price and sometimes free. It may be difficult to receive support as development is often distributed between people in different locations. The code may be prone to errors as it may not have been tested fully. It requires technical skills to be able to adapt source code efficiently and to maintain the code . Proprietary Licence Another term for a proprietary licence is closed source because the code is restricted - users are prevented from being able to view or modify the source code . You buy the right to use the software but you don't actually own it. Microsoft Office, Fortnite and Spotify are examples of closed source software. Benefits Drawbacks The code is well tested and has been professionally developed. Updates will generally be secure . Users must rely on the company to provide updates and fix issues. This might be infrequent or stop completely. The company can be held to account if it does not perform as listed in the terms and conditions upon purchase. Often not free and may be expensive. Most developers will provide some form of help/support . Users cannot modify, debug or improve the code for their own benefit. Q uesto's Q uestions 6.1b - Legislation: 1a. State the 6 principles of the Data Protection Act (2018) . [ 6 ] 1b. Explain how the Data Protection Act works . In your answer, you should include definitions of a data subject , the data controller and the Data Commissioner . [ 6 ] 2. Describe the 3 principles of the Computer Misuse Act (1990) . [3 ] 3a. What is the purpose of the Copyright, Designs & Patents Act (1988) ? [ 2 ] 3b. Describe 3 actions that CDPA (1988) prohibits . [ 3 ] 4a. Describe the difference between an open source and a proprietary licence . [ 2 ] 4b. State two benefits and two drawbacks of using software with a: Open source licence [ 4 ] Proprietary licence [ 4 ] 6.1a - Impacts of Technology Theory Topics
- 3.5 - Data Analysis Tools | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about different types of tools used in the data analysis process including data visualisation, data cleaning and GIS. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 3.5 - Data Analysis Tools Exam Board: OCR Specification: 2016 - Unit 2 The fifth stage of data analysis is to select the most appropriate tools to analyse the collected data. The method(s) selected will depend on the type of project and the established objectives. Data Tables Databases are often split into tables to be easier to update , view and manipulate . For example, a supermarket database may include a table of product information, another table of suppliers and another for actual stock levels. Separating the data into tables allows for simpler editing and also allows for the display of basic patterns . For example, looking at a table of stock levels in a supermarket can quickly show which products need to be ordered in as they are close to selling out. Data tables allow for the most simple form of pattern discovery and are a good method of speedy, short-term data analysis . However they present data in its current format and cannot show change or trends over time - a product may have a high stock level because it is popular and has just been ordered in, rather than because no-one is buying it. A simplified data table for a supermarket. Visualisation of Data Visualising data (by producing a chart or graph of collected data for example) makes it easier for an audience to see trends and patterns . Visualising data, like the bar chart to the right of the supermarket table from the tool above, makes it easier to understand and quicker to interpret . In this example, It is easier to see using the chart that steak pies are low in stock and should be re-ordered soon. A bar chart of the supermarket data table. Trend & Pattern Identification This tool links heavily to visualisation of data in allowing trends and patterns to be viewed as a visual format - such as producing a line graph of last year’s stock sales. Statistical analysis allows data analysts to examine numerical data and, if done correctly, can highlight relationships between different data elements - such as the price of a product and how many have been sold. Discovering links between variables is known as regression analysis . Data Cleaning Data cleaning ensures that any stored data is up-to-date and accurate , in accordance with the Data Protection Act ( 2018 ). Forms of data cleaning include removing customers who have not made a purchase in a certain amount of time (e.g. two years) and periodically checking that user addresses are up to date. Data cleaning would reduce the size of any data table by removing redundant, incorrect or unnecessary data . This would make it easier to work with the data table and would improve the data quality by removing erroneous and irrelevant data. GIS / Location Mapping Geographic Information Systems (GIS ) can be used to add geographic data to any analysis. For example, an organisation can track the geographical location of items or staff e.g. tracking the movement of shipping containers around the world to see production flow. This also works for courier services to see delays and delivery times in real-time . Q uesto's Q uestions 3.5 - Data Analysis Tools: 1. Describe how Fresh Food UK, from the question in 3.4 , could use each of the data analysis tools when trying to determine and present the most profitable stores across the country in the past year . a. Data Tables [3 ] b. Visualisation of Data [3 ] c. Trend & Pattern Identification [3 ] d. Data Cleaning [3 ] e. GIS / Location Mapping [3 ] 3.4 - Stages of Data Analysis Topic List 3.6 - Information Systems
- 5.3 - Policies | F161 | Cambridge Advanced National in Computing | AAQ
Learn about policies related to application development, including a user guide, acceptable use policy (AUP), backup, codes of practice, staying safe online and the use of information. 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 5.3 - Policies Watch on YouTube: Policies You need to know the purpose , content and application of each policy to be considered when related to developing application platforms . What You Need to Know Policies Policies provide rules and guidance that help ensure an application platform is developed and used safely , responsibly and effectively . Application User Guide An application user guide provides users with instructions and information about how to install , access and use the application correctly . It may include system requirements , installation instructions , explanations of features , troubleshooting advice and contact/support information . Developers create and maintain documentation that reflects the finished application and is accessible and understandable to its intended users . System requirements are an important part of the guide as they allow users to check that their device and operating system are compatible before installation , helping prevent errors and providing useful information when troubleshooting problems . Acceptable Use Policy (AUP) An acceptable use policy (AUP ) defines rules about how an application can and cannot be used, encouraging appropriate and responsible behaviour. It includes acceptable and unacceptable activities , user responsibilities , prohibited content or behaviour , security requirements and possible consequences of breaking the rules . Developers ensure users are given access to the AUP and may be required to agree to it before using the application. For example, a school's learning platform could prohibit users from sharing passwords , posting offensive content or attempting to access another student's account . Backup Policy A backup policy ensures that important application data can be recovered if the original data is lost , damaged , corrupted or affected by a security incident . The policy defines what data should be backed up , how often backups occur, where they are stored , how long they are retained and how data can be restored . Developers ensure the application supports the organisation's backup requirements , such as automatically backing up user data at scheduled intervals and securely storing backup copies . For example, a school application could automatically back up student records each day so they can be restored following data loss. Codes of Practice Codes of practice provide guidelines for good professional practice when developing and operating application platforms . They may cover areas such as security , accessibility , privacy , ethical behaviour , development standards and handling user data responsibly . Developers follow relevant professional or industry guidelines throughout the development process when designing , coding , testing and maintaining the application . For example, developers could follow accessibility guidance to make an application usable by people with different accessibility needs . Staying Safe Online A staying safe online policy promotes responsible internet use and protects the safety and well-being of users , helping create a safe and respectful online environment . It includes guidance about protecting personal information , communicating safely , appropriate online behaviour , recognising suspicious content and reporting concerns . Developers can provide safety information and suitable features , such as privacy controls , reporting systems , blocking features and warnings about sharing personal information . For example, a social media application could allow users to block and report other accounts and provide guidance about not sharing personal information . Use of Information A use of information policy explains how an organisation collects , uses , stores and shares users' information . It provides transparency , builds trust and helps meet legal responsibilities . The policy identifies what information is collected , why it is required , how it will be used and stored , who it may be shared with , users' rights and restrictions on misuse . Developers design the application so that information is collected and processed according to the policy , including appropriate privacy controls, permissions and security measures . For example, an application collecting users' email addresses should explain why they are collected , how they will be used and who can access them . Q uesto's Q uestions 5.3 - Policies: 1. Explain the purpose of an application user guide and describe the information it should contain . [ 3 ] 2. Explain the purpose and content of an Acceptable Use Policy (AUP ), including how it can be applied to an application platform . [4 ] 3. Explain the purpose of backup policies and codes of practice and how developers can apply them when developing application platforms . [4 ] 4. Explain the purpose and content of a staying safe online policy and how its requirements could influence the features of an application . [4 ] 5. Explain the purpose and content of a use of information policy , including how developers can ensure information is collected , stored , used and shared appropriately . [ 4 ] During the production of Toy Story 2 , a command accidentally deleted a huge amount of the film's production data . Pixar discovered that its backups had problems too, but supervising technical director Galyn Susman had a backup copy of the project stored on her computer at home while working remotely, which allowed much of the deleted work to be recovered . D id Y ou K now? 5.2 - Application Installation Topic List 6.1 - Legal Considerations
- 8.1 - Programming Principles - Eduqas (2020 Spec) | CSNewbs
Learn about algorithms including programming principles, variables and sequencing. Based on the 2020 Eduqas (WJEC) GCSE specification. 8.1: Programming Principles Exam Board: Eduqas Specification: 2020 Problem Solving There are four stages to computational thinking (smart problem solving ). Decomposition is when you break a problem down into smaller tasks so that it is easier to solve . Pattern Recognition is the process of identifying similar patterns within a problem . Abstraction is when you ignore unnecessary information and focus only on the important facts . Algorithms are the final stage as step-by-step rules are created to solve the problem . An algorithm is usually written as psuedocode or presented as a flowchart . Programming Constructs There are three constructs (ideas) of programming that most programs will contain: Sequence Structuring code into a logical, sequential order . Selection Decision making using if statements . Iteration Repeating code , often using for loops or while loops . Variables Large programs are often modular - split into subroutines with each subroutine having a dedicated purpose. Local variables are declared within a specific subroutine and can only be used within that subroutine . Global variables can be used at any point within the whole program . Local variable advantages Saves memory - only uses memory when that local variable is needed - global variables use memory whether they are used or not. Easier to debug local variables as they can only be changed within one subroutine. You can reuse subroutines with local variables in other programs. Global variable advantages Variables can be used anywhere in the whole program (and in multiple subroutines). Makes maintenance easier as they are only declared once. Can be used for constants - values that remain the same. Local & Global Variables Constants A variable is data that can change in value as a program is being run. A constant is data that does not change in value as the program is run - it is fixed and remains the same. An example of a constant in maths programs is pi - it will constantly remain at 3.14159 and never change. π π Counts & Rogue Values When using iteration (looping) the loop must eventually be able to stop. A count is a variable that is used to record the current iteration (loop number). A rogue value is an unexpected value that will cause the loop to end . For example by typing "Stop" into a loop that asks for numbers. Self-documenting Identifiers An efficient program will use variables with sensible names that immediately state their purpose in the program. Using variable names like 'TotalNum' and 'Profit' rather than 'num1' and 'num2' mean that other programmers will be able to work out the purpose of the code without the need for extensive comments. Q uesto's Q uestions 8.1 - Programming Principles: Problem Solving 1. What is meant by 'decomposition '? Why is it important ? [2 ] 2. What does the term 'abstraction ' mean? Why is it important ? [2 ] 3. What is pattern recognition ? [2 ] 4a. What is an algorithm ? [1 ] 4b. What are the two ways of writing an algorithm ? [2 ] Programming Constructs 1. Describe and draw a diagram for the 3 programming constructs . [6 ] Variables 1. What is the difference between local and global variables ? [4 ] 2. Describe two advantages of using local variables . [2 ] 3. Describe two advantages of using global variables . [2 ] 4. What is a constant ? Give an example . [2 ] 5. Why is it important to use self-documenting identifiers when programming? [2 ] 6. What is a count ? What is a rogue value ? [2 ] 7.1 - Language Levels Theory Topics 8.2 - Understanding Algorithms
- 5.1.1 - Human Computer Interaction | F160 | Cambridge Advanced National in Computing AAQ
Learn about different types of human computer interaction (HCI) such as audio, movement / gesture, touch and visual (command line and graphical user interface (GUI)). 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) 5.1.1 - Types of Human-Computer Interaction Watch on YouTube : Human-Computer Interaction Human-computer interaction (HCI) refers to the ways in which users engage with computers and is an important factor that must be considered when designing and developing an application . For each type of HCI you need to know its purpose , devices on which it is used , its advantages and disadvantages and how client requirements may affect its use . Human-Computer Interaction Types of User Interaction Audio allows users to interact with a system using voice commands . Body movements or gestures (e.g. hand waves or head turns ) can control or interact with applications . Touch allows users to interact by tapping , swiping , dragging or pinching directly on a screen . Graphical user interfaces ( GUIs ) provide a visual interface using windows , icons , buttons and menus . Command-line interfaces ( CLIs ) only allow interaction with the system by typing text commands into a terminal or shell . Q uesto's Q uestions 5.1.1 - Types of Human-Computer Interaction: 1. A company selling toys wants to create an app to advertise its latest products . Justify the suitability of each user interaction type for the company's app . [5 ] 2. Compare the GUI and CLI visual interaction methods, including their advantages and disadvantages . [8 ] 3. Explain when the audio interaction method would be appropriate . [ 3 ] In 2012 Milwaukee County Zoo started giving iPads to orangutans so they could use the touchscreen to draw pictures . D id Y ou K now? 4.3 - Decomposition Methods Topic List 5.1.2 - Types of Device
- OCR CTech IT | Unit 1 | 1.2 - Computer Components | CSNewbs
Learn about required internal hardware including the CPU, motherboard and PSU. Find out about ports and expansion cards. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 1.2 Computer Components Exam Board: OCR Specification: 2016 - Unit 1 This page describe the various components inside of computer systems . The first three are necessary in every type of computer: Processor Motherboard Power Supply Unit The main role of a processor is to manage the functions of a computer system by processing data and instructions . The primary processor of each computer system is the Central Processing Unit ( CPU ). A processor is attached to the motherboard using a connection point called a CPU socket . The motherboard is the main circuit board of a computer on which components such as the CPU and ROM are connected . The motherboard contains PCI slots for expansion cards and ports for external devices to be connected . The power supply unit (PSU ) converts electricity from AC (Alternating Current) from the mains power supply to DC (Direct Current) which the computer system can use . The PSU of desktop computers is internal whereas portable devices require an external 'charger '. Memory Computer memory is split into two types - volatile and non-volatile . Volatile storage is temporary (data is lost whenever the power is turned off ). Non-volatile storage saves the data even when not being powered , so it can be accessed when the computer is next on and can be stored long-term . Random Access Memory (RAM) Read-Only Memory (ROM) Cache Memory RAM is volatile (temporary) storage that stores all programs that are currently running . RAM also stores parts of the operating system to be accessed by the CPU. RAM is made up of a large number of storage locations, each can be identified by a unique address . ROM is non-volatile storage that cannot be changed . ROM stores the boot program / BIOS for when the computer is switched on. The BIOS then loads up the operating system to take over managing the computer. Cache memory is volatile (temporary) storage that stores frequently accessed data . It is very quick to access and faster than other types of memory like RAM because it is stored on the processor itself. RAM ( R andom A ccess M emory) ROM ( R ead O nly M emory) Cache Memory Secondary Storage Magnetic Storage Optical Storage Optical Storage Characteristics: X - Low CAPACITY : 700 MB (CD ), 4.7 GB (DVD ), 25 GB (Blu-ray ). X - Not DURABLE because discs are very fragile and can break or scratch easily. ✓ - Discs are thin and very PORTABLE . X - Optical discs have the Slowest ACCESS SPEED . Magnetic Disks are spelled with a k and Optical Discs have a c. Magnetic Storage Characteristics: ✓ - Large CAPACITY and cheaper per gigabyte than solid state . X - Not DURABLE and not very PORTABLE when powered on because moving it can damage the device. ✓ - Relatively quick ACCESS SPEED but slower than Solid State . Optical storage uses a laser to project beams of light onto a spinning disc, allowing it to read data from a CD , DVD or Blu-Ray . This makes optical storage the slowest of the four types of secondary storage. Disc drives are traditionally internal but external disc drives can be bought for devices like laptops. A magnetic hard disk drive (HDD ) is a common form of secondary storage within desktop computers. A read/write head moves nanometres above the disk platter and uses the magnetic field of the platter to read or edit data. Hard disk drives can also be external and connected through a USB port . An obsolete (no longer used) type of magnetic storage is a floppy disk but these have been replaced by solid state devices such as USB sticks which are much faster and have a much higher capacity. Another type of magnetic storage that is still used is magnetic tape . Magnetic tape has a high storage capacity but data has to be accessed in order (serial access ) so it is generally only used by companies to back up or archive large amounts of data . Solid State Storage Cloud Storage When you store data in 'the cloud ', using services such as Google Drive, your data is stored on large servers owned by the hosting company . The hosting company (such as Google) is responsible for keeping the servers running and making your data accessible on the internet . Cloud storage is typically free for a certain amount of storage and users can buy more storage space when they need it - the scalable nature of this storage type makes it very flexible for businesses. Cloud storage is very convenient as it allows people to work on a file at the same time and it can be accessed from different devices . However, if the internet connection fails , or the servers are attacked then the data could become inaccessible . Cloud storage is also known as 'virtual storage ' because the data is saved remotely , freeing up physical storage space for users on their own devices . There are no moving parts in solid state storage . SSD s (Solid State Drives ) are replacing magnetic HDDs (Hard DIsk Drives) in modern computers and video game consoles because they are generally quieter , faster and use less power . A USB flash drive ( USB stick ) is another type of solid state storage that is used to transport files easily because of its small size. Memory cards , like the SD card in a digital camera or a Micro SD card in a smartphone , are another example of solid state storage. Solid State Characteristics: X - High CAPACITY but more expensive per gigabyte than magnetic . ✓ - Usually DURABLE but cheap USB sticks can snap or break . ✓ - The small size of USB sticks and memory cards mean they are very PORTABLE and can fit easily in a bag or pocket. ✓ - Solid State storage has the fastest ACCESS SPEED because they contain no moving parts . Cloud Storage Characteristics: ✓ - Huge CAPACITY and you can upgrade your subscription if you need more storage. ✓ / X - Cloud storage is difficult to rank in terms of PORTABILITY , DURABILITY and ACCESS SPEED because it depends on your internet connection. A fast connection would mean that cloud storage is very portable (can be accessed on a smartphone or tablet) but a poor connection would make access difficult . Storage Protocols SCSI ( Small Computer System Interface ) is a protocol (set of rules) for attaching external devices to a computer system, such as a printer, storage drive or scanner. SAS ( Serial Attached SCSI ) is an improved version of SCSI that enables many more external devices (up to 128) to be connected at the same time to a computer system. Expansion Cards Expansion cards are dedicated circuit boards with a specific purpose that are attached to the motherboard . Most of the following expansion cards can also exist as integrated components on the motherboard, rather than a separate card. Graphics Card Sound Card Processes graphical data (e.g. videos or animations) and converts it into a displayable output on a monitor . Network Interface Card (NIC) 0010 1011 0101 0101 0110 0111 0101 0001 0101 Sound cards convert analogue sound waves into digital data (binary) when inputting audio through a microphone. Sound cards also convert digital data (binary) into analogue sound waves to output audio through speakers or headphones. 0010 1011 0101 0101 0110 0111 0101 0001 0101 Allows computers to connect to networks (such as the Internet ) and enables them to transfer data to other computers. Transfers data between servers across a network. Fibre channel allows for quick transfer speeds and is primarily used to connect data storage to servers in large data centres. Fibre Channel Card Storage Controller Card Required for the computer to manage and use any attached storage devices . Ports A port is the interface between external devices and the computer . Ports allow data to be transferred from and to these devices. USB Port Connects storage devices such as USB sticks or external hard drives . Connects input devices such as a keyboard or mouse, as well as other devices for data transfer such as a camera or smartphone. Ethernet Port Connects computers to network devices such as a modem or router, allowing access to the internet . FireWire Port Developed for Apple products, FireWire transfers data at a high speed from devices such as camcorders and external hard drives . FireWire supports isochronous devices , meaning data is sent in a steady , continuous stream . SATA Port Allows fast data transfer to external HDD , SSD or optical drives . SD Port Enables data from an SD card to be transferred from a device like a camera to the computer. Micro SD Port Allows data from a micro SD card to be transferred from devices such as smartphones , tablets and handheld games consoles to a computer. Q uesto's Q uestions 1.2 - Computer Components: Vital Components: 1. Describe the purpose of the following components : a. The CPU (Central Processing Unit ) [2 ] b. The motherboard [2 ] c. The PSU (Power Supply Unit ) [2 ] Primary Memory: 2a. What is the difference between primary and secondary memory ? [2 ] 2b. What is the difference between volatile and non-volatile storage ? [2 ] 2c. For each of the three types of primary memory , describe its role and give an example of what it can store. [6 ] Secondary Storage: 3a. For magnetic , optical and solid-state storage rank these three secondary storage mediums in terms of capacity , durability , portability and speed . [9 ] 3b. For the following scenarios justify which secondary storage medium should be used and why it is the most appropriate : Sending videos and pictures to family in Australia through the post. [3 ] Storing a presentation to take into work. [3 ] Storing project files with other members of a group to work on together. [3 ] Backing up an old computer with thousands of file to a storage device. [3 ] Additional Components: 4a. State the purpose of five different expansion cards . [5 ] 4b. What is the purpose of the motherboard ? [2 ] Ports: 5a. Describe the six different ports . [6 ] 5b. What is the difference between SCSI and SAS ? [2 ] 1.1 - Computer Hardware Topic List 1.3 - Computer System Types
- 6.5 - Physical Protection | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about methods of protecting data physically including biometrics, security staff and locks. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 6.5 - Physical Protection Exam Board: OCR Specification: 2016 - Unit 2 RFID & Tokens Radio-frequency identification (RFID) uses electromagnetic fields to attach tags to physical objects . RFID tags can be embedded within 'dumb' objects such as clothing, packages and even animals. RFID is used with security tokens (such as an ID keycard ) to permit the access of authorised people to certain areas. RFID can be used by IT companies to track equipment and manage access . Shredding This is the cutting up of documents (paper or CDs ) into small pieces so that they cannot be reassembled and read. Sensitive data on paper or optical disc should be shredded when no longer required. Locks A lock can be used to prevent access to server rooms or sensitive data stores . Only authorised personnel with the right key will have access. Physical Security Measures Backup Backups should be taken regularly and stored at a secure location away from the main site. Backups could also be stored on cloud servers so that any damage to the organisation's building will not affect the backup as well. Biometrics Biometric devices require the input of a human characteristic (such a fingerprint , iris or voice scan ). The biometric data is checked against previously inputted data in a database . A match will allow access to the user. Security Staff Staff may be employed to physically prevent unauthorised people from accessing certain areas of a building where sensitive information is stored. They may check ID keycards or use surveillance like CCTV to monitor who is entering and exiting a secure area. Q uesto's Q uestions 6.5 - Physical Protection: 1. Explain how locks can be used as a physical security method within an organisation. [2 ] 2. Explain what RFID is and how it can be used with tokens as a physical security method. [3 ] 3. Explain how biometric devices can be used as a physical security method. [3 ] 4. Explain how security staff can be employed to protect data. [2 ] 5. What is the purpose of shredding ? [2 ] 6. Why should backups be stored off-site ? [1 ] 6.4 - Protection Measures Topic List 6.6 - Logical Protection
- 1.2 - Designing Algorithms - OCR GCSE (J277 Spec) | CSNewbs
Learn about designing algorithms including constructing pseudocode and flowcharts. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR 1.2: Designing Algorithms Specification: J277 Watch on YouTube : Inputs, Processes & Outputs Structure Diagrams Pseudocode Flowcharts Writing Code in Exams Trace Tables What is an algorithm? An algorithm is a set of instructions , presented in a logical sequence . In an exam you may be asked to read and understand an algorithm that has been written. To prove your understanding you may be asked to respond by actions such as listing the outputs of the algorithm, correcting errors or identifying an error within it. Programmers create algorithm designs as a method of planning a program before writing any code. This helps them to consider the potential problems of the program and makes it easier to start creating source code. There are two main methods of defining algorithms are pseudocode and flowcharts . In exams , OCR will display algorithms in their own 'OCR Exam Reference Language '. Visit the Python section of CSNewbs ---> OCR Exam Reference Language Below is a list of all of the code concepts from the OCR J277 GCSE specification that you need to know , presented in OCR Exam Reference Language (OCR ERL ), which is how code will be presented in the paper two exam . The code below is NOT Python . There are several differences between OCR ERL and real high-level languages like Python or Java , especially in the 'String Handling ' section and with for loops . In an exam, you can write in OCR ERL or a programming language you have learnt. All code-related videos in the CSNewbs YouTube series for Paper 2 show both OCR ERL and Python side-by-side . Basic Commands Annotation // Comments are written using two slashes Assignment name = "Harold" age = 49 Constants and Global Variables constant tax = 15 global name = "Admin" Input / Output name = input ( "Enter your name") print ("Transaction Complete") Casting str (29) int ("102") float (30) bool ("False") Random Number number = random (1,100) Selection Selection (if - then - else) if firstname == "Steven" then print("Hello" + firstname) elif firstname == "Steve" then print("Please use full name") else print("Who are you?") end if Selection (case select) switch day: case “Sat”: print(“It is Saturday”) case “Sun”: print(“It is Sunday”) default : print(“It is a Weekday”) endswitch Iteration Iteration (for loop) for i = 1 to 10 step 1 input item next i Iteration (while loop) while firstname ! = "Steven" firstname = input("Try again:") endwhile Iteration (do while loop) do firstname = input("Guess name:") until firstname == "Steven" String Handling Length of a String word = "dictionary" print(word.length ) outputs 10 Substrings word = "dinosaurs" print(word.substring (2,3)) outputs nos print(word.left (3)) outputs din print(word.right (4)) outputs aurs Concatenation name = "Penelope" surname = "Sunflower" print(name + surname) String Cases phrase = "The Cat Sat On The Mat" print(phrase .lower ) print(phrase .upper ) ASCII Conversion ASC ("C") returns 67 CHR (100) r eturns "d" File Handling File Handling - Reading Lines file1 = open ("Customers.txt") while NOT file1.endOfFile() print(file1.readLine() ) endwhile file1.close() File Handling - Writing to a (New) File newFile ("paint.txt") file2 = open ("paint.txt") paint = input("Enter a paint colour:") file.writeLine (paint) file2.close() Arrays Declare Array array names[3] array names = "Ella", "Sam", "Ali" Declare 2D Array array grid[4,5] Assign Values names[2] = "Samantha" grid[1,3] = "X" More Programming Keywords Connecting strings together using the + symbol is called concatenation . Extracting certain parts of a string (e.g. using .substring() ) is called slicing . An if statement within an if statement or a loop within a loop is called nesting . Flowcharts A flowchart can be used to visually represent an algorithm. It is more likely you will need to be able to interpret a flowchart rather than draw one. The flowchart symbols are: The terminator symbol is also known as a terminal . Algorithm Examples Below are two different methods for representing the same algorithm - a program to encourage people to buy items cheaply at a supermarket. The program allows the price of items in a supermarket to be entered until the total reaches 100. The total price and the number of items entered are tracked as the program loops. Once the total reaches 100 or more, an if statement checks how many items have been entered and a different message is printed if there are 20 or more items, 30 or more items or less than 20 items. Pseudocode // This is a program to see how many items you can buy in a supermarket before you spend over £100} total = 0 itemsentered = 0 while total < 100 itemprice = input ("enter the price of the next item") total = total + itemprice itemsentered = itemsentered + 1 endwhile if itemsentered >= 20 then print ("You are on your way to saving money.") elif itemsentered => 30 then print ("You're a real money saver.") else print ("Look for better deals next time.") endif Flowchart Reading Algorithms In an exam you may be asked to read an algorithm and prove your understanding , most commonly by listing the outputs . Start from the first line and follow the program line by line , recording the value of variables as you go . When you encounter a for loop , repeat the indented code as many times as stated in the range . Example Algorithm: procedure NewProgram() maxvalue = input() for i = 1 to maxvalue output (i * i) ??????? print("program finished") endprocedure Example Questions: 1. List the outputs produced by the algorithm if the 'maxvalue' input is 5 . 2. State the code that has been replaced by '???????' and what the code's purpose is. Example Answers: 1. Outputs: 1 4 9 16 25 program finished 2. Missing Code: next i Purpose: Moves the loop to the next iteration. Watch on YouTube Structure Diagrams Structure diagrams display the organisation (structure ) of a problem in a visual format , showing the subsections to a problem and how they link to other subsections . The noughts and crosses structure diagram below has subsections in light yellow. Each subsection could be coded by a different person . Structure diagrams are different to flowcharts (those show how data is input, processed and output within a program or system). You may be asked in an exam to draw or fill in a simple structure diagram . Trace Tables Trace tables are used to track the value of variables as a program is run . They can be used to manually track the values in order to investigate why the program isn't working as intended . Each row in the trace table represents another iteration . Each column stores the value of a variable as it changes. See below how the trace table is updated for the simple algorithm on the left. num1 = 2 num2 = 5 for i = 1 to 3 output (num1 + num2) num2 = num2 - 1 next i print("complete") For most algorithms, not every variable will be updated in each iteration . Values may not be entered in the order of the trace table either. For example, each iteration outputs num1 + num2 and then decreases the value of num2 by 1. Q uesto's Q uestions 1.2 - Designing Algorithms: 1. What is the definition of an algorithm ? Name two ways an algorithm can be designed . [ 3 ] 2. Using a high-level programming language such as Python , or the OCR Exam Reference Language , write an algorithm that inputs 6 decimal numbers and outputs the total , largest , smallest and average values. [ 8 ] For example, entering 3.1 , 5.3 , 2.3 , 5.4 , 2.9 and 4.4 would output 23.3 (total), 5.4 (largest), 2.3 (smallest) and 3.9 (average). 3. Draw and label the flowchart symbols . [ 6 ] 4. What is the purpose of a structure diagram ? [ 2 ] 5. Create a trace table for the NewProgram() algorithm in the Reading Algorithms section on this page. [ 7 ] 1.1 - Computational Thinking Theory Topics 1.3 - Searching & Sorting
- Python | 5a - Random | CSNewbs
Learn how to use random commands in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 5a - Random Importing Section 5 looks at additional commands that you can import and use from Python’s code libraries . A library is a collection of different commands that automatically come with Python but are separate from the main file. They can be imported (brought in) to your program by using the import command at the start of your program . Imagine Python’s library to be similar to an actual library. There are different sections in a real library (such as History, Geography, Reference) and different sections in Python’s library (such as random or time ). Each real library has many individual books in each section, just like commands in Python. randint() choice() sample() shuffle() random sleep() ctime() strftime() time from random import randint from time import ctime You can import a specific command from one of Python's libraries using the from and import commands at the top of your program . Random Numbers To generate random numbers , first import the randint command section from Python’s random code library on the first line of the program. The randint command stands for random integer . In brackets, state the number range to randomly choose from. The random value should be saved into a variable . from random import randint number = randint(1,100) print ( "A random number between 1 and 100 is" , number) = A random number between 1 and 100 is 39 = A random number between 1 and 100 is 73 = A random number between 1 and 100 is 4 The randint range does not have to be fixed values and could be replaced by variables . Below is a program where the user selects the upper and lower values of the range: from random import randint lower = int ( input ( "What is the lowest number? " )) upper = int ( input ( "What is the highest number? " )) number = randint(lower,upper) print ( "A random number between" , lower , "and" , upper , "is" , number) = What is the lowest number? 1 What is the highest number? 50 A random number between 1 and 50 is 36 = What is the lowest number? 500 What is the highest number? 1000 A random number between 500 and 1000 is 868 Random Numbers Task 1 ( Ice Comet) A special comet made of ice passes the Earth only once every one hundred years , and it hasn't been seen yet in the 21st century . Use the randint command to randomly print a year between the current year and 2099 . Example solutions: Did you know it won't be until 2032 that the ice comet will next pass Earth!? Did you know it won't be until 2075 that the ice comet will next pass Earth!? Random Numbers Task 2 ( Guess the Number) Use randint to generate a random number between 1 and 5 . Ask the user to enter a guess for the number with int and input . Print the random number and use an if statement to check if there is a match , printing an appropriate statement if there is and something different if there is not a match . Example solutions: Enter a number between 1 and 5: 4 Computer's number: 5 No match this time! Enter a number between 1 and 5: 3 Computer's number: 3 Well guessed! It's a match! Choice - Random Word Rather than just numbers, we can also randomly generate characters or strings from a specified range by using the choice command. You must first import the choice command from the random library. Choice works well with a list of values , which require square brackets and commas separating each word . Below is a program that randomly chooses from a list of animals : from random import choice animals = [ "cat" , "dog" , "horse" , "cow"] randomanimal = choice(animals) print ( "A random animal is" , randomanimal) = A random animal is cat = A random animal is horse Choice - Random Character Instead of using a list you can randomly select a character from a string . The program below randomly selects a character from the variable named 'letters ' which is the alphabet . from random import choice letters = "abcdefghijklmnopqrstuvwxyz" randomletter = choice(letters) print ( "A random letter is" , randomletter) = A random letter is e = A random letter is y Random Choice Task 1 ( Holiday Destinations ) Harriet can't decide where to go on holiday and needs help deciding. Make a list of at least 6 destinations (see the animal example above ) and use the choice command (don't forget to import it from the random library ) to print a random destination . Example solutions: Why don't you go to Paris on holiday? Why don't you go to Barcelona on holiday? Random Choice Task 2 ( Vowels ) Use the choice command to randomly select a vowel (look at the alphabet example above ). Ask the user to input a vowel and use an if statement to check if the user's letter matches the randomly selected letter . Print a suitable statement if they match and something else if they don't . Example solutions: Enter a vowel: i Random vowel: i The vowels matched! Enter a vowel: o Random vowel: u The vowels didn't match! Sample - Random Strings To choose more than one value from a set of data, use the sample command. Sample is used with a list of values and a number representing how many from that list to pick. The code sample(days,2) picks two random values from the list called days . Both examples below perform the same task but, as with most code, there is no one way to solve a problem. from random import sample days = [ "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" ] two_days = sample(days , 2) print ( "You will be set homework on:" , *two_days) A separate list and then a sample . = You will be set homework on: Thursday Monday = You will be set homework on: Friday Tuesday from random import sample two_days = sample([ "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" ] , 2) print ( "You will be set homework on:" , *two_days) The list and sample is combined on one line. The sample command actually makes a new list with the number of values selected (e.g. ["Tuesday" , "Thursday"] in the examples above). You can use an asterisk - * - directly before the sampled variable to print just the list values , otherwise the brackets and apostrophes will be printed too. from random import sample names = sample([ "Bob" , "Ben" , "Jen" , "Ken" ] , 2) print ( "The names are:" , names) from random import sample names = sample([ "Bob" , "Ben" , "Jen" , "Ken" ] , 2) print ( "The names are:" , *names) The names are: ['Bob', 'Jen'] The names are: Bob Jen Sample - Random Numbers You can also use the sample command to choose several integers from a given range. By implementing the range command you don’t need to individually write out each number. from random import sample numbers = sample( range (1,100) , 5) print ( "Five random numbers between 1 and 100 are:" , *numbers) Five random numbers between 1 and 100 are: 53 42 11 8 20 Five random numbers between 1 and 100 are: 74 52 51 1 6 Random Samples Task 1 ( Frost Comets) The ice comet from a previous task has broken up into four smaller frosty comets that could pass the Earth anytime from next year to the year 2095 . Print four random years in that range . Example solutions: I predict the frost comets will be seen in these years: 2093 2036 2027 2091 I predict the frost comets will be seen in these years: 2076 2033 2053 2085 Random Samples Task 2 ( Baby Boy ) Aunt Meredith is having a baby boy . Create a program that randomly selects 3 male names from a list of 10 possible names . Example solutions: Hey Aunt Meredith, how about these names: Charlie Eddie Frank Hey Aunt Meredith, how about these names: George Harold Bill ⬅ Section 4 Practice Tasks 5b - Sleep ➡







