top of page

Search CSNewbs

Search this site

304 results found with an empty search

  • 6.1 - Job Roles | F160 | Cambridge Advanced National in Computing AAQ

    Learn about the responsibilities of job roles such as an application designer, mobile application designer, project manager, systems analyst, systems designer, user experience designer (UXD) and user interface designer (UID). Based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) (AAQ - Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 6.1 - Job Roles Watch on YouTube : Job roles Developing a new application is rarely a solo project and often involves a team working together . There are seven specific job roles for application development you need to know, from application designer to user interface designer (UID ). For each job role , you must understand its main responsibilities and how it contributes to software application development . Job Roles Application Designer Application designers create the blueprint that guides developers , ensuring the software performs required tasks efficiently and logically . They design the structure and layout of software applications . Mobile Application Designer Mobile application designers ensure the software is suitable and user-friendly on mobile devices . They design apps specifically for mobile platforms (e.g. iOS or Android ) with touch-semsitive interfaces and responsive design . Project Manager Project managers keep the project organised , on track and within budget , making sure all team members work efficiently towards the same goals . They must be organised to effectively plan and oversee the entire software development process . Systems Analyst Systems analysts ensure the final software solves the right problems by fully understanding what users and businesses actually need . They gather and analyse user requirements and identify possible improvements or new system solutions . Systems Designer Systems designers provide the technical structure of the system , ensuring it functions correctly and efficiently under real-world use . They translate requirements into detailed system designs and specify data structures . User Experience Designer (UXD) UXDs ensure the software is pleasant and efficient to use, increasing user satisfaction and reducing errors or frustration . They focus on how users interact with the application and research user behaviour through testing and feedback . User Interface Designer (UID) UIDs make the application visually appealing and easy to navigate , supporting a good first impression and smooth interaction . They design the visual elements including the style of buttons , menus , icons and overall layout . Q uesto's Q uestions 6.1 - Job Roles: 1. Explain how UXDs and UIDs can work together to design applications . [5 ] 2. Describe how systems analysts contribute to application development . [4 ] 3. Describe the responsibilities of two other roles not mentioned in Q1 or Q2 . [ 6 ] There were estimates of about 6,000 developers working together across Rockstar's global video game studios to make Grand Theft Auto VI . D id Y ou K now? 5.3 - HCI Designs & Diagrams Topic List 6.2 - Communication Skills

  • 4.2 - Preventing Vulnerabilities - OCR GCSE (J277 Spec) | CSNewbs

    Learn about common prevention methods of minimising cyber security risks including anti0malware, firewalls and penetration testing. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 4.2: Preventing Vulnerabilities Exam Board: OCR Specification: J277 Watch on YouTube : Preventing Vulnerabilities Penetration Tests Penetration tests are carried out as part of ethical hacking. The purpose of a penetration test is to review the system's security to find any risks or weaknesses and to fix them . Internal tests are to see how much damage could be done by somebody within the company with a registered account. External tests are for white hat hackers to try and infiltrate a system from outside the company . Anti-Malware Software Anti-malware software is used to locate and delete malware, like viruses, on a computer system. The software scans each file on the computer and compares it against a database of known malware . Files with similar features to malware in the database are identified and deleted . There are thousands of known malware, but new forms are created each day by attackers, so anti-malware software must be regularly updated to keep systems secure. Other roles of anti-malware software: Checking all incoming and outgoing emails and their attachments . Checking files as they are downloaded . Scanning the hard drive for viruses and deleting them . Firewall A firewall manages incoming and outgoing network traffic . Each data packet is processed to check whether it should be given access to the network by examining the source and destination address . Unexpected data packets will be filtered out and not accepted to the network. Other roles of a firewall include: Blocking access to insecure / malicious web sites . Blocking certain programs from accessing the internet . Blocking unexpected / unauthorised downloads . Preventing specific users on a network accessing certain files . Secure Passwords ******** Usernames must be matched with a secure password to minimise the chances of unauthorised users accessing a system. Passwords should contain a mix of uppercase and lowercase letters , punctuation and numbers . Passwords should be of a substantial length (at least 8 characters) and should be regularly changed . User Access Levels Access levels are used to only allow certain users to access and edit particular files. ' Read-Only ' access is when a user can only view a file and is not allowed to change any data . For example, a teacher might set homework instructions as read-only for students to view. ' Read and Write ' access allows a user to read and edit the data in a file. For example, a teacher might set an online workbook as read and write access for students to fill in. It is important to set access levels so that only authorised users can view and change data. The more users who have access to a file, the more likely it is to be compromised. Certain users may also have no access to a file - when they can't view or edit it. Encryption Encryption is the process of scrambling data into an unreadable format so that attackers cannot understand it if intercepted during transmission. The original data (known as plaintext ) is converted to scrambled ciphertext using an encryption key . Only at the correct destination will the encryption key be used to convert the ciphertext back into plaintext to be understood by the receiving computer. Physical Security A lock can be used to prevent access to server rooms or locations that store confidential data . Only authorised personnel with a matching key will have access. Biometric devices require the input of a human characteristic (such a fingerprint , iris or voice ). The biometric data is checked against previously inputted data in a database. Only a match will allow access to the user. Other forms of physical security include keycards , security staff , CCTV cameras and alarms . Q uesto's Q uestions 4.2 - Preventing Vulnerabilities: 1. Describe the purpose of penetration tests . [2 ] 2. Describe the purpose of anti-malware software and its different roles . [ 4 ] 3. Describe the purpose of a firewall and its different roles . [ 4 ] 4. State three rules for choosing a strong password . [ 3 ] 5. Describe the three types of access level . [6 ] 6a. Describe the purpose of encryption . [ 2 ] 6b. Explain how encryption works, using the terms plaintext , key and ciphertext . [ 4 ] 4.1 - Security Threats Theory Topics 5.1 - Operating Systems

  • App Inventor 2 | Variables | CSNewbs

    Learn how to use App Inventor 2 to create simple programs. Try to complete tasks 4, 5 and 6 on this page. Perfect for Key Stage 3 students to experiment with block coding, objects and properties. App Inventor Tasks 4, 5 & 6 - Using Variables This page will teach you how to make three simple apps that use variables . These apps will prepare you for the final program - the Pop-up Blob game. App #4 - Button Masher The first app to make is a simple program that counts how many times a button is pressed (but don't press it too much! ) This app will introduce you to using variables in App Inventor. 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 Firstly, grab a button and two labels and place them in the Viewer . Using the Properties tab, you need to make the following changes: Button Text to 'Press Me!' Button Height to 60 pixels and Width to 'Fill parent...' Label 1 Text to 'Number of Presses' Label 2 Text to '0' Both Label 1 and Label 2 Width to 'Fill parent...' Both Label 1 and Label 2 TextAlignment to 'centre : 1' In the Components tab change the component names to be easier to code later. Switch to Blocks layout and drag an initialize global to block into the centre. In the blank space type 'Presses' - this is the name of the variable that will store how many times the button has been pressed. Drag a 0 block from Math. This will set the number of presses to 0 when the app starts. Drag a when ButtonPresses Clicked from the ButtonPresses section and add the necessary code inside. This code increases the variable value of Presses by 1 every time the button is clicked. It also changes the LabelPresses text to display the number of presses. Improve Your App As you will have seen in the video at the top, I programmed the app to go a bit crazy when 35 presses were recorded. In the code below I have shown how to use an if then block to check if the number of presses is 35. If it is then I have made the button invisible - this is an important feature we will use in later programs. Copy this code and add the following features to the then part of the if statement: Set the background colour to black. Change the Label1 Text Colour to white. Change the Label1 Text Size to 40. Change the Label1 Text to 'You broke it...' Program 4 Complete! App #5 - Timer The second app to make is a timer that counts up one second at a time. It also needs a reset button that sets the timer back to 0 again. It will introduce you to the clock component and enabling / disabling components. 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 The code for this program is straightforward; it will take more effort getting the layout right. In the Palette tab, drag a HorizontalArrangement from the Layout section. It will look like an empty grey box at first. Grab a Button as well and place it underneath. Now drag two labels into the grey box and place the second one directly after the first, it may take a few attempts to get them to appear side by side like below: The last component to drag over is Clock (it is in the Sensors section in the Palette tab). It will go into its own section underneath: Change the name of some of the components so that they make more sense. Now to make some changes in the Properties tab. You should know enough by now to work out how to change your components so that it looks like this in your Viewer : Change your layout to Blocks and add the code blocks to the right. This code makes the Label named Seconds update by 1 every second, just like a timer. The code to the left will make the Label named Seconds reset to 0 when the button is pressed. Improve Your App As you will have seen in the video at the top of this task, I added a pause/unpause button that will set the enabled feature of the timer to true or false. You will need to complete the following steps (I've been deliberately vague to make it a challenge - break it down into small steps and use the colours to help you): Add a new button. Add code that, when the new button is clicked , checks if the TimerEnabled is true . If it is, then change TimerEnabled to false . Else change it to true . Now you also need to change the Text of the Button to read either "Pause" or "Unpause" . Program 5 Complete! App #6 - Windy Day The third app to make is an app that blows leaves around your screen. It will introduce you to random numbers, the canvas and coordinates . 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 In the Palette tab, drag a Canvas from the Drawing and Animation section. A Canvas allows sprites (objects) to move around inside of it. In Properties , change the Height and Width of Canvas to 'Fill parent...' for both, so it fills the whole screen. In the Palette tab, drag over five ImageSprites from the Drawing and Animation section and drop them anywhere inside the canvas. Download the leaf picture with all App Inventor images on the basics page here . Upload the leaf image it in the Media tab. In the Components tab change the names of your ImageSprites to be leaf1, leaf 2 etc. For each leaf sprite, in the Properties tab, change the Picture to the leaf you just uploaded and change Height and Width to 30 pixels each. Finally, in the Palette tab, in the Sensors section, drag over a Clock . Your Viewer should look like the image to the left. X axis Y axis 0 300 500 Now for an explanation of coordinates. Each sprite (leaf) has an x coordinate (horizontal) and a y coordinate (vertical). For example, the leaf in the top right would have coordinates of x = 270 and y = 100. Can you work out approximately what the other leaves coordinates would be? What the code blocks below do is randomise the x and y coordinates for leaf1 every second. The word integer means a whole number . Use this code and add to it to make all 5 leaves randomly change coordinates. Improve Your App Add a pause / unpause button, just like in the Timer app that pauses the timer so that the leaves stop blowing (and starts them blowing around again too). Find a nice picture (maybe of a park?) online and upload it in the Media tab. Set this as the Canvas BackgroundImage . Add an audio file of some whooshing (why not record it yourself?). Program 6 Complete! Task 7 KS3 Home

  • Scratch Maze Game | CSNewbs

    This walkthrough will show you how to create a maze game in Scratch . It is split into the following sections: Creating the First Level Choosing the Main Character Animating & Moving the Main Character Back to the Start Adding Score & Time Making Enemies Adding More Levels Extensions Use the links to move between sections easily! 1. Creating the First Level The very first thing to do is to create the level in which our character will move around in! We are going to draw a background from scratch which our hero will run around in to get to the end. Important parts of the pictures are highlighted in yellow ! 1. Select the blank Stage button in the button left to edit the background. Drawing the Background Challenge Task Anchor 1 2. Press on the Backdrops tab. This will show Scratch’s own paint editor on the right. 3. Use the line tool to create straight maze lines on the background. Use the slider at the bottom to increase the width of the line. Remember this is only the first level so don’t make it too difficult. 4. Create a start zone and an end zone with the rectangle tool and then fill them in with the fill bucket tool . You can also change the main background colour using the fill bucket tool. Remember to choose an appropriate level name in the text box at the top. Level Name Rectangle Tool Fill Bucket Tool Make your game more exciting by creating themed levels , like this park background. Other ideas might include a classroom, library or car park. Try switching up the start and end zones by using the circle tool or the line tool and the fill bucket . Come back to this challenge when you are ready to make more levels! 2. Choosing the Main Character Now that you have your first level designed we can make our hero character who is going to navigate the maze and try to get to the end. Picking the main character Anchor 2 1. A character is called a sprite . We will choose a sprite from Scratch’s sprite library . Click on the fairy icon to open the sprite menu. 2. I have selected the Animals category on the left menu. I have chosen the Penguin sprite but choose whichever character you want. 3. Press the Costumes tab and check that your chosen sprite has at least two costumes . We will use these to create animation in the next section to make it look like the sprite is moving. 4. Now that we don’t need the cat anymore we can delete him by right-clicking on his icon and selecting delete . Shrink the Main Character down to size Shrink Tool 5. The sprite is too big for the level background and you will need to shrink them down . Click on the shrink button at the top of the program and then click on the sprite in the paint area to shrink them down. Remember how many times you clicked the sprite to shrink it. You will need to shrink both costumes the same number of times . Here I have shrunk my penguin by 17 clicks when I selected the shrink tool. You can compare the size of your costumes by looking at the image size beneath the icon (e.g. 40 x 53). Picture Size 6. You need to make sure that your sprite is in the centre of the grid otherwise it might cause trouble later when you try to move them. Click on the costume centre button in the top right (it looks like a crosshair ) and drag your sprite into the middle if it is not. Make sure that both costumes are in the centre . Also, give your costumes appropriate names , I have named mine Mr. Penguin 1 and Mr. Penguin 2. Costume Name Costume Centre 3. Animate & Move the Main Character Adding Animation Anchor 3 1. Click on your sprite icon in the bottom left and then on the Scripts tab in the top centre. We will begin using the script blocks and we need to start in the Events category with: ...so drag it over to the script area. This script will run all the blocks that we place beneath it, when the flag is pressed to start the game. 1. 2. You can only add animation if the sprite you chose has at least two different costumes! 2. The second block we need is: ...in the Control category. Every block that we put inside the forever loop block will repeat again and again . We want our character to switch between their costumes infinitely to make it look like they are always walking, which is why we use the forever loop. 3. Click on the Looks category and drag two... ...inside of your forever loop . Use the drop down list (small black triangle on the costume block ) to make one block switch to your first costume and the other block switch to your second costume. 4. In the Control category, drag over two blocks and place one after each of your ‘switch costume to ‘ blocks. 1 second is too long to wait so click on the 1 and change both to 0.5 instead (this is half a second). If you’ve got the code correct so far, when you press the green flag your character should be animated! Moving the Main Character 1. In the Events category drag a into the script area. Change the button from space to ‘up arrow ’ (or any key you like) It is also popular for computer games to use the w key to move up. 2. Click on the Motion category and move over two blocks: and Change the angle of direction from 90 (which is a right turn) to 0 (which is an upwards turn). Now you have just created code to make your character move upwards by ten steps when you press the up arrow! Once you have dragged the blocks when the up arrow is pressed, you can work out how to make your character move down, left and right ALL BY YOURSELF. Add this code in now, before you move on . Rotate the Main Character If you press the green arrow and move your character around you might notice that it doesn't rotate when it moves. Click on the i in the top left of your sprite icon in the bottom left. There are three types of rotation to choose from. Select your preferred style by clicking on one of the three symbols. Full Rotation will turn your sprite up, down, left and right. Horizontal Rotation will only turn your sprite left and right. No Rotation will not turn your sprite at all. it will always appear in the same direction. Anchor 4 4. Back to the Start Starting in the right place We always want the main sprite to start in the green zone when the green flag is pressed to start the game. First drag your sprite to the green zone . Then go to the Motion category and drag over: ...and connect it directly underneath the block you dragged over earlier. Once you’ve added that line of code, click the green flag to make sure that the sprite starts where you want it to . If it doesn’t, then you can change the x (horizontal) and y (vertical) co-ordinates by clicking on the white boxes and changing the values. Back to the start if touching the walls 1. Drag over and connect together the two blocks below: 2. Drag over the two blocks below, put the blue one inside the other and then put them both inside the forever loop : 3. Change the co-ordinates in the blue block you just added so that it matches the same co-ordinates as the block to make the sprite start at the green zone . 4. Now to add the wall detection code! In the Sensing section, drag this block over... ...and put it inside the top of the ‘if then‘ block . Make sure that you put it between the 'if' and 'then' and not underneath. 5. Click once on the box in the ‘touching colour ‘ block and then click the wall or obstacle you want the player to avoid, Now is a good idea to play your game and make sure you can get to the end without being teleported back to the start. If your game is impossible you will need to edit the background – click on the stage icon in the bottom left then the Backdrops tab and edit the walls. Anchor 5 5. Adding Time & Score Recording the Time 1. Click on the Stage icon in the bottom left, we will create new code in the Scripts tab of the stage. DO NOT click the character sprite! Click on the Data category and choose Make a Variable . A variable is something that can change . Call your new variable Time . Adding a Score - The Number of Restarts 2. From the Events category drag: ...then look in the Data category and connect this underneath: ...but it should say Time instead of 'variable'. This code makes the time start at 0 when the game begins. 3. Now we need a loop that increases our variable called Time by 1 every second. First drag over a forever loop : Then place inside of it two blocks: Make sure it says Time instead of variable. Now press the green flag to see the timer go up. 1. In the Data section click on Make a Variable and give it an appropriate name like Restarts . This variable will count how many times we have touched a wall and had to start again. 2. Firstly, go back to the Scripts area for your character – click on the sprite of your main character in the bottom left then the Scripts tab. You need to add two blocks from the Data category: Change variable to Restarts and place it directly underneath the flag. Change variable to Restarts again and place this code directly after the 'go to ' block inside the loop. Now whenever you touch the wall you restart and it records it in the variable called Restarts. 6. Making Enemies Anchor 6 1. Select the fairy icon in the New sprite section to open the Scratch sprite library. 2. From the sprite library choose your enemy . I have selected the polar bear because it fits with my penguin. 3. Select the shrink tool at the top of the program and click on the enemy . Then drag them to where you want them to start . 4. Click on the sprite icon of your enemy then select the Scripts tab. Drag and connect two blocks: 5. From the Control category grab a: ...and place it after the ‘go to ‘ block. Now we will make our enemy glide from his start position to somewhere on our level again and again. Move the enemy to where you want it to go to then add: ...inside the forever loop. Drag another ‘glide ‘ block and place it underneath but change those co-ordinates to the same as the one underneath the the ‘when green flag clicked‘ block. This code makes the enemy move backwards and forwards forever. 6. Make your main character return to the start if they touch the enemy. Click on your main character sprite in the bottom left and then the Scripts tab. You need to copy the exact same code you made earlier to see if the main character is touching the wall , but this time you need to use: ...instead of the touching colour block. Click on the box in the block and select your Main Character . 7. New Levels Anchor 7 Coming Soon To be added soon. This concludes the walkthrough for a Scratch maze game! Try a combination of the suggestions below to add complexity to your game: Using ‘say ‘ or ‘think ‘ blocks in the Looks category to make your sprites say things at certain points (like at the start of a new level). Making your game harder by speeding up enemies in later levels (you could change the number of seconds it takes to glide ) Adding more enemies that only appear in harder levels. Setting a time limit – instead of having your time begin at 0 and increasing by 1 every second, have it start at 30 and decrease by 1 every second. Extensions Anchor 8

  • CSN+ Preview | CSNewbs

    About CSNewbs Plus (CSN+) CSN+ is a premium collection of resources made for teachers that follows the Computer Science specifications covered on the website . Currently, these resources are in development , with the Eduqas GCSE resource pack arriving first, based on the Eduqas GCSE Computer Science 2020 specification . < Free zip folder download of all resources for Eduqas GCSE topic 1.1 (The CPU) *Updated Jan 2021* Resources included for each topic: Lesson Slides Starter activity (to print) Task resources (e.g. diagrams or worksheets to print) Task answers What is included in the CSNewbs+ GCSE collection? 39 presentation slides 39 starters 39 task answer documents 19 revision activity pages 7 topic tests & answers See below for more details: + Complete presentation slides for each of the 39 theory topics in the Eduqas GCSE 2020 specification . PowerPoint and Google Slides compatible. Activity resources to print . Including diagrams , tables and worksheets for lesson tasks . All answers included for teachers to use. Starter questions that recap the previous topic. For teachers to print before the lesson. All answers included in the lesson slides. 39 starters . Comprehensive answers for all lesson tasks . 39 task answer documents containing answers for over 100 lesson tasks for teachers to use . Revision templates for students to complete, to print on A3 paper . 19 pages and 7 revision lesson slides . Exercise book headings and the driving question (lesson focus) 7 end-of-topic tests with brand new questions . All answers included for teachers. What is included on the presentation slides? The following breakdown shows the presentation slides for 1.1 (The CPU): A title slide The content covered from the Eduqas GCSE specification Exercise book headings and the driving question (lesson focus) Answers to the starter activity questions Lesson objectives An explanation of the topic Clear explanations of the content First task. Students use slides or CSNewbs to complete. All answers on separate teacher document. Task 2. Table provided in teacher resource pack to print. Further explanations of the content Further explanations of the content with diagrams. Further explanations of the content with diagrams. Task 3. Answers in the teacher document. Plenary to check the students' understanding of the lesson topics. < Free zip folder download of all resources for Eduqas GCSE topic 1.1 (The CPU) *Updated Jan 2021*

  • 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

  • Motherboard | Key Stage 3 | CSNewbs

    Learn about the motherboard and the components that are connected to this important piece of computer hardware. The Motherboard What is a motherboard? The motherboard is the main circuit board of a computer that links all other components together. Components can communicate by sending signals and data across pathways called buses . Some components, like the CPU and RAM , are directly installed in special sockets on the motherboard . There are expansion slots for further components like a graphics card . What is connected to the motherboard? Central Processing Unit Random Access Memory Graphics Processing Unit Read Only Memory Cache Memory Sound Card Hard Disk Drive Power Supply Unit What is a motherboard's form factor? Form factor relates to the motherboard's size , shape and how many components it can fit . The three most common form factors are compared below: ATX Micro ATX Mini ITX Standard Small Very Small 32 GB 64 GB 128 GB 7 4 1 Size Max RAM Expansion Card Slots GB stands for gigabytes What ports does a motherboard have? The motherboard contains several ports on the back panel , allowing cables to be connected to input or output data . Below are some of the common ports : USB (Type-A) Connects input devices like keyboards and mice or storage devices like a USB memory stick. USB (Type-C) A newer type of USB that is faster and commonly used to charge devices or transfer data. Ethernet Allows a device to connect to a wired network, most commonly to a router, for internet access. HDMI Connects to a monitor or TV to show the computer's audio and visual output. KS3 Home

  • Python | 6b - While Loops | CSNewbs

    Learn how to create and use while loops in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 6B - While Loops Types of Loop The third construct of programming (after Sequence and Selection) is Iteration . If you iterate something, then you repeat it. There are two key loops to use in Python: for loops and while loops . A for loop is count controlled – e.g. “For 10 seconds I will jump up and down”. The loop will continue until the count (e.g. 10 seconds) has finished . A while loop is condition controlled – e.g. “While I am not out of breath, I will jump up and down.” The loop will continue as long as the condition remains true . Simple While Loops A while loop keeps repeating as long as the starting condition is true . If the condition of the while loop becomes false , the loop ends . In this example, the number variable is increased by 1 inside of the loop until it is no longer less than or equal to 10 . number = 1 while number <= 10: print (number) number = number + 1 1 2 3 4 5 6 7 8 9 10 Comparison Operators == equal to != not equal to < less than <= less than or equal to > greater than >= greater than or equal to It is important to give the variable a value before you start the while loop . I have assigned number as 1. The last line increases the number by 1 otherwise the number would stay at 1 and the loop would repeat forever . While Loops Task 1 (Countdown from 100 ) Example solution (shortened): Create a simple while loop that starts at 100 and prints each number down to 1 . Think about the comparison operator you will need to check you have reached 1. 100 99 98 ... ... 3 2 1 Inputs Inside While Loops If you want the user to keep entering an input until they give a certain answer then you need to put the input inside the while loop : age = 0 while age < 18: print ( "Only adults allowed to the casino." ) age = int ( input ( "Enter your age: " )) print ( "Welcome and enjoy your visit." ) Only adults allowed to the casino. Enter your age: 14 Only adults allowed to the casino. Enter your age: 18 Welcome and enjoy your visit. month = " " while month != "July" : month = input ( "Guess the month I'm thinking of: " ) print ( "Correct! It was July!" ) Guess the month I'm thinking of: August Guess the month I'm thinking of: June Guess the month I'm thinking of: July Correct! It was July! Notice that the variable in the condition (age or month in these examples) has to be given a value first before it can be used in a while condition. The program will crash if the variable is not declared and assigned a value - for example, the age cannot be checked to see if it less than 18 if there is no age variable! For string variables like month in the example above then a blank default value like " " can be used. For integer variables often 0 will be used. While Loops Task 2 (Guess the Colour ) Example solution: Use a variable named colour and a while loop that allows the user to keep entering colours until a specific one (your choice) has been input. Guess the colour: blue Guess the colour: purple Guess the colour: yellow Correct! It was yellow! While Loops Task 3 (Integer Trivia ) Use a while loop to ask a question that has an integer (whole number) as an answer , such as "How many James Bond films did Daniel Craig appear in?" or "In which year did Wigan Athletic win the FA Cup?". Remember that integers do not use speech marks , e.g. year = 0 Example solution: Which year was the first Iron Man movie? 2010 Which year was the first Iron Man movie? 2009 Which year was the first Iron Man movie? 2008 Correct! It was 2008! While True Loops A while True loop will repeat indefinitely , only stopping when the break command is used to end the loop . While True loops are often preferred because you do not need to set default values for any variables before the loop begins. while True : password = input ( "Enter the password: " ) if password == "icecream21" : print ( "Correct Password!" ) break Enter the password: vanilla32 Enter the password: chocolate83 Enter the password: strawberry100 Enter the password: icecream21 Correct Password! The program below has been adapted to record the number of attempts made . The value is increased by 1 each time the loop restarts. guesses = 0 while True : guesses = guesses + 1 password = input ( "Enter the password: " ) if password == "goat7" : print ( "Correct Password! It took" ,guesses, "attempts!" ) break else : print ( "Incorrect. Try again!" ) Enter the password: sheep3 Incorrect. Try again! Enter the password: cow4 Incorrect. Try again! Enter the password: horse5 Incorrect. Try again! Enter the password: goat7 Correct Password! It took 4 attempts! The continue command will move to the next iteration (it can be considered as starting the loop again ). The program below allows numbers to be entered and keeps track of a running total. Entering 1 inputs a number, 2 displays the total and 3 stops the program. total = 0 while True : choice = input ( "\nType 1 to enter, 2 for a total and 3 to stop: " ) if choice == "1" : number = int ( input ( "Enter a number: " )) total = total + number continue elif choice == "2" : print ( "The total is" , total) continue elif choice == "3" : break print ( "\nProgram finished." ) Type 1 to enter, 2 for the total and 3 to stop: 1 Enter a number: 40 Type 1 to enter, 2 for the total and 3 to stop: 1 Enter a number: 35 Type 1 to enter, 2 for the total and 3 to stop: 2 The total is 75 Type 1 to enter, 2 for the total and 3 to stop: 3 Program finished. While Loops Task 4 (Guess the Planet ) Example solution: Use a while True loop to keep asking a user to input a planet . Keep track of the number of guesses that have been made and output the total when they input the correct planet. Use the second example in the 'While True Loops ' section above to help you. Enter a planet: Mars Incorrect guess, try again! Enter a planet: Mercury Incorrect guess, try again! Enter a planet: Neptune Correct it was Neptune! While Loops Task 5 (Up to 100 ) Create a while True loop that asks the user to enter a number . Add the number to a total variable and print it. When the total reaches 100 or more , stop the program. Don't forget to set the total variable to 0 at the start and to add the number entered by the user to the total. Example solution: Enter a number: 34 The current total is: 34 Enter a number: 29 The current total is: 63 Enter a number: 18 The current total is: 81 Enter a number: 22 The current total is: 103 Over 100! ⬅ 6a - F or Loops Section 6 Practice Tasks ➡

  • 2.3 - Data States | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about the three data states - at rest, in transit (in motion) and in use. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 2.3 - Data States Watch on YouTube: Data States You need to understand the characteristics and uses of the three data states (at rest , in transit (in motion) and in use ) What You Need to Know Data States Data states describe what is happening to data at a particular time - whether it is being stored , transferred or actively used . At Rest Data is at rest when it is stored on a device or storage system and is not currently being transferred or processed . It remains in a stable state until it is accessed , changed or deleted . It is for when data needs to be stored for later use , such as files saved on an SSD , customer details in a database or photos stored on a phone . In Transit Data in transit (also known as data in motion ) is actively moving from one location or device to another , often across a network . It may be sent to multiple users but is susceptible to interception or security attacks while being transferred . It is used when data needs to be sent or shared , such as loading a webpage , sending an email , uploading a file to cloud storage or streaming a video . In Use Data in use is currently being accessed , processed or changed by a user , application or computer system . It is used when an application needs to work with data , such as editing a document , calculating values in a spreadsheet , processing a database search or editing graphics . Q uesto's Q uestions 2.3 - Data States: 1. What is meant by a data state ? [ 1 ] 2. Describe the characteristics of data at rest , data in transit and data in use . [2 each ] 3. Give two examples of when data would be at rest , in transit and in use . [2 each ] 4. Explain how the same piece of data could move between all three data states . [3 ] 5. What might data in transit be particularly susceptible to? [2 ] When you stream a film on Netflix , its data can move through different states : it is at rest on a server , in transit while being sent across the internet , and in use when your device processes it for playback . D id Y ou K now? 2.2 - Data Flow Topic List 3.1 - APIs

  • 4.1 - Data Types | OCR A-Level | CSNewbs

    Learn about data types (integer, real, character, string, Boolean), positive and negative binary, denary, hexadecimal, sign and magnitude, two’s complement, binary addition, binary subtraction, normalisation of floating point numbers, floating point arithmetc, bitwise manipulation, masks (AND, OR, XOR) and character sets (ASCII, Unicode). Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 4.1 - Data Types Specification: Computer Science H446 Watch on YouTube : Data types Binary Sign and magnitude & Two's complement Binary addition & subtraction Hexadecimal Convert between number systems Floating point Floating point normalisation Floating point addition & subtraction Binary shifts Masks (AND, OR, XOR) Character sets This is a mathematical topic that requires conversion between the binary , denary (decimal ) and hexadecimal number systems . Representing positive and negative binary values is included, as well as adding and subtracting binary numbers and using normalised floating point to represent decimal numbers . Data Types Data types are needed so that the computer knows how to store , process and interpret data correctly . They help ensure that only valid operations are performed on data . For example, you can add two numbers , but not a number and a word . Character : A single letter , digit or symbol , e.g. ‘k ’, ‘7 ’, or ‘? ’. String : A sequence of characters , e.g. “CSNewbs ”. Integer : A whole number , e.g. 7 or -12 . Real : A decimal number , e.g. 3.14 or -0.5 . Boolean : A data type with only two possible values - True or False . Converting from one data type to another is called casting , e.g. age = str(age) would convert the variable age to a string in Python . Binary Binary is a base-2 number system with all values comprised only of 0 and 1 , e.g. 01011001 . Denary (also called decimal ) is the base-10 number system you grew up learning, with 10 possible values between 0 and 9 , e.g. 453 . Computers use binary because they are built from electronic components (transistors ) that have two states (on and off ), which are easily represented by 1s and 0s . All data processed and stored by the computer (e.g. numbers , text , images and sounds ) are represented in binary . To convert an 8-bit binary value to denary , write 128 - 64 - 32 - 16 - 8 - 4 - 2 - 1 above the binary and add together the values with a 1 underneath . For example, 10101101 is 173 (128 + 32 + 8 + 4 + 1 ). Storing Negative Numbers -183 Sign and Magnitude and Two’s Complement are two methods of representing negative numbers in binary . In Sign and Magnitude , the most significant bit (MSB ) represents the sign - 0 for positive and 1 for negative - while the remaining bits store the number’s magnitude (value ). For example, in 8-bit form, 0 101 0010 is +82 and 1 101 0010 is -82 . However, this method has two representations of zero (+0 and -0 ), which can cause problems and may give incorrect results if used to add or subtract . In Two’s Complement , negative numbers are represented by inverting all bits of the positive value and adding 1 to the result. This method has only one zero and makes binary addition and subtraction simpler . Binary Addition & Subtraction Binary addition works from right to left but only uses the digits 0 and 1 . The key rules are: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 (write down 0 and carry 1 to the next left column ). 1 + 1 = 1 = 11 (write down 1 and carry 1 to the next left column ). If the final addition produces an extra carry bit , it may indicate an overflow error , if the result is too large to fit in the available bits . Binary subtraction can be done using borrowing , similar to denary subtraction , or more commonly by using two’s complement . In two’s complement subtraction , you add the negative version of one number (found by inverting the bits and adding 1 ) to the other to perform subtraction using binary addition rules . Hexadecimal 9E8A Hexadecimal is a base-16 number system using the digits 0 to 9 and the letters A to F, where A = 10 and F = 15 in denary . It’s often used in computing because it provides a shorter , more readable way to represent long binary values . For example, two hex digits represent eight binary bits , making conversions quick and efficient . To convert from binary to hexadecimal , split the binary number into groups of four bits (from right to left ) and convert each group into its hex equivalent . Example: 1101 0110 → 1101 (14 → D ) and 0110 (6 ) → D6 . To convert hexadecimal to binary , replace each hex digit with its 4-bit binary equivalent . Example: 2F → 0010 (2 ) and 1111 (15 → F ) → 0010 1111 . The easiest method to convert between denary and hexadecimal is to convert the value to binary first . Example: 26 → 0001 1010 → 1A . Floating Point Floating point is a way of representing real (decimal ) numbers in binary using a mantissa and an exponent . It allows computers to store a wide range of values efficiently , including very small and very large numbers . Floating point normalisation means adjusting the number so that the mantissa begins with a 01 (if it is positive ) or 10 (if it is negative ). This ensures the representation is unique and uses all available bits in the mantissa for precision . To add or subtract floating point numbers , the exponents must first be made equal by shifting the mantissa of the smaller number . Once aligned , the mantissas are added or subtracted , and the result is then normalised again to maintain the correct form . Binary Shifts A binary shift moves all the bits in a binary number left or right by a set number of places . A left shift moves all bits to the left , filling the empty right-hand bits with zeros . Each left shift multiplies the number by 2 . For example, shifting 0001 0100 (20 ) one place left gives 0010 1000 (40 ). A right shift moves all bits to the right , discarding the rightmost bits . Each right shift divides the number by 2 . For example, shifting 0010 1000 (40 ) two places right gives 0000 1010 (10 ). Masks A mask is a binary pattern used with bitwise operations (such as AND , OR and XOR ) to manipulate specific bits within a binary value . An AND mask is used to clear (set to 0 ) specific bits . Any bit ANDed with 0 becomes 0 , and any bit ANDed with 1 stays the same . For example, 1011 0110 AND 0000 1111 = 0000 0110 - the mask keeps only the lower four bits . An OR mask is used to set (turn on ) specific bits . Any bit ORed with 1 becomes 1 , and with 0 stays the same . For example, 1010 0000 OR 0000 1111 = 1010 1111 . An XOR mask is used to toggle (invert ) specific bits . Any bit XORed with 1 flips (0 → 1 or 1 → 0 ), while XORed with 0 stays the same . For example, 1010 1010 XOR 0000 1111 = 1010 0101 . Character Sets A character set is a collection of characters (letters , numbers , symbols and control codes ) that a computer can recognise , store and process . Each character is represented by a unique binary code . ASCII (American Standard Code for Information Interchange ) is an early character set that uses 7 bits to represent 128 characters , including English letters , digits , punctuation and control characters . It’s simple and compact but limited to English and basic symbols . Extended ASCII uses 8 bits for 256 characters . Unicode was developed to overcome ASCII’s limitations by representing characters from all languages and writing systems . It uses up to 32 bits and includes over 140,000 characters , allowing consistent representation of text across different devices and platforms . Q uesto's K ey T erms Data Types: integer, real, Boolean, character, string Number Systems: binary, denary (decimal), hexadecimal, sign and magnitude, two's complement, binary addition, binary subtraction, floating point, floating point normalisation, floating point addition, floating point subtraction Binary shifts: left shift, right shift Masks: mask, bitwise operator, AND, OR, XOR Character Sets: character set, ASCII, Unicode D id Y ou K now? Gottfried Wilhelm Leibniz , a German mathematician , is credited with inventing the binary number system in the 17th century , hundreds of years before computers existed. Leibniz biscuits are named after him. 3.4 - Web Technologies A-Level Topics 4.2 - Data Structures

  • 2.5 - Compression - OCR GCSE (J277 Spec) | CSNewbs

    Learn about the benefits of compression and the differences between lossy and lossless compression. Also, learn how compression ratios work. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.5: Compression Exam Board: OCR Specification: J277 Watch on YouTube : Compression Benefits Lossy Compression Lossless Compression What is compression? To compress a file means to make its size smaller . Benefits of compression include: Files take up less storage space (so more files can be stored). Files can be transferred quicker (because they are smaller). Files can be read from or written to quicker . There are two methods that are used to compress files: Lossy and Lossless . Lossy Compression Lossy compression uses an algorithm (set of instructions) to analyse a file and remove data that cannot be heard or seen by humans . For example, a lossy algorithm would analyse the sound waves of an audio file and remove any frequencies which humans cannot hear. This process reduces the size of the file . Further lossy compression will remove data that humans can see / hear . For example, the dog image to the right has been strongly compressed using a lossy algorithm and some data has clearly been removed. Lossy compression removes the data permanently , so the file can never return to its original form . Lossy compression is often used with images , audio and video to reduce the file size, for example to send over the internet. Lossless Compression Lossless compression reduces the size of a file without permanently removing any data . Because of this, the file is returned to its original form when decompressed, so no quality is lost . A file that is compressed with a lossless algorithm is usually larger than a file compressed with a lossy algorithm because no data has been permanently removed. Lossless compression is used with files that would not function properly if data were permanently removed, such as executable files (e.g., programs and games) or word documents . Remember that lossy and lossless compression do not just refer to images. Below is an audio file that has been compressed with lossy compression . Data has been removed so the audio quality has decreased. 197 KB 81 KB 43 KB Q uesto's Q uestions 2.5 - Compression: 1. Describe 3 benefits of compressing a file . [ 3 ] 2. Describe the differences between lossy and lossless compression . [4 ] 3. A student needs to compress a Microsoft Word document to send in an email. Suggest which type of compression they should use and why . [ 2 ] 2.4e Sound Storage Theory Topics 3.1a - Network Types & Performance

  • 4.3 - Boolean Algebra | OCR A-Level | CSNewbs

    Learn about boolean logic and expressions using NOT, AND OR and XOR, Karnaugh maps, Boolean algebra rules including De Morgan’s Laws, distribution, association, commutation and double negation, logic gate diagrams, truth tables, D-type flip flops, half adders and full adders. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 4.3 - Boolean Algebra Watch on YouTube : Boolean Logic (NOT, AND, OR, XOR) Karnaugh maps Boolean algebra rules Logic gate diagrams D-type flip flops Half & full adders This topic explores how the logical operations NOT , AND , OR and XOR are used to process binary data and control digital systems . It also looks at how to simplify and represent logic using Karnaugh maps , Boolean algebra rules , logic gate diagrams and truth tables . Boolean Operators Boolean logic is a form of algebra in which all values are either True (1 ) or False (0 ). There are four Boolean operators to know: NOT (¬ ) reverses the input value - 1 becomes 0 and 0 becomes 1 . AND (∧ ) outputs 1 only if both inputs are 1 (e.g. 1 AND 1 = 1 , otherwise 0 ). OR (∨ ) outputs 1 if at least one input is 1 (e.g. 1 OR 0 = 1 ). XOR (v ) outputs 1 only if one input is 1 but not both (e.g. 1 XOR 1 = 0 , 1 XOR 0 = 1 ). A truth table is used to show all possible input combinations for a logic circuit or Boolean expression , along with the resulting output for each combination . Karnaugh Maps A Karnaugh map is a visual method used to simplify Boolean expressions and make logic circuits more efficient . It organises all possible input combinations into a grid , to more easily identify an expression's simplest form . By grouping together 1s (representing True outputs ) in powers of two (1 , 2 , 4 or 8 cells ), you can identify and remove redundant terms in a Boolean expression . The simplified result reduces the number of logic gates needed in a circuit, making it faster and easier to build . Boolean Algebra Rules Boolean algebra rules are used to simplify Boolean expressions . With Double Negation , two NOTs cancel each other out , returning the original value , e.g., ¬¬A = A . Commutation means the order of terms doesn’t matter in Boolean operations, e.g., A AND B = B AND A . Distribution allows expressions to be expanded or factored , e.g., A AND (B OR C) = (A AND B) OR (A AND C) . Association means the grouping of terms doesn’t affect the result . (A AND B) AND C = A AND (B AND C) . De Morgan’s Laws show how to distribute negation across AND and OR operations: ¬(A AND B) = (¬A OR ¬B) and ¬(A OR B) = (¬A AND ¬B) . Logic Gate Diagrams Logic gate diagrams are visual representations of Boolean expressions or digital circuits , showing how data flows through logic gates to produce an output . Each gate performs a basic logical operation (such as NOT , AND , OR or XOR ) and is represented by a distinct symbol : NOT AND OR XOR D-Type Flip Flops A D-type flip-flop i s a sequential logic circuit that stores a single bit of data (either 0 or 1 ). It has two inputs - D (data ) and C lock - and two outputs - Q and ¬Q . When a clock pulse occurs , the flip-flop copies the value of D to the Q output , and that value is held (stored ) until the next clock pulse . This makes D-type flip-flops useful for memory storage , registers and data synchronisation . Essentially, they act as a 1-bit memory cell , storing the last value of D whenever the clock signal triggers . Half Adders & Full Adders A half adder is a logic circuit with two inputs (A and B ) that are added to produce two outputs - S (sum ), the result of A XOR B - and C (carry ), the result of A AND B . Half adders can only add two bits and cannot handle an input carry from a previous addition . A full adder is an extension of a half adder with three inputs : A , B , and C in (a carry-in from a previous calculation ). It produces two outputs : S (sum ) (A XOR B XOR Cin ) and C out (carry out ) ((A AND B) OR (B AND Cin) OR (A AND Cin) ). Full adders can be linked together to perform multi-bit binary addition in arithmetic circuits. Q uesto's K ey T erms Boolean Logic: NOT, AND, OR, XOR, Karnaugh maps, logic gate diagrams, truth tables Boolean Algebra Rules: De Morgan’s Laws, distribution, association, commutation, double negation D-Type Flip Flops: data, clock, Q, NOT Q Adders: half adder, full adder D id Y ou K now? The word ' Boolean ' is always spelt with a capital B because it is named after George Boole , a 19th-century English mathematician . His work has become the foundation of all modern digital electronics and computing . 4.2 - Data Structures A-Level Topics 5.1 - Computing Legislation

© CSNewbs 2026

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