top of page

Search CSNewbs

Search this site

304 results found with an empty search

  • Key Stage 3 Python | Turtle | CSNewbs

    The final part of a quick guide to the basics of Python aimed at Key Stage 3 students. Learn about importing turtle to command a moving object. Python - #6 - Turtle Import the Turtle The turtle library stores all of the code to create and move an object called a turtle . The turtle library must be imported into your Python program before you can use it to draw lines, shapes and colours . Create a new Python program and save the file as PythonTurtle . Write import turtle as the first line of code. Basic Shapes The turtle can be controlled by writing how many pixels it should travel forward and the angle it should point left or right . Moving Forwards turtle.forward(100) will move the turtle forward by 100 pixels. turtle.forward(200) will move the turtle forward by 200 pixels. When using the left command or the right command, the turtle won't actually move , but it will rotate by the number of degrees that you state. For example, typing turtle.left(90) will point the turtle upwards . Rotating Left & Right Copy the code to the right to make the turtle draw a square. Then try to make: A Rectangle A Triangle A Pentagon A Hexagon Square Rectangle Triangle Pentagon Hexagon Hint: To work out the angles, divide 360 by the number of sides. Using Loops You can use a for loop to repeat code . This is especially helpfully with intricate shapes with many sides. The code below will print a square but in only 3 lines instead of the 8 lines from task 2. This is the number of times the code underneath will be repeated . Change it to a higher number to repeat it more often . Each line after the 'for num in range' line must be indented . Press the tab key once on your keyboard to indent your code. Task 3 - Copy the code above to make the turtle draw a square using a loop. Then try to make: A Heptagon An Octagon A Circle A Pentagram (5-sided Star) Square Heptagon Octagon Circle Pentagram Hint: To work out the angles, divide 360 by the number of sides. Advanced Features Choose a background colour turtle .bgcolor("red") Choose the line size and colour turtle.pensize(6) turtle.color("green") Fill a shape turtle.color("yellow") turtle.begin_fill() (put your turtle's directions in here) turtle.end_fill() Lift the pen turtle.penup() turtle.pendown() Speed up/Slow down the turtle turtle.speed(speed=10) Change the turtle's appearance turtle.shape("turtle") Other options include "circle" and "arrow". Task 4 - Use the code above to make: A blue square on a red background. A yellow triangle on a pink background. Two different coloured circles - not touching each other. Three different shapes of three different colours - not touching each other. Complex Shapes Use everything that you have learned on this page to help you create more complex shapes. You could try: A Flower A Word (like your name - you will need to use the penup() and pendown() commands. A Christmas tree A Landscape (green ground, blue sky, yellow sun) <<< Selection

  • 9.1 - IDE Tools - Eduqas GCSE (2020 Spec) | CSNewbs

    Learn about the tools of an integrated development environment (IDE) including the editor, debugger, library, trace, memory inspector and error diagnostics. Based on the 2020 Eduqas (WJEC) GCSE specification. 9.1: IDE Tools Exam Board: Eduqas Specification: 2020 An IDE (Integrated Development Environment ) provides programmers with the following facilities (tools ) to help create programs : Editor The editor is software that allows a programmer to enter and edit source code . Editor features may include: Automatic formatting (e.g. automatic indentation). Automatic line numbering (this helps to identify exactly where an error has occurred). Automatic colour coding (e.g. Python turns loop commands orange and print commands purple). Statement completion (e.g. offering to auto-complete a command as the user is typing.) Libraries A library is a collection of commonly used functions and subprograms that can be linked to a program . For example, Python can import functions from its code library including random or time commands). Libraries must be linked to the main program using a linker . Linker Links together pre-compiled code from software libraries . For example, the import random command in Python links to the random library. Loader Pre-compiled code is loaded into RAM to be executed. Code Optimisation The code is optimised so it is fast , efficient and uses as little of the computer's resources as possible. Debugger Identifies errors in the code with the exact line of the error to help fix the problem . Break point The programmer selects a specific line and the program is paused once it reaches it. Variable values at that point are shown . Variable Watch cost Displays the current value of a selected variable . A variable can be watched line-by-line to see how the value changes . Trace Memory Inspector Logs the values of variables and outputs of the program a s the code is executed line by line . Displays the contents of a section of memory and how it is being used by the program . Error Diagnostics Displays information about an error when it occurs, such as the line it occurred on and the error type (e.g. syntax or runtime). This helps the programmer to fix the error . Specific errors can be detected such as a syntax error . See 10.3 . Compilers & Interpreters Both tools convert the source code written by a programmer into machine code to be executed by the CPU. A compiler converts the entire source code into executable machine code at once . After compilation, the program can be run again without having to recompile each time. An interpreter converts source code into machine code line by line . An interpreter must reinterpret the code each time the program is required to run . See 10.1 for both tools. Subroutines & Functions A subroutine is a section of code that can be re-used several times in the same program. There are two types of subroutines: A procedure just executes commands , such as printing something a certain number of times. A function can receive data from the main program (called a parameter ) and return a value upon completion. Subroutines (procedures and functions) are designed to be repeated and have three key benefits: Subroutines make programs easier to read and design . They reduce the duplication of code . Makes it is easier to debug a program. Q uesto's Q uestions 9.1 - IDE Tools: 1. Describe the purpose of each type of IDE facility : a. Editor b. Interpreter c. Compiler d. Linker e. Loader f. Debugger g. Break point h. Variable Watch i. Trace j. Memory Inspector k. Error Diagnostics [ 2 each ] 8.5 - Validation & Verification Theory Topics 10.1 - Translators

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

    Learn about the two types of language levels - high level languages and low level languages , as well as the use of interpreters and compilers. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 5.1: Languages & Translators Exam Board: OCR Specification: J277 Watch on YouTube : High-Level & Low-Level Languages Translators (Compiler & Interpreter) There are two types of programming languages used within computer systems: High-Level Languages Why do programmers use high-level languages? H igh-level programming languages use code written in a way that is similar to a natural human language , such as English, making it easier to understand and use the language. Using high-level languages leads to fewer errors and allows for more powerful and complex commands compared to low-level languages. However, a high-level language must be translated into machine code (binary) before it can be run, as high-level languages cannot be executed directly by the CPU . Popular high-level languages: PYT HON C++ Ja v a Visual Basic Low-Level Languages Low-level languages do not closely resemble a natural human language , making it harder for humans to understand and write in. Low-level languages are used when a program must be executed quickly or when programmers need to write code that interacts directly with the hardware , such as device drivers. There are two types of low-level language : Machine Code This is the pure binary code that computers can directly process and execute . It is extremely tedious and difficult for humans to understand and write machine code. However, machine code can be used when a programmer needs to perform a very specific command that can't be done in a high-level language. Machine code will be executed faster than high-level programs because it is already in a format the CPU can execute and does not need to be translated . 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0101 0100 1010 1010 1010 1010 1111 1110 0010 1001 0100 1001 0010 0111 0111 0101 0011 1010 1000 0101 0110 0111 0000 1010 1010 0011 1101 1001 0010 1101 0010 0100 1001 0011 1010 1001 0101 0101 0010 0101 0111 0101 0101 1000 1011 0111 Assembly Language Assembly language uses specialised command mnemonics to perform actions . See the Assembly Language section in the programming tab for a list of mnemonics such as INP , OUT and HLT . Assembly language is preferred by many programmers over machine code because it is easier to understand and spot errors . It is faster to execute than high-level languages and, like machine code, can be used to directly control the CPU . INP STA Number1 OUT HLT Number1 DAT Translators A translator changes (translates) a program written in one language into another language (usually machine code ). There are two main types of translator : Interpreter An interpreter converts high-level language one line at a time into machine code and executes it. Compiler A compiler converts high-level language into machine code for execution at a later time. The entire program is converted at once . PYT HON PYT HON 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 Interpreters vs Compilers Interpreter Compiler Execution Method: An interpreter translates source code (high level code) into machine code one line at a time . Execution Speed: An interpreter is slower than a compiler because the code must be reinterpreted each time the program is run. Complexity: Interpreters are smaller, simpler programs . Error Reporting: In error reporting, the interpreter would encounter the errors and report it to the user immediately and stops the program from running. Repetition: Interpreted programs can be edited and run without translating the whole program . Interpreters must reinterpret the program every time it is run. Execution Method: A compiler translates all the source code (high level code) into machine code in one go . A compiler produces an executable file that will run on other machines without the compiler needing to be installed. Execution Speed: Compilers can produce much more efficient code than interpreters making the compiled programs run faster . Complexity: Compilers tend to be large complex programs . Error Reporting: The compiler would analyse the entire program , taking note of where errors have occurred and record them in an error file . Repetition: Compilation requires analysis and the generation of the code only once , whereas interpreters must re-interpret each time. However, compiled programs have to be re-compiled after any changes have been made. x1 ∞ x1 Q uesto's Q uestions 5.1 - Languages & Translators: 1a. Describe three reasons why programmers use high-level languages . [ 3 ] 1b. Explain one limitation of using high-level languages . [2 ] 2a. Describe a key difference between low-level languages and high-level languages . [ 2 ] 2b. Describe when a low-level language would be used instead of a high-level language . [2 ] 2c. Describe an advantage and a disadvantage of writing directly in machine code . [2 ] 2d. Describe what assembly language is. Give one benefit to using assembly language instead of machine code and one benefit to using it instead of a high-level language . [3 ] 3. Compare high-level and low-level languages by stating which is: a. Easier to understand [ 1 ] b. Requiring translation [ 1 ] c. Quicker to execute [ 1 ] 4. Compare interpreters and compilers for each of the following features : a. Execution Method b. Execution Speed c. Complexity d. Error Reporting e. Repetition [ 10 total ] 4.1 - Boolean Logic Theory Topics 5.2 - IDE

  • 2.2 - Computational Methods | OCR A-Level | CSNewbs

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

  • 5.3 - HCI Designs, Documents, Diagrams | F160 | Cambridge Advanced National in Computing AAQ

    Learn about designs, documents and diagrams related to human-computer interaction including processing and data handling, data flow diagrams (level 0 and level 1), flowcharts and user interface designs (visualisation and wireframe diagrams). 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.3 - Human Computer Interface Designs, Documents and Diagrams Watch on YouTube : Data flow diagrams Flowcharts Visualisation diagrams Wireframe diagrams There are four types of documents / diagrams you need to know that can be used to design human-computer interfaces : data flow diagrams (DFDs ), flowcharts , visualisation diagrams and wireframe designs . For each type of diagram , you need to know its components and conventions , when it is appropriate for use , and how to create it . Each diagram is also effective for different uses and you must be able to consider how specific diagrams can be made more effective . Human-Computer Interface Diagrams Data Flow Diagrams A data flow diagram (DFD ) is a visual representation of how data is transferred within a system or organisation . They do not show decision logic or sequencing , but focus on where data comes from , where it goes and how it is processed . DFDs are typically categorised into Level 0 and Level 1 formats, which differ based on complexity . Flowcharts A flowchart is a diagram that shows the sequence of steps in a process using specific symbols . Flowcharts can be used as a project planning tool (section 3.2 ) to visualise workflows , task order and decision-making paths . It is also useful as a human-computer interface diagram to show the steps and decisions users may take as they interact with the application . The video says ' 3.2d ' because flowcharts also appear in section 3.2 as a project planning tool . Visualisation Diagrams Visualisation diagrams are graphical representations used to show the layout , structure and appearance of a software application's interface . They're often used for planning , design and feedback purposes. Traditionally, they would be drawn on paper in pencil and annotated , but modern diagrams are mocked up on a computer so they can be easily shared with team members and clients . Wireframe Diagrams Wireframe diagrams are basic visual guides used to represent the structure and layout of a user interface (UI ) without any design styling . They focus on function , layout and interaction , not aesthetics . Wireframe diagrams are used in the early design stages to plan the UI layout before visual design begins. Q uesto's Q uestions 5.3 - Human Computer Interface Designs, Documents & Diagrams: 1. Explain what the purpose of data flow diagrams are, the difference between Level 0 and Level 1 and what makes them effective . [6 ] 2. Draw a wireframe diagram for the YouTube homepage . [3 ] 3. Explain how visualisation diagrams are created and how they can be made more effective . [ 5 ] The first type of flowchart , the ' flow process chart ', was developed by engineers Frank and Lillian Gilbreth in 1921 . The book (and original movie ) ' Cheaper by the Dozen ' is about this couple . D id Y ou K now? 5.2 - Visual Design Considerations Topic List 6.1 - Job Roles

  • App Inventor 2 | Simple Apps | CSNewbs

    App Inventor Task 1 & 2 - Basic Apps Basic Program #1 - Colour Changer This quick tutorial will teach you how to create an app that changes the background colour when you press different buttons . See the video: In Designer layout, firstly drag four buttons from the Palette tab on the left side and drop them one at a time on top of each other in the Viewer . In the Components tab, click on each button and press Rename to change the name (this makes it easier to code them later). You don't need to choose these four colours, but it is a good idea to start with these (you can change them later). You should notice that you are only changing the name of the button - not the button on the text; these are two different variables . Now to change the text on each button. Click on a button in the centre then in the Properties tab on the right scroll down to Text and change the text to a colour. When you've changed all four button texts, then you can start to code. Click on the Blocks button in the top right to start adding the code. In the Blocks tab on the left click on each button block (e.g. Red, Blue, Green and Yellow) and drag over a 'when click ' block for each colour. Blocks we put inside of the 'when click' blocks will execute whenever that button is pressed. Grab a set Screen 1 BackgroundColor from the Screen1 section in the Blocks tab and place one underneath each when click block. Then line up the correct colour from the Colors section in the Blocks tab to the relevant button. Program 1 Complete! The easiest way to run an app that you have created at home using App Inventor 2 is to download the free MIT AI2 Companion App on your smartphone from the Google Play Store . At the top of the App inventor program on your computer , click on Connect and AI Companion . This will generate a six-digit code you can type into your phone. If your school has the emulator installed, you can also use this to test your app. Ideas to Improve Your App: Use the when Screen1 BackPressed block from the Screen1 section in Blocks to turn the background colour white when the back button is pressed. The block is shown to the right; you can work out how to use it. Add more buttons for different colours. Try purple, black and orange for example. Change the BackgroundColour (in Properties ) of each button to represent the colour it says. You might need to change the TextColour too for red and blue (see the image to the right). Password Checker Basic Program #2 - Password Checker This quick tutorial will teach you how to create an app that requires a user to enter a correct password . See the video - maximise to see it clearly: Firstly you need to grab a TextBox from the Palette tab on the left and place it in the Viewer. Then drag a Button and a Label . Put them in this order: You need to change the Text for the button in the Properties tab to 'Enter Password'. Click on your text box and delete the Hint Text from the Properties tab. Click on the label and delete the Text from the Properties tab. Don't worry, the label is still there! Now time to code. Open up the Blocks layout by clicking Blocks in the top right. Drag a when Button1 click block into the centre from the Button1 section in Blocks . Drag an if then block from Control within the when Button 1 click block. Click on the blue cog button and, in the new window underneath, drag an else block within the if block. The top part will update by itself. When the button is clicked we want to see if the text in the text box matches what we want it to be. Grab an = block from Logic and connect it to the if block. Then place a TextBox1 Text block from TextBox1 in the first half and a blank " " block from Text in the second half. In the " " block write what you want the password to be. I've chosen pikachu because pikachu is cool. Grab a Set Label1 Text block from Label1 and put one next to then and another next to else. Place a " " block from Text and snap it next to both of those blocks. If the user has entered the password correctly then you want 'Correct Password' to appear. Otherwise, if they have entered anything else , you want 'Incorrect Password' to appear. Program 2 Complete! The easiest way to run an app that you have created at home using App Inventor 2 is to download the free MIT AI2 Companion App on your smartphone from the Google Play Store . At the top of the App inventor program on your computer , click on Connect and AI Companion . This will generate a six-digit code you can type into your phone. If your school has the emulator installed, you can also use this to test your app. Ideas to Improve Your App: Change the password to something different. If the correct password is entered change the background to gree n . If an incorrect password is entered change the background to red . You may want to scroll up to the first program as a reminder. KS3 Home Task 3

  • 4.1 - UK Legislation | Unit 2 | OCR Cambridge Technicals | CSNewbs

    Learn about crucial laws in place to protect data and privacy, including the Data Protection Act (2018), Computer Misuse Act (1990), RIPA (2000) and the Freedom of Information Act (2000). Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 4.1 - UK Legislation Specification: 2016 - Unit 2 Exam Board: OCR There are many types of legislation - laws that have been written into use - that concern data storage, protection and the use of information. In an exam, the year the law was introduced must be stated . 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 (2018) state: 1. Data must be collected lawfully and processed fairly. 2. Collected data must only be used for the reasons specified. 3. Data must be relevant and not excessive. 4. Data must be accurate and up-to-date. 5. Data must not be stored for longer than necessary, 6. Data must be stored and processed securely. Actions organisations must take to stick to the Data Protection Act (2018): The company must appoint and register a member of staff to act as the organisation's data controller . The data controller is responsible for communicating with the Information Commissioner and ensuring the principles of the DPA are not broken . There must be strong security measures in practice to protect data from being accessed or transferred without authorisation . This could be in the form of physical or digital protection methods enforced by the company. Staff should be trained so that they are clearly aware of their responsibilities and each principle is adhered to. For example, they should know that data can only be used for the reasons specified when it is collected and should not be passed to others without the permission of the data subject. Data subjects should be given the opportunity to alter their data and make changes if it is incorrect . Data should be deleted when it is no longer needed , so organisations should periodically assess both the accuracy and relevance of storing each data subject's information. Data subjects have the right to make a Subject Access Request (SAR ) and receive a copy of the data which is stored about them. Companies must abide by this request by verifying the user's identify and presenting the data to them securely . Rights of data subjects: Under the Data Protection Act, individuals have a right of access to any information that is stored about them by public bodies . If an individual wishes to access their data they must submit a Subject Access Request (SAR ) which results in the following steps: The organisation's data controller must be written to and told exactly what information is required to access. An administrative fee should be paid to the organisation (but only if the request requires excessive efforts to fulfil ). The organisation must provide the requested information within 40 days . The individual must verify their identity using appropriate ID because only the data subject can request their data . 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. Data Protection Act (2018) / GDPR Freedom of Information Act (2000) This act allows people to request public authorities to release information . Public authorities include local councils , government departments , universities and hospitals . A freedom of information request must be formally submitted in a letter or email and a reply from the organisation is required within twenty days of receiving the request. A simple freedom of information request might be the average response times of the local ambulance service in the past year. Certain requests will not be accepted , such as if processing the request would be too expensive or if it involves sensitive information protected by the Data Protection Act (2018 ). Regulation of Investigatory Powers Act (2000) This act (often shortened to RIPA ) was introduced in response to the increase in both criminal and terrorist activities on the internet, it is used to monitor and access online communication of suspected criminals . If criminal activity is suspected by an individual then this act grants the following powers : Internet Service Providers (ISPs) must provide access to the suspect's online communication , such as emails or social media. Locked or encrypted data may be accessed such as online messages. ISPs could install surveillance equipment or software to track the suspect's online activity . Surveillance may take place to physically track the suspect , e.g. in private vans or by undercover officers in public spaces. Access must be granted to personal information . This act became controversial as its use widened and local councils were using it for minor offences - a Scottish council used the act to monitor dog barking and a council in Cumbria gathered video evidence about who was feeding pigeons . The act has since been changed to only allow the surveillance of crime suspects . 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 . Creators of copyrighted work can take ownership of their work and control how it is used . Others must ask for permission to use the work otherwise the copyright holder can ask for it to be removed or demand a fee for its use . 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. Information Commissioner's Office (ICO) Codes of Practice Protection of Freedoms Act (2012) There are seven sections to this act, revolving around the protection of personal data . It was introduced because there was little legislation about biometric data , and to update older laws . IT-related sections are summarised below: Part 1 - States how biometric data (e.g. fingerprints and DNA) is stored, handled and collected. For example, parents must give consent before their child gives biometric data to a school. Also, biometric data for suspects of minor offences is deleted after the case is closed. Part 2 - Creates new regulation for CCTV and ANPR (automatic number plate recognition) use. Part 5 - The Disclosure & Barring Service (DBS) was created to run background checks on anyone wanting to work with children or vulnerable people. Part 6 - Extends the Freedom of Information Act (2000) allowing for wider requests to be made . The information commissioner is the senior government official in charge of the country's freedom of information requests and the protection of personal data . The Information Commissioner's Office describes itself as "The UK’s independent authority set up to uphold information rights in the public interest, promoting openness by public bodies and data privacy for individuals". The ICO publishes codes of practices about various data protection and privacy topics , usually related to explaining the Data Protection Act . For example, the ICO has a code of practice regarding how organisations should share data and another code of practice about the use of CCTV . The ICO offers help and support to both individuals (such as giving access to students to their exam results) and organisations (such as support with legal electronic marketing). Privacy and Electronic Communications Regulations (2003) This law (which was updated in 2011 ) regulates how organisations can communicate with individuals . Companies must stick to the following rules: It is an offence to directly contact an individual unless they have specifically opted-in to receive communication. This is commonly managed by using tick boxes on online stores where you must opt-in to receiving promotional material. Companies must clearly state who they are when contacting customers, such as displaying the phone number when calling - and not 'hiding' the number. Organisations must explain how cookies are used on their website . Companies must only contact customers through communication channels that the customer has previously permitted . This can be done with tick boxes when signing up. Customers can select or de-select methods such as email , phone calls and text messages . The Information Commissioner's Office (ICO) is responsible for this regulation and can fine companies that commit unsolicited communication up to £500,000. It is the customer who benefits and is protected by this regulation. Equality Act (2010) The government states that "The Equality Act legally protects people from discrimination in the workplace and in wider society." Discrimination because of protected characteristics such as gender , race , religion , age and disability are specifically punishable by legal action. The aim of the act is to end discrimination in the workplace and open up fair opportunities for every employee regardless of behavioural or physical characteristics that are outside of their control . Within a company, the Equality Act protects staff by stating protected characteristics should not be a factor in an employee's promotion or change of role. Information must be presented in a format accessible to all staff . Q uesto's Q uestions 4.1 - UK Legislation: 1. Create a flashcard or PowerPoint slide for each legislation above. Explain the purpose of the legislation , its main principles and whom it affects . [5 each ] 3.6 - Information Systems Topic List 4.2 - Global Legislation

  • Eduqas GCSE Topic List | CSNewbs

    The list of topics in the 2020 Eduqas (part of WJEC) GCSE Computer Science specification. Eduqas GCSE Computer Science These pages are based on the Eduqas GCSE Computer Science 2020 specification . 1. Hardware 1.1 - The Central Processing Unit (CPU) 1.2 - The FDE Cycle 1.3 - Primary Storage 1.4 - Secondary Storage 1.5 - Performance 1.6 - Additional Hardware 2. Logical Operators & Boolean 2.1 - Logical Operators 2.2 - Boolean Algebra 3. Networks & Security 3.1 - Network Characteristics 3.2 - Data Packets & Switching 3.3 - Network Topology 3.4 - Network Hardware & Routing 3.5 - Protocols 3.6 - 7-Layer OSI Model 3.7 - The Internet 3.8 - Cyber Threats 3.9 - Protection Against Threats 4. Data 4.1 - Number Systems 4.2 - Signed Binary 4.3 - Binary Calculations 4.4 - Arithmetic Shift 4.5 - Character Sets & Data Types 4.6 - Graphical Representation 4.7 - Sound Representation 4.8 - Compression 5. Data Organisation 5.1 - Data Structures & File Design 6. Operating Systems 6.1 - Operating Systems 6.2 - Utility Software 7. Principles of Programming 7.1 - Language Levels 8. Algorithms & Constructs 8.1 - Programming Principles 8.2 - Understanding Algorithms 8.3 - Writing Algorithms 8.4 - Sorting & Searching Algorithms 8.5 - Validation & Verification 9. Software Development 9.1 - IDE Tools 10. Program Construction 10.1 - Translators 10.2 - Stages of Compilation 10.3 - Programming Errors 11. Technological Issues 11.1 - Impacts of Technology 11.2 - Legislation Component 2 (Programming Exam) Python

  • Greenfoot Guide #1 | World Setup | CSNewbs

    Learn how to start a new Greenfoot program and set up the world and actors ready for the next steps in creating a game. Part 1 of the Greenfoot Tutorial for the Eduqas/WJEC GCSE 2016 specification. 1. Setup & Populating the World Greenfoot Tutorial 1. Open Greenfoot This tutorial uses Version 2.4.2 which is the version students are given to use in the WJEC/Eduqas Component 2 exam . Click here for more information and how to download 2.4.2 . If you are using a more recent version the code should still work but the look of the program in the screenshots may be different. In the Component 2 exam of the 2016 WJEC/Eduqas specification you would skip ahead to the New Object Placements stage further down this page as the classes should be set up for you. Watch on YouTube: 2. New Scenario For a new project, click ' Scenario ' and then ' New '. If you are using a more recent version of Greenfoot select ' New Java Scenario '. Save this new project in a suitable location such as a folder named 'Greenfoot' . You may wish to save this project as ' SimpleGame ' or ' ExampleGame '. 3. Setup the MyWorld class The first thing to do is to create a subclass of World called MyWorld which becomes our background object. Right-click on the World class and select 'New subclass... ' Set the New class name to MyWorld . Choose any image from the 'backgrounds ' image category. I have chosen the 'cell.jpg ' image. Click the Compile button in the bottom right of the Greenfoot window to save the program . 4. Create the Main Character class Now to create a new class for the main character. Right-click on the Actor class and select 'New subclass... ' Give the new object an appropriate name and choose a relevant image . I have named my class 'Sheep ' and selected the sheep.png image. 5. Right-click on Actor and create two more classes: Collectable objects to pick up (e.g. my orange) An enemy character to avoid (e.g. my elephant) Don't forget to compile the program. Watch on YouTube: After creating your classes you must move them over to the game world. This is known as populating the world . 1. New Object Placements Right-click on your main character object and select the top option e.g. 'new Sheep()'. Drag your mouse to the world and click to drop it. Complete the following actions: Place 1 main character object. Place 5 collectible objects. Place 2 enemy objects. 2. Save the World Once you have populated your world with objects then right-click anywhere on the background and select 'Save the World '. This saves the positions of each object so that it won't reset every time you start a new game. You can close the MyWorld code that automatically opens when you save the world, we never add any code to this window. Part 2 - Movement (Arrow Keys) >

  • Little Man Computer Editor | CSNewbs

    A simple Little Man Computer (LMC) editor. Perfect for students learning A-Level Computer Science in UK schools. Little Man Computer (LMC) Editor You can use this simple Little Man Computer ( LMC ) editor below to check any LMC code you have written to ensure it outputs correctly . Use the reminders on the right for the 11 commands needed in the OCR A-Level specification . LMC is a simplified form of assembly language . This page is under active development. INP is used without a label to input a number . The number is temporarily stored in the accumulator. Example: INP OUT will output the current value of the accumulator. Example: OUT STA stores the value that is currently in the accumulator into a named memory location. Example: STA num1 ADD is used to add the value of a named memory location to the value currently stored in the accumulator. Example: ADD num1 SUB takes away the value of a named memory location from the value currently stored in the accumulator. Example: SUB num1 LDA is used to load the value of a stored variable into the accumulator. Example: LDA num1 BRZ is used to branch to a labelled line of code if the value in the accumulator is exactly 0 . Example: BRZ ifzero BRP is used to branch if the value in the accumulator is currently positive (including 0). Example: BRP repeat BRA is used to branch regardless of the accumulator's current value . Example: BRA loop HLT will stop the program. Example: HLT DAT defines and stores data in memory. It creates a variable or memory location that can hold a specific value. It is written after the final HLT command. Example: fifty DAT 50

  • OCR CTech IT | Unit 1 | 1.8 & 1.9 - Number Systems | CSNewbs

    Learn about the denary, binary and hexadecimal number systems and how to convert between them. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 1.8 & 1.9 - Number Systems & Conversion Exam Board: OCR Specification: 2016 - Unit 1 What is binary? What is denary? Denary (also known as decimal ) is the number system that you've been using since primary school. Denary is a base 10 number system. This means that it has 10 possible values - 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 . How to convert from binary to denary: How to convert from denary to binary: What is hexadecimal? Hexadecimal is a base 16 number system. This means that it has 16 possible values - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E and F . Hexadecimal is used as a shorthand for binary because it uses fewer characters to write the same value . This makes hexadecimal less prone to errors when reading or writing it , compared to binary. For example, 100111101011 is 9EB. Hexadecimal only uses single-character values. Double-digit numbers are converted into letters - use the table on the right to help you understand. How to convert from binary to hexadecimal: How to convert from hexadecimal to binary: Converting from denary to hexadecimal / hexadecimal to denary To convert from denary to hexadecimal or the other way round you must convert to binary first . Denary > Binary > Hexadecimal Hexadecimal > Binary > Denary Use the videos on this page if you need help converting to or from binary. The most common number systems question in exams are from denary to hexadecimal or from hexadecimal to denary so make sure that you practice these conversions. Q uesto's Q uestions 1.8 & 1.9 - Number Systems: 1. Explain why hexadecimal numbers are used as an alternative to binary . [ 2 ] 2. Convert the following values from binary to denary : a. 00101010 b. 11011011 c. 01011101 d. 11101110 e. 01011111 [1 each ] 3. Convert the following values from denary to binary : a. 35 b. 79 c. 101 d. 203 e. 250 [1 each ] 4. Convert the following values from binary to hexadecimal : a. 11110101 b. 01100111 c. 10111010 d. 10010000 e. 11101001 [1 each ] 5. Convert the following values from hexadecimal to binary : a. C2 b. 8A c. DE d. 54 e. F7 [1 each ] 6. Convert the following values from denary to hexadecimal : a. 134 b. 201 c. 57 d. 224 e. 101 [1 each ] 7. Convert the following values from hexadecimal to denary : a. 32 b. A5 c. 88 d. C0 e. BE [1 each ] Watch on YouTube Watch on YouTube Watch on YouTube Watch on YouTube By now you should know that computer systems process data and communicate entirely in binary . Section 1.7 explained different binary storage units such as bits (a single 0 or 1), nibbles (4 bits) and bytes (8 bits). Binary is a base 2 number system. This means that it only has 2 possible values - 0 or 1 . Click the banners above to try self-marking quizzes (Google Form) on these topics. Denary to Binary: Binary to Denary: Binary to Hexadecimal: Hexadecimal to Binary: 1.7 - Units of Measurement Topic List 2.1 Software Types

  • 2.1 - Software Development Models | F160 | Cambridge Advanced National in Computing | AAQ

    Learn about the characteristics, diagrammatic representations, advantages, disadvantages, and suitability of software development models. These include the waterfall, rapid throwaway, incremental, evolutionary, rapid application development (RAD), spiral and agile models. 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) 2.1 - Software Development Models Watch on YouTube : Software Development Models Waterfall Rapid Throwaway Incremental Evolutionary Rapid Application Development Spiral Agile There are seven software development models you need to know : Traditional models: Waterfall Prototype models: Rapid Throwaway , Incremental , Evolutionary Iterative models: Rapid Application Development (RAD) , Spiral , Agile For each development model , you need to know : Its characteristics . How to represent it in a diagram . Its advantages and disadvantages . The types of development it is suitable for. Software Development Models Each development model has its own video below but you also need to know the advantages and disadvantages of using development models in general. Waterfall Model The waterfall model is a linear and structured approach where each phase is completed one at a time in order . It needs all requirements to be clearly defined at the start , with little to no changes allowed once a phase is finished . This model is best suited for projects with fixed requirements and minimal risk of change . Rapid Throwaway Prototype Model The rapid throwaway prototype model involves quickly creating temporary prototypes to explore ideas and gather user feedback before building the final system . Prototypes are discarded after they help refine requirements , and are especially useful in projects where user needs are initially unclear . This model is suitable when user interaction and efficient interface design are critical . Incremental Model The incremental model develops a system in small , manageable sections with each part being designed , built and tested individually . Functionality is added step by step until the full system is complete . This approach allows for early partial deployment and easier handling of changing requirements over time. Evolutionary Prototype Model The evolutionary prototyping model involves building an initial prototype that is continuously improved based on user feedback until it becomes the final system . Unlike throwaway prototyping, the prototype is not discarded but gradually evolves into the full product , once the user is satisfied . This model is ideal when user requirements are expected to change or develop over time . Rapid Application Development (RAD) The rapid application development ( RAD ) model focuses on quickly building software through iterative development and frequent user feedback . It uses reusable components , time-boxing and constant feedback to speed up the delivery of an effective final product . RAD is best suited for projects that need to be completed quickly and where requirements can evolve during development . Spiral Model The spiral model combines iterative development and risk management , progressing through repeated cycles of planning , risk assessment , engineering ( development and testing ) and evaluation . Each loop focuses on identifying and addressing risks early in the project. It is ideal for complex and high-risk projects where requirements may change over time . Agile Model The agile model is an iterative and flexible approach that progresses in small , usable chunks called iterations (or sprints ). It relies on frequent collaboration with stakeholders and user feedback to adapt to changing requirements . This model is ideal for dynamic projects where quick delivery and frequent updates are important. Q uesto's Q uestions 2.1 - Software Development Models: 1. Choose three development models to explain and draw a diagram for each. [6 ] 2. A large company is making the next sequel in a hugely popular video game series , FieldBattle 2043 . Justify which application development model(s) they should use (and which they shouldn't ). [5 ] 3. Describe the advantages and disadvantages of any development models you have not covered in Q1 or Q2 . [6 ] Agile development is named after the ' Agile Manifesto ' - a set of principles for software development agreed by a group of developers at a ski resort in Utah , USA in 2001 . D id Y ou K now? 1.3.3 - App. Software Types Topic List 2.2 - Phases of Development Models

© CSNewbs 2026

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