top of page

Search CSNewbs

304 results found with an empty search

  • Python | Section 10 Practice Tasks | CSNewbs

    Test your understanding of working with files in Python, including reading, searching, writing and editing. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Python - Section 10 Practice Tasks Task One Create a file in Python called DaysOfTheWeek.txt. Write the days of the week into the file in a single print line but put each day on a new line. Check the file to see if it has worked. Example solution: Task Two Create a file called Colours.txt. Use a for loop to ask the user to enter 8 different colours. Write each colour onto the same line, with a space between the colours. Close the file and open it again in read mode and print it. Example solution: Task Three Create a file named "Holiday.txt". Ask the user to enter the family name, destination and and number of passengers. Print each family's details on their own line. Bonus: Edit this program to add a search feature to look for the family name. Example solution: Task Four Use the holiday file from task three above. You are going to change the destination. Ask the user to enter a family name and then a new destination. Update the destination with the new value. Check the file to ensure the destination has been updated successfully. Use section 10c to help you with this task. Example solution: ⬅ 10c - Remove & Edit Lines 11 - Graphical User Interface ➡

  • Python | Extended Task 4 | CSNewbs

    Test your ability to create a more complex program in Python based on a given scenario. Perfect for students learning GCSE Computer Science in UK schools. Extended Task 4 Hi, Jacob Mortimer here from Cats & Dogs Veterinary Surgery . There was a flood last week, and our computer systems were totally destroyed . I need you to create a program , using a file , that allows my receptionist to: Add new animals to the file . Search through the file and print the details of a specific animal . Allow a specific animal to be removed from the file . Vet Surgery For this task, you will need to create a document and include the following sections (with screenshots where appropriate): An introduction to explain the Purpose of your program . A List of Requirements for a successful program. Screenshots of your code (with comments in your code to show understanding). Testing – Create a plan to show how you will test your program and then explanations of any errors that you found and how they were fixed . An Evaluation of what worked, what didn’t, and how you met each of your requirements from your original list. Also, discuss further improvements that you could have made to improve your program. Reminders for this task: You will need to create a selection of options for the user to choose from. Subroutines and a while true loop may help. Section 10 will help you to open, write and read from files . Section 10c shows how to edit data in a file. You will need to adapt this code and not write the line that has been selected, instead of writing a modified version of it. There are multiple ways to approach this program, and your solution might look different from the example. Break the problem down and focus on one part at a time. Example solution: Entering 1 allows the user to enter the details of a new animal which is saved into the file . Entering 4 will stop the loop and ends the program. Entering 2 allows the user to enter the details of an animal to search for . If the animal is in the file, their details are printed clearly on a new line. Entering 3 allows the user to enter the details of an animal to remove from the file . If the animal is in the file, all lines are transferred into a temporary file except for the line to be removed . ⬅ Extended Task 3 (Blackjack) Extended Task 5 (Colour Collection) ➡

  • 2.2 - Boolean Algebra - Eduqas GCSE (2020 spec) | CSNewbs

    Learn about the eight rules of Boolean algebra expressions. Based on the 2020 Eduqas (WJEC) GCSE specification. 2.2: Boolean Algebra Exam Board: Eduqas Specification: 2020 Boolean algebra is used to simplify Boolean expressions so that they are easier to understand. Because calculations can use dozens of logical operators, they are simplified in Boolean Algebra using symbols rather than words. Take your time and don't panic. In an exam, you might get a list of identities (rules) to use. One tip to solving boolean algebra is to imagine that A and B are real expressions . In the examples on this page, imagine: A represents the true statement 'the sky is blue' B represents the true statement 'grass is green' 0 always means FALSE 1 always means TRUE Boolean Symbols A = NOT A A . B = A AND B A + B = A OR B Boolean Identities are the rules that are used to simplify Boolean expressions. Each identity (law) has an AND form and an OR form , depending on whether AND or OR is being used . Commutative Law AND form: OR form: This law just switches the order of the expressions . For example, 'sky is blue' AND 'grass is green' makes logical sense in either order. Idempotent Law = AND form: OR form: This law removes repetition . Complement Law NOT AND form: The sky cannot be blue and not blue at the same time, so it must be 0 (FALSE). OR form: The sky is blue or not blue must be 1 (TRUE) as it has to be one of these options. Identity Law AND form: 1 represents TRUE . Both statements are true so it can be simplified as just A . OR form: 0 represents FALSE . Because A is true, you can ignore the false statement and it can be simplified as just A . Annulment Law AND form: 0 represents FALSE . Even though A is true, a statement cannot be true and false at the same time, so it must be 0 (FALSE). OR form: 1 represents TRUE . Both statements are true so this can be simplified as just 1 (TRUE). Absorption Law AND form: OR form: Absorption law reduces a bracket into one value. If the first A is true then both values in the brackets are true but if the first A is false then both values are false. Therefore this equation relies entirely on A and can be simplified as just A . Association Law ( ) AND form: OR form: This law separates a bracketed expression that uses the same operator inside and outside the brackets by removing the brackets . Distribution Law ( ) = ( ) ( ) AND form: OR form: The value outside of the bracket (e.g. A) is multiplied by both values inside the brackets , forming two new brackets which are linked by the logical operator formerly within the bracket . Notice that the logical operator role is switched , e.g. AND switches from within the brackets, to between the new brackets. A note about distribution law - The three values may not necessarily be three separate letters (e.g. A, B and C) as B or C could be NOT A for example. A NOT value is considered a new value , e.g. A and Ā are separate values. Another note about distribution law - Exam questions may ask you to perform the distribution law (or any law) in reverse . For example, converting (A+B) . (A+C) into A + (B.C) Boolean Algebra Exam Question Some previous exam questions have listed helpful laws for you but others haven't, so you should know each individual law . In a previous exam, the candidates were given three general laws to help them . P, Q and R just represent three different values. P . 1 = P (Identity Law) P . Q + P . R = P. (Q + R) (Distribution Law) P + P = 1 (Complement Law) Using the rules above , candidates were asked to simplify the following expression : X = A . B + A . B The general laws have been give n to you for a reason. You need to look at the laws provided and see which one currently matches the expression in front of you . If you look closely in this example, the second law is very similar to the expression you are asked to simplify so you can use it to make the first simplification, just swap P for A, Q for B and R for NOT B: Using this law P . Q + P . R = P. (Q + R) X = A . B + A . B simplifies as: X = A . (B + B) Now you need to see which of the three provided laws can be used with the current expression . The third law is very similar to the expression you now need to simplify further , just swap P for B and NOT P for NOT B: Using this law P + P = 1 X = A . (B + B) simplifies as: X = A . (1) And finally, there is one law left to use. The first law is very similar to the expression you now need to simplify further , just swap P for A. Using this law P . 1 = P X = A . (1) simplifies as: X = A You have now used all three laws and the expression is fully simplified . Remember - Look at the laws that you have been given and see which law matches your expression . Q uesto's Q uestions 2.2 - Boolean Algebra: 1. Draw the example equations and write a brief description of each of the eight Boolean laws : Commutative Law Idempotent Law Complement Law Identity Law Annulment Law Absorption Law Associate Law Distributive Law 2. Below are three Boolean identities: P . P = 0 (P + Q) . R = (P . R) + (Q . R) P + 0 = P Using the three rules above , simplify the following expression: X = (A + B) . Ā This law is called ' Inverse Law ' in the Eduqas 2016 teacher guidance but ' Complement Law ' in the 2020 specification. This law is called ' Zero and One Law ' in the Eduqas 2016 teacher guidance but ' Annulment Law ' in the 2020 specification. This law is called ' Associate Law ' in the Eduqas 2016 teacher guidance but ' Association Law ' in the 2020 specification. This law is called ' Distributive Law ' in the Eduqas 2016 teacher guidance but ' Distribution Law ' in the 2020 specification. 2.1 - Logical Operators Theory Topics 3.1 - Network Characteristics

  • App Inventor 2 | Pop-up Blob | CSNewbs

    Learn how to use App Inventor 2 to create simple programs. Try to complete the final task (7) on this page. Perfect for Key Stage 3 students to experiment with block coding, objects and properties. App Inventor Task 7 - Pop-up Blob The previous apps have been preparing you to make a longer and more complicated app. Now we will put together all of the skills you have learned to create a fun game. Check the video: Open App Inventor 2 (use the button below) and create a new project. You will need to log in with a Google account. App Inventor 2 Ready for a challenge? This is what the program looks like in Designer layout. To the left are the components with all their Properties correct. To the right are the Components names. Put the three labels and button inside a HorizontalArrangement from the Layout section of Palette . The Text for ScoreLabel is 'Score: 0'. The Text for TimeRemainingLabel is 'Time Remaining:'. The Text for SecondsLabel is '20'. Place an ImageSprite inside a Canvas (both from the Drawing and Animation section of Palette ). Download the blob image from the Basics page here and upload it as the Picture for the ImageSprite . Change to Blocks layout and drag a initialize global to block from Variables . Type 'Score' in the empty space to create a variable that we will use to track how many times the blob has been touched. Attach a 0 block from Math to start the score at 0. This big block of code uses some of the concepts which you have used before. Whenever the Blob is touched the variable Score is increased by 1. The X and Y coordinates of the Blob are changed by random numbers so it will appear in a random location on the screen. The bottom blocks change the ScoreLabel to show the current score. Every second that the timer ticks we want to check if the score is more than 1 (to check it hasn't reached 0). If it is more than 1 second then the time will count down by 1. In the else part you need to add the following: Set Blob Enabled to false . Set Blob Visible both to false . Set TimeRemainingLabel Visible to false . Set SecondsLabel Visible to false . When the Reset Button is clicked the score variable is changed to 0 and the Seconds label is rewritten to 0. Make sure you use the " " block from Text and not a block from Math. Inside the when ResetButton Click block you need to reverse the code you have added for the else block when the timer ticks: Set Blob Enabled to true . Set Blob Visible both to true . Set TimeRemainingLabel Visible to true . Set SecondsLabel Visible to true . Extra Step: Challenges 1. Large score display . If you watch the video at the top of the page again, you will see that when the time runs out (is less than 1) some of the labels turn invisible and the TextColour and FontSize of the ScoreLabel changes. Try to do the same in your app. Remember to reverse what you have done in the code for the reset button; otherwise, the labels will still be invisible! 2. Customise your game . Change the background of the Canvas to an image, change the blob to a different image and add a sound when the character is 'popped'. 3. *HARDER Challenge* Add a High Score Label . Follow these hints carefully and use the colours to help you. You need to initialize a new Variable called HighScore and set it to 0 . You also need to add a new HighScoreLabel and put it in your Horizontal Arrangement in Designer layout. Add an if then block in the else part of the When Timer Timer block you already have. If Score > HighScore then HighScore = Score . This will change the value of HighScore to the current Score if it is higher than the current high score. Remember to make the HighScoreLabel display the new HighScore . KS3 Home

  • 1.1a - The CPU - OCR GCSE (J277 Spec) | CSNewbs

    Learn about the components of the Central Processing Unit (CPU) and Von Neumann architecture. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR 1.1a: The CPU Specification: J277 Watch on YouTube : Purpose of the CPU CPU Components Von Neumann Architecture The Central Processing Unit ( CPU ) is the most important component in any computer system. Like many computer components, it is attached to the motherboard . The purpose of the CPU is to process data and instructions by constantly repeating the fetch-execute cycle . CPU Components The Control Unit (CU ) sends control signals to direct the operation of the CPU . Control signals and timing signals are sent to the ALU and other components such as RAM . It also decodes instructions as part of the fetch-execute cycle . ALU stands for ‘ Arithmetic and Logic Unit ’. It performs simple calculations and logical operations . A register is a temporary storage space for one instruction or address . Different registers are used during the fetch-execute cycle . Cache memory is used to temporarily store data that is frequently accessed . Cache memory is split into different levels . Cache is slower to access than the registers but much faster than RAM . Computer Architecture The way a computer is designed and structured is known as its architecture . The most common type of computer architecture is Von Neumann . It is named after the mathematician John Von Neumann (pronounced Von Noy-man) Von Neumann Architecture A computer with Von Neumann architecture stores both program instructions and data in the same memory (RAM ) and in the same format (in binary ). Instructions (technically called the opcode ) and data (technically called the operand ) are not the same . An instruction is an action to perform and data is the value to be used. For example with the command 'ADD 43 ', ADD is the instruction and 43 is the data . Von Neumann architecture also contains the key CPU components of a control unit , arithmetic logic unit (ALU ), registers and cache memory . Q uesto's Q uestions 1.1a - The CPU: 1a. What does 'CPU ' stand for ? [1 ] 1b. What is the purpose of the CPU ? [ 2 ] 2. Draw a diagram of the CPU , and l abel the four main components . [ 4 ] 3. Describe the purpose of: a. The Control Unit [ 2 ] b. The ALU [ 2 ] c. The registers [ 2 ] d. Cache memory [ 2 ] 4a. Describe the key feature of Von Neumann architecture . [ 2 ] 4b. Explain how an instruction is different to data . [ 2 ] 1.1b - Registers & FE Cycle Theory Topics

  • Python | 12 - Error Handling | CSNewbs

    Learn how to handle errors in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Python 12 - Error Handling Errors When an error occurs in Python, you may see a chunk of red text like this. This is very useful when creating programs as it tells us the exact line of the error (10), and its type (NameError). However, a completed program should have code in place for when an unexpected error occurs – we call this exception handling . General Exception In this example, Python will attempt to run the code indented beneath try . If there are no errors then the code will stop just before except . If an error does occur then the Exception code will be run . If we enter a correct value then the program will execute normally: But if an error occurs (such as writing a string when an integer is expected) then the Exception code will run : You can add the else command to your code that will execute only if there are no errors : If a valid number is entered then the else code will be printed: If a code generating an error is entered then the except code will be printed: Practice Task 1 Create a program that asks the user to input their age. Don't forget to use the int command. Use try and except to print a message if a number is not inputted. Example solution: Specific Exceptions The Exception command used in the section above is for any general error that occurs. You can also use specific except commands for a variety of errors. Below is a program with two different specific exception commands for one try statement: If a Value Error occurs, such as when the wrong data type is entered , then related code will be printed: Or if the user tries to divide by zero then a Zero Division Error will be triggered which prints a relevant response: Other types of exception can be found here . Practice Task 2 Create a program that asks the user to input a number and then divides this value by 999. Create a Value Error and Zero Division Error exception and include an appropriate message in both. Example solution for Zero Division: ⬅ 11 - Graphical User Interfac e Extended Task 1 (Pork Pies) ➡

  • 1.1b - Registers & FE Cycle - OCR GCSE (J277 Spec) | CSNewbs

    Learn about key registers used in the fetch - execute cycle such as the program counter and current instruction register. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 1.1b: Registers & The F-E Cycle Exam Board: OCR Specification: J277 Watch on YouTube : Registers in the FE Cycle Reading instructions The fetch - execute (F-E) cycle is performed by the CPU millions of times every second. This cycle is how the CPU processes data and instructions for each program or service requiring attention . Important Registers A register is a small storage space for temporary data in the CPU . Each register has a specific role . There are four essential registers used in the F-E cycle : Program Counter (PC) A register that tracks the RAM address of the next instruction to be fetched . Memory Address Register (MAR) Stores the RAM address of the current instruction (or data ) the CPU needs to access . Memory Data Register (MDR) The MDR stores the instruction that has been transferred from RAM to the CPU . Accumulator (ACC) The ACC stores the result of mathematical or logical calculations . The PC , MAR and MDR are used in the fetch stage , whereas the ACC is used in the execute stage . The PC and MAR store an address (a memory location in RAM ) whereas the MDR and ACC store data (a value ). Fetch - Execute Cycle The essential idea of the F-E cycle is that instructions are fetched from RAM , to be decoded (understood) and executed (processed) by the CPU . 1. The Program Counter (PC ) register displays the address in RAM of the next instruction to be processed . This value is copied into the Memory Address Register (MAR ). 0054 2. The PC register is increased by 1 . This prepares the CPU for the next instruction to be fetched. 0055 3. The CPU checks the address in RAM which matches the address held in the MAR . 0054 4. The instruction in RAM is transferred to the Memory Data Register (MDR ). MDR 5. The instruction is decoded by the control unit which splits the instruction into an opcode (an action ) and an operand ( data or address ). 6. The instruction i s executed (run). Any result of an execution is stored in the Accumulator (ACC ) register, such as calculations made by the ALU . ACC 7. The cycle repeats by returning to the first step and checking the program counter for the address of the next instruction . Q uesto's Q uestions 1.1b - Registers & The F-E Cycle: 1 . What is the purpose of the registers ? [1 ] 2 . Describe the purpose of each register : a. The Program Counter (PC) [ 2 ] b. The Memory Address Register (MAR) [ 2 ] c. The Memory Data Register (MDR) [ 2 ] d. The Accumulator (ACC) [ 2 ] 3. Draw a diagram with icons and words to show the steps of the Fetch - Execute cycle . [7 ] 1.1a - The CPU Theory Topics 1.2 - CPU Performance

  • Python | 1c - Creating Variables | CSNewbs

    Learn how to create variables in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 1c - Creating Variables What is a Variable? A variable represents a value that can change as a program is running . The two parts of a variable are the name (e.g. sweets) and the value (e.g. 8). sweets = 8 print (sweets) = 8 amount of sweets = 8 8sweets = 8 sweets A variable can't contain spaces , it must start with a letter , and you must declare its value before you can use or print it. You always need to print the variable name (e.g. biscuits), not the value (20) as the value can change. Important – When writing variable names, we do not need speech marks. (e.g. type biscuits , not “biscuits”) We use variables because the value of something might change as the program is executed. For example, if someone eats a sweet then the value of our variable changes: sweets = 8 print (sweets) sweets = 7 print (sweets) = 8 7 sweets = 8 print ( Sweets) You must be consistent with capital letters when writing variable names. sweets and Sweets are treated as two different variables. Creating Variables Task 1 ( Age & Pets) Make a variable named age and set it to your current age. On the next line print age . Make another variable named pets and set it to how many pets you have. On the next line print pets . Example solution: 14 2 Variables with Strings (Text) In programming, a collection of alphanumeric characters (letters, numbers and punctuation) is called a string . "Pikachu" is a string. In the example below, pokemon is the variable name that represents the variable value "Pikachu" . pokemon = "Pikachu" print (pokemon) = Pikachu To create a string, we use "speech marks" . Numbers by themselves and variable names do not use speech marks. Each variable can only have one value at a time, but it can change throughout the program. pokemon = "Pikachu" print (pokemon) pokemon = "Squirtle" print (pokemon) = Pikachu Squirtle Creating Variables Task 2 ( Superhero & Colour ) Make a variable named superhero and set it to any of your choice, such as "Spider-Man" . Print the superhero variable on the next line. Make another variable named colour and set it to the colour related to your chosen superhero. Print the colour variable on the next line. Example solutions: Spider-Man Red The Hulk Green ⬅ 1b - Co mmenting 1d - Using Variables ➡

  • OCR CTech IT | Unit 1 | 4.5 - Job Roles | CSNewbs

    Learn about the different skills and attributes that are required for IT roles including a network manager, programmer, animator and technician. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 4.5 - Job Roles Exam Board: OCR Specification: 2016 - Unit 1 There are several different IT-related roles within most companies. Each role requires specific skills and attributes to be performed successfully. Try to apply the most suitable personal attributes that were described in 4.3 , as well as any other important skills relevant to the role , such as programming. Self-motivation Leadership Respect Dependability Punctuality Problem Solving Determination Independence Time Management Team Working Numerical Skills Verbal Skills Planning & Organisation Network Manager A network manager must control a group of employees with strong leadership to clearly set out their vision for the team. They must be able to motivate and encourage the team members to meet objectives . Because a network manager is high-ranking, there may not be many senior staff above them so they must be self-motivated and able to complete tasks independently , without being monitored . Network managers must be dependable and decisive , able to weigh up the consequences of a decision and make tough calls whilst under pressure . Time management is an important attribute for a network manager, they must be able to prioritise tasks and ensure deadlines are kept to . IT Technician IT technicians must have good interpersonal skills so that they can communicate clearly with other employees or customers. They should be able to use simplified terminology to help another person with their problem. They must be able to use questioning effectively to work out what the issue is to begin to solve it. IT technicians should have plenty of experience with hardware and software troubleshooting and be able to use a range of troubleshooting tools to solve a problem. They need to be respectful to customers and employees when solving a problem and show determination , as well as self-motivation , to fix issues within acceptable time limits . Programmer A programmer needs to be competent in specific programming languages that the company use. It would be beneficial to have knowledge of more than one programming language so they can be more versatile and approach a problem in different ways . Programmers need to have a logical mind so that they are able to creatively solve problems. Using computational thinking is an important set of skills that programmers should have - for example, by using decomposition to break a large problem into smaller, more manageable chunks. They must have good planning and organisational skills so that they can stay on top of the numerous tasks that need to be done. They need good time management skills to prioritise the more important tasks and stick to a deadline . Programmers must be patient individuals, all programs will contain errors that must be debugged and rewritten numerous times. Good interpersonal skills are necessary so programmers can work efficiently in teams - often multiple programmers will work on subsections of the same program that fit together later. Web Designer & Animator Web designers create , plan and code web pages to fit specific requirements made by their customers. They must create both the technical and graphical aspects of the web page, editing both how it looks and how it works. Web designers could also be responsible for maintaining a site that currently exists. They would need to have sufficient knowledge of using HTML (HyperText Markup Language ) for the structure and content of the webpage and CSS (Cascading Style Sheets ) for the formatting and style . An animator may use a mixture of digital and hand-drawn images or even puppets and models. The main skill of animation is still artistic ability , but there is an ever-increasing need for animators to be experienced with technical computer software . Animators usually work as part of a team with strict deadlines . Q uesto's Q uestions 4.5 - Job Roles: 1. Describe the key skills and personal attributes that a new programmer should have. [10 ] 2. A brief job description of a web designer and an animator are shown above on this page. Use the descriptions of what makes a suitable network manager, IT technician and programmer to help you explain which personal attributes and skills are required for: a) A web designer b) An animator [8 each ] 4.4 - Ready for Work Topic List 4.6 & 4.7 - Bodies & Certification

  • 2.4 - Programming Languages | OCR A-Level | CSNewbs

    Learn about programming paradigms such as procedural language (e.g. Python), assembly language (including Little Man Computer) and object-oriented programming (OOP) language (e.g. Java). Methods of memory addressing (immediate, direct, indirect and indexed) are also covered. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 2.4 - Types of Programming Language Specification: Computer Science H446 Watch on YouTube : Programming Paradigms Procedural Language Little Man Computer Addressing Modes Object-Oriented Language Programming paradigms are different approaches to writing and structuring code to solve problems . The procedural paradigm focuses on step-by-step instructions and the use of functions to organise tasks . The assembly paradigm operates at a low level , giving direct control over hardware through processor-specific instructions . The object-oriented paradigm models programs around objects that combine data ( attributes ) and behaviour ( methods ), promoting modular and reusable design . Procedural Language A procedural programming language organises code into reusable blocks ( procedures or functions ), which perform specific tasks in a step-by-step manner . It focuses on a clear sequence of instructions that operate on data, often using variables , loops and conditionals . Examples include Python , C , Pascal and BASIC . These languages are commonly used for software development , data processing and teaching programming fundamentals as they emphasise logical structure and modular design . Assembly Language / Little Man Computer Assembly language is a low-level programming language that uses short , readable codes called mnemonics to represent machine-level instructions executed by the CPU . Each command in assembly corresponds closely to a specific hardware operation , making it highly efficient but difficult to write and maintain . It is mainly used for embedded systems , device drivers and performance-critical tasks where direct control of hardware is required . For the OCR A-Level course , you must understand and be able to write code using the 11 mnemonics of Little Man Computer ( LMC ), which is an educational form of assembly language . Modes of Addressing Memory An addressing mode in assembly language defines how the CPU should locate the data (operand ) needed for an instruction (opcode ). It tells the processor whether the data is stored directly in the instruction , in memory , or needs to be calculated using an address or register . There are four main types : Immediate addressing : The operand contains the actual data to be used , rather than a memory address. Direct addressing : The operand contains the memory address where the required data is stored . Indirect addressing : The operand contains an address that points to another memory location holding the actual data . Indexed addressing : The operand provides a base address that is adjusted by the value in an index register to find the final memory address of the data . Object-Oriented Language An object-oriented programming ( OOP ) language organises code around objects , which combine data ( attributes ) and behaviour ( methods ) into reusable units . Key features of OOP : Classes are templates from which objects are created . Classes define both attributes (data ) and methods (functions or behaviours ). Encapsulation allows data to be protected by making attributes private and providing controlled access through public methods . Inheritance enables a class to reuse or extend the attributes and methods of a parent class , promoting the reuse of code . Polymorphism allows methods or attributes to behave differently depending on the object or class that uses them . Examples of OOP languages include Java , Python , C++ and C# . These languages are widely used for large-scale software development , game development and graphical user interfaces , where modularity and code reuse are crucial . Programming Paradigms Q uesto's K ey T erms Programming Paradigms: procedural language, assembly language, object-oriented language Procedural Language: input, output, comments, variables, casting, count-controlled iteration, condition-controlled iteration, logical operators, selection, string handling, subroutines, arrays, files Assembly Language: Little Man Computer, INP, OUT, LDA, STA, ADD, SUB, HLT, DAT, BRA, BRP, BRZ Modes of Addressing Memory: immediate, direct, indirect, indexed, index register, opcode, operand Object-Oriented Language: class, method, attribute, encapsulation, inheritance, polymorphism, instantiation, constructor method, get method, set method D id Y ou K now? Python was named after the 1970s British comedy group ' Monty Python ', not the snake . Guido van Rossum created Python in the late 1980s during his Christmas holidays as a ' hobby project '. 2.3 - Software Development A-Level Topics 3.1 - Compression & Encryption

  • 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

  • HTML Guide 8 - Videos | CSNewbs

    Learn how to easily embed a video from YouTube into an HTML web page. 8. Videos HTML Guide Watch on YouTube: Embedding a video from YouTube into your web page is very easy. YouTube Videos Find an appropriate video on YouTube and click the Share button underneath the video. Next, click the Embed option. Embed a video onto your web page. Copy the HTML code that is displayed on your screen and paste it directly into your HTML document. Next you can customise your web page with a background colour and different font styles. 7. Head Tags HTML Guide 9. Colours & Fonts

© CSNewbs 2026

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