top of page

Search CSNewbs

Search this site

304 results found with an empty search

  • Computer Science Newbies

    Homepage for learning about computer science in school. Discover topics across GCSE and Level 3 IT subjects, plus programming languages including Python, HTML and Greenfoot. C omputer S cience Newb ie s Popular topics: Python Programming Learn how to program in Python, with examples and challenges to test your skills. OCR GCSE ( J277 ) Covers all content from both papers of the current Cambridge OCR GCSE specification. OCR A-Level ( H446 ) Covers all content from both papers of the current Cambridge OCR A-Level spec. Application Development Cambridge Advanced National In Computing resources for Units F160 and F161. Latest YouTube Video Latest Blog Post Links & Information You are viewing the mobile version of CSNewbs. The site will appear better on a desktop or laptop . YouTube Channel Last updated: - Support CSNewbs - 890,000+ views Monday 2nd November 2026 Millions of visits since 2017! About CSNewbs

  • Python | Extended Task 1 | 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 1 Pete Porker's Pork Pie Emporium Hello, Pete Porker here... I need a new program for customer orders at my bakery . I need the customer to enter how many scotch eggs (45p each ), pork pies (85p each ) and quiche tarts (£1.45 ) they want to order. Next, ask them to confirm their choice . If they are not happy , ask the questions again . If they confirm their choice, print a receipt showing their order and total . To make your program better, you should use validation (either while loops or error handling ) to make sure that a user must enter a correct value. Bronze Award --- Welcome to Pete Porker's Pork Pie Emporium --- Scotch eggs are 45p, pork pies are 85p and quiche tarts are £1.49. Enter the number of scotch eggs to buy: 9 Enter the number of pork pies to buy: 7 Enter the number of quiche tarts to buy: 4 ----- You selected 9 scotch eggs, 7 pork pies and 4 quiche tarts. 9 scotch eggs = £4.05 7 pork pies = £5.95 4 quiche tarts = £5.96 ------- Total: £15.96 There are many ways to create this program, but below are some suggestions : Use inputs with int to let the user enter how many of each item they want. Use total variables , e.g. totaleggs = eggs * 0.45 to work out the total cost for eggs, pies and tarts. Set a finalcost variable by adding the total of the three items together. Use dashes and \n (which makes a new line ) inside speech marks to make your program more presentable . Silver Award --- Welcome to Pete Porker's Pork Pie Emporium --- Scotch eggs are 45p, pork pies are 85p and quiche tarts are £1.49. Enter the number of scotch eggs to buy: 5 Enter the number of pork pies to buy: 3 Enter the number of quiche tarts to buy: 6 ----- You selected 9 scotch eggs, 7 pork pies and 4 quiche tarts. ----- Are you happy with this selection? no Okay, enter your choices again. Enter the number of scotch eggs to buy: 6 Enter the number of pork pies to buy: 2 Enter the number of quiche tarts to buy: 7 ----- You selected 6 scotch eggs, 2 pork pies and 7 quiche tarts. ----- Are you happy with this selection? yes Excellent! Here is your receipt : 6 scotch eggs = £2.70 2 pork pies = £1.70 7 quiche tarts = £10.43 ------- Total: £14.83 There are many ways to improve this program and below are some suggestions : Use a while loop to repeat the input stage until the user is happy with their choices. You will need to ask the user if they are happy with the values that were entered and then use an if statement to repeat the loop if they enter 'no '. Gold Award Example solution: --- Welcome to Pete Porker's Pork Pie Emporium --- Scotch eggs are 45p, pork pies are 85p and quiche tarts are £1.49. Enter the number of scotch eggs to buy: 9 Enter the number of pork pies to buy: 35 Sorry you must enter a number between 1 and 20. Starting again... Enter the number of scotch eggs to buy: 9 Enter the number of pork pies to buy: 20 Enter the number of quiche tarts to buy: 7 ----- You selected 9 scotch eggs, 20 pork pies and 7 quiche tarts. ----- Are you happy with this selection? YES Excellent! Here is your reciept: 9 scotch eggs = £4.05 20 pork pies = £17.00 7 quiche tarts = £10.43 ------- Total: £31.48 There are many ways to make this program even better and below are some suggestions : Include validation so that the user can only enter numbers between 1 and 20 . You will need to use if statements and the and operator to do this. You can include additional features to your program such as rounding the number to two decimal places and including coloured text using the Colorama library (which will only work if you are using an online editor like Replit ). You can use the .lower() command when checking if the user is happy with their choices to automatically accept 'Yes' and 'YES '. If you really want to challenge yourself you could consider outputting the receipt in order from most expensive to least expensive , using if statements to check the three values (although that has not been done in this example on the left). Helpful reminders for this task: Inputting Integers While Loops Calculations Rounding Integers ⬅ 12 - Error Handling Extende d Task 2 (Lottery) ➡

  • 8.4 - Validation & Verification - Eduqas GCSE (2020 Spec) | CSNewbs

    Learn about the six main validation checks - range, type, length, format, lookup table and presence. Also, discover three verification checks - double entry, proof-reading and check digits. Based on the 2020 Eduqas (WJEC) GCSE specification. 8.5: Validation & Verification Exam Board: Eduqas Specification: 2020 What are validation and verification checks? Validation is a process to check that data is reasonable or sensible before it is accepted . Verification is the process of checking that data is correct after it has been entered. Validation Checks Range Check Checks data is within a certain range . Age: 34 203 Type Check Checks data is a certain data type . Height (in cm): 182 Two metres Format Check Checks data is entered in a certain way . Date of Birth (DD/MM/YYYY) 25/03/2001 25th March 01 Presence Check Checks that data has actually been entered and not left blank . Password: fluffythecat123 Lookup Table A table of acceptable entries , also known as a list . Length Check Checks the length of the input is within a certain amount. Telephone Number 08323877319 07383 Verification Checks Double Entry Typing in the data twice to make sure there were no spelling errors the first time. Password: fluffythecat123 flufythecat123 Proofreading Checking two copies of data to ensure they are exactly the same . Check Digit Similar to a checksum in a data packet, a check digit is calculated on barcodes to ensure the rest of the numbers are correct . Address: 11 Cherry Lane 11 Cherry Road Confirm Q uesto's Q uestions 8.4 - Validation & Verification: 1. Describe each type of validation check and give an example . a. Range Check [ 3 ] b. Type Check [ 3 ] c. Format Check [ 3 ] d. Presence Check [ 3 ] e. Lookup Table (List) [ 3 ] f. Length Check [ 3 ] 2. For the following data, suggest which validation check would be most suitable and why : a. Password [ 3 ] b. Country of Birth [ 3 ] c. Number of Tickets [ 3 ] d. Weight (in kilograms) [ 3 ] 3. Describe three types of verification check and give an example : a. Double Entry [ 3 ] b. Proofreading [ 3 ] c. Check Digit [ 2 ] 8.4 - Sorting & Searching Theory Topics 9.1 - IDE Tools

  • 4.1 - Security Threats - OCR GCSE (J277 Spec) | CSNewbs

    Learn about different forms of cyber attacks online including malware, SQL injection, DoS attacks and social engineering. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 4.1: Security Threats Exam Board: OCR Specification: J277 Watch on YouTube : Malware Social Engineering, Brute-Force & DoS Interception & SQL Injection Types of Malware Malware is any type of harmful program that seeks to damage or gain unauthorised access to your computer system. Virus A virus can replicate itself and spread from system to system by attaching itself to infected files . A virus is only activated when opened by a human . Once activated, a virus can change data or corrupt a system so that it stops working . Worm A worm can replicate itself and spread from system to system by finding weaknesses in software . A worm does not need an infected file or human interaction to spread. A worm can spread very quickly across a network once it has infiltrated it. Trojan A trojan is a harmful program that looks like legitimate software so users are tricked into installing it . A trojan secretly gives the attacker backdoor access to the system . Trojans do not self replicate or infect other files. Spyware Spyware secretly records the activities of a user on a computer. The main aim of spyware is to record usernames, passwords and credit card information . All recorded information is secretly passed back to the attacker to use. Keylogger A keylogger secretly records the key presses of a user on a computer. Data is stored or sent back to the attacker. The main aim of a keylogger is to record usernames, passwords and credit card information . Keyloggers can be downloaded or plugged into the USB port . Ransomware Ransomware locks files on a computer system using encryption so that a user can no longer access them. The attacker demands money from the victim to decrypt (unlock) the data . ? ? ? ? Attackers usually use digital currencies like bitcoin which makes it hard to trace them. SQL Injection SQL ( Structured Query Language ) is a programming language used for manipulating data in databases . A SQL injection is when a malicious SQL query (command) is entered into a data input box on a website. If the website is insecure then the SQL query can trick the website into giving unauthorised access to the website’s database . An SQL injection can be used to view and edit the contents of a database or even gain administrator privileges . DoS Attack A DoS (Denial of Service ) attack is when a computer repeatedly sends requests to a server to overload the system . A server overload will slow the system and may take websites offline temporarily. A DDoS (Distributed Denial of Service ) attack is a coordinated attack using a botnet of infected systems to overload a server with requests . A botnet is a large group of devices controlled and used maliciously by an attacker. Brute-Force Attack Every possible combination is tested in order from start to finish . This is not a quick method but it should break the password eventually and can be sped up if multiple computer systems are used at the same time. Social Engineering Social engineering means to trick others into revealing their personal data by posing as a trusted source . For example, impersonating an IT technician of a school via email and asking for a student's username and password . Data Interception This is when data packets on a network are intercepted by a third party (e.g. a hacker) and copied to a different location than the intended destination. Software called packet sniffers are used to intercept and analyse data packets. Q uesto's Q uestions 4.1 - Security Threats: 1. What is malware ? [ 2 ] 2a. Describe three characteristics of a virus . [3 ] 2b. Describe three characteristics of a worm . [3 ] 2c. What is a trojan ? [ 3 ] 2d. Describe how spyware and keyloggers work. [ 4 ] 2e. Explain how ransomware works and why it is difficult to trace attackers . [ 3 ] 2f. In your opinion, which malware do you think is the most dangerous and why ? [ 2 ] 3. Describe what an SQL injection is and how an attacker would use it. [ 3 ] 4a. Describe what a DoS attack is and its impact . [2 ] 4b. Describe how a DDoS attack is different to a DoS attack . [2 ] 5a. Describe a brute-force attack. [ 2 ] 5b. Describe social engineering and give an example of when it might be used . [2 ] 5c. Describe interception . [2 ] 3.2b - Protocols & Layers Theory Topics 4.2 - Preventing Vulnerabilities

  • OCR CTech IT | Unit 1 | 2.5 & 4.2 - Communication Methods | CSNewbs

    Learn about the different methods of communication using physical and digital ways of transferring data. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.5 & 4.2: Communication Methods Exam Board: OCR Specification: 2016 - Unit 1 Sections 2.5 and 4.2 are very similar so both are mixed within this page. There are many ways that employees of a business can communicate between staff members or with their customers . Text-based Communication Letter ✓ It is a traditional method of communication that can be used for formal occasions such as job offers or resignations . ✓ It can be kept and stored for physical evidence - e.g. keeping an applicant's CV in case an opportunity arises in the future. X Requires postage costs to be sent in the mail (a first-class stamp is now £1.65 ). Overseas delivery is even more expensive . X Takes several days time to be received in the post and may be lost . X A letter can't include certain formats like video. Text Message (SMS) ✓ Can reach a large audience at once with one batch message . ✓ Good for short messages - e.g. appointment reminders or confirmation codes for two-factor authentication . ✓ Doesn't require an internet connection to receive messages. X Limited to short messages (160 characters ) with no multimedia . X Text messages can cost to send each message. SMS stands for Short Message Service . Email ✓ Easily send information to many people at once, instantly . ✓ Can include documents , multimedia attachments and links . ✓ Can send targeted emails to customers on a mailing list with new products or sales promotions . X Important messages may be lost in the spam folder. X Phishing scams can spread malware via email attachments. Instant Messaging ✓ Works in real-time - messages are sent and received instantly . ✓ Attachments and hyperlinks can be sent. ✓ Can be used by support staff to help customers in real-time. X Quick speed means it's less suitable for formal conversations like interviews. X Internet access issues will disrupt any conversations . Voice-based Communication Cellular ✓ Can hear how something is said , unlike text responses. ✓ Fastest method of communication - also allows reactive conversations that can quickly change based on previous responses. X Impacted by cellular reception - won't work in remote areas / underground. X Can't see the other person's body language, presentation or facial expressions. Teleconferences ✓ Allows for groups of people to communicate at once . ✓ Businesses can use teleconferencing to communicate between offices / individuals across the world . X The quality of the call may be affected by a group's poor reception . X Because a group is communicating, people may speak over each other , especially if there is a time delay . VoIP (Voice over Internet Protocol) ✓ Allows a user to make calls over the internet (e.g. using WhatsApp). ✓ Cheaper (can also be free) to make calls rather than using a cellular network . X Relies on a good-quality internet connection . X Can potentially be less secure than cellular connections. hi there Personal Assistants ✓ Speeds up processes by making appointments, checking information or connecting to smart devices. ✓ Voice-activated - can be used whilst otherwise busy , such as typing, cooking or driving. ✓ The language can be changed to suit people's preferences. X Huge privacy concerns as companies store audio data for voice recognition and track all commands made to the device. X There may be recognition issues as sometimes the assistant doesn't understand a command . Online Communication Video Conferences ✓ Users can connect to the call (e.g. using Zoom, Skype, or Google Meet) remotely , saving time and money instead of all travelling to one location. ✓ Can be used for interviews as it allows the applicant and the interviewers to see each other and look for body language . ✓ Users can share information visually , such as designs. X A high-bandwidth connection is required to send and receive video data reliably . X A poor internet connection (e.g. a weak WiFi signal ) will result in low-quality video that may stutter or drop out , making it hard to communicate clearly . Social Media ✓ Businesses can quickly share information with a large online audience , including new potential customers . ✓ Posts can be in d i fferent formats such as text, images, videos or links to other websites. ✓ Direct messages sent on social media may be seen and responded to faster than alternatives like using email if push notifications are enabled on a phone. ✓ Some social media sites like Facebook allow for private , invite-only groups to communicate with like-minded users in a secure way. X Businesses must be cautious about what they post so as not to accidentally offend others and damage their reputation . X Social media posts and customer comments must be carefully managed , so a social media manager should be hired. Blog / Vlog ✓ Share information with followers in text , images and video formats . ✓ Blogs and vlogs can unite people with similar interests , such as a cookery blog or travel vlog. ✓ Companies can use a blog to promote new products and provide details of upcoming events to try and attract new customers . X Takes a lot of effort and time to create posts, especially editing videos for vlogs. X Bad behaviour or language in vlogs can bring punishment. Several YouTubers have lost their reputations following videos they have posted. Q uesto's Q uestions 2.5 & 4.2 - Communication Methods: 1. Describe three advantages and three disadvantages for each type of communication method . You will need to think of or research some more than the examples listed on this page. a. Letter b. SMS (Text Message) c. Email d. Instant Message e. Cellular Call f. Teleconference g. VoIP Call h. Personal Assistant i. Video Conference j. Social Media k. Blog / Vlog [6 each ] 2. Explain what VoIP stands for and what it allows a user to do. [ 2 ] 3. Describe which communication method would be most appropriate for the following scenarios and why : a. Informing your boss you are going to resign. b. Communicating with management about raising your pay. c. Chatting to team members about when the Christmas party is. d. Sending promotions to thousands of customers. e. Interviewing a potential new employee who is in a different country. f. Talking with a group of investors about the company's latest data. [2 each ] 2.6 - Software Troubleshooting 2.4 Operating Systems 4.1 Communication Skills 4.3 - Personal Attributes Topic List

  • Python | 8c - Dictionaries | CSNewbs

    Learn how to create and use dictionaries in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 8C - Dictionaries Creating a Dictionary Dictionaries are used in Python to link items of data together . The example on this page uses a footballer dictionary which links a player with a team they played for. To define a dictionary, use curly brackets { } and separate linked data with a colon . A dictionary can be written on one line but the method below makes it easier to read: Printing Data from a Dictionary The first part of the linked data in a dictionary is called the key (e.g. each footballer in my example above). The second part of the linked data in a dictionary is called the value (e.g. each team). Example: key : value "Harry Kane" : "Tottenham Hotspur" A for loop can be used to cycle through each set of keys and values in the dictionary: Practice Task 1 a) Create a dictionary of your teachers and the subject they teach. b) Print their name and the subject they teach on each line. Example solution: Adding and Removing Data from a Dictionary Data can be added to a dictionary by stating the new key and value . You must use square brackets - [ ] The new data will be added to the end of the dictionary. You can print the whole dictionary to see any changes - e.g. print(playerdictionary) Data can be removed from a dictionary by stating the new key to remove in a pop command. You can print the whole dictionary to see any changes - e.g. print(playerdictionary) The whole dictionary can be cleared (reset to blank) using the clear command. Practice Task 2 a) Ask the user to enter a new teacher and their subject. b) Ask the user to remove a teacher. c) Print the list of teachers and check the new teacher has been added and the other one removed. Example solution: Searching Through a Dictionary An if statement can be used to check if a specific key is in a dictionary. If the key is in the dictionary then a message can be displayed using the key and the value . Otherwise, an else statement can output an appropriate response. To search for a value in a dictionary a for loop should be used to cycle through each key . If the value of each key matches the value that is being searched for then it will be printed. Practice Task 3 a) Create a search that allows a user to enter a teacher's name and prints the subject that they teach. b) Include an else statement to print a response if a teacher is not in the dictionary. Example solution: Changing Data & Copying a Dictionary The way to change values is similar to adding new data. The first input below is to determine the key and the second input determines the new value to be changed to. The copy command is used to make a duplicate of a dictionary . Practice Task 4 a) Create a copy of your teacher dictionary. b) Allow the user to enter a teacher and a new subject that they teach. c) Print the copy of the dictionary with the new values. Example solution: Using a Dictionary to Make a Game The code below is used to make a puzzle game where the user has to type in a footballer and the team they played for. I have added comments to explain the different parts of the code. A separate list has been created at the start to store the names of keys (players) that been correctly guessed . A while loop is used to constantly ask the user for players and teams. When they have guessed all 10 players (and the correct list reaches 10 ) the loop breaks and the game end. Instead of a further practice task here, Task 6 of the Section 8 Practice tasks page challenges you to make a similar game using a dictionary. ⬅ 8b - 2D Lists Section 8 Practice Tasks ➡

  • 4.5 - Character Sets & Data Types - GCSE (2020 Spec) | CSNewbs

    Learn about the main character sets - ASCII (American Standard Code for Information Interchange) and Unicode. Also, discover the five data types - character, string, integer, real and Boolean. Based on the 2020 Eduqas (WJEC) GCSE specification. 4.5: Character Sets & Data Types Exam Board: Eduqas Specification: 2020 What is a Character Set? A character set is a table that matches together a character and a binary value . Character sets are necessary as they allow computers to exchange data . Two common character sets are ASCII and Unicode . ASCII Unicode ( American Standard Code for Information Interchange ) 0100 0001 0100 0010 0100 0011 Uses Binary 128 Tiny Set of Characters Less Memory Required Per Character U+0042 U+0055 U+004E Uses Hexadecimal 36,536+ Large Set of Characters More Memory Required per Character What are the different data types? When programming, variables should be given appropriate data types . Character String Integer A single character , such as a letter, number or punctuation symbol. Examples: A sequence of characters , including letters, numbers and punctuation. Examples: A whole number . Examples: T 8 ? Harry Waters 14:50pm Ice Age 4 475 -8432 56732 Real Boolean Telephone numbers are always stored as a string , not an integer. True / False Yes / No 0 / 1 An answer that only has two possible values . Examples: A decimal number . Examples: 65.3 -321.1234 909.135 Be careful with punctuation. 32.10 is a real but £32.10 is a string. Q uesto's Q uestions 4.5 - Character Sets & Data Types: 1. What is a character set and why are they needed ? [ 2 ] 2. Describe 3 differences between ASCII and Unicode . [6 ] 3. State the 5 different data types . [ 5 ] 4. State which data type is most suitable for the following variables: a. Age [ 1 ] b. Surname [ 1 ] c. Height (in metres) [ 1 ] d. First Initial [ 1 ] e. Phone number [ 1 ] f. Right-Handed? [ 1 ] 4.4 Arithmetic Shift Theory Topics 4.6 - Graphical Representation

  • Greenfoot Tutorial | CSNewbs

    A tutorial to understand how to create a game in Greenfoot. A simple step-by-step guide and walkthrough featuring all code needed for the Eduqas GCSE 2016 specification. A Tutorial to Creating a Greenfoot Game Greenfoot Home Greenfoot is software that uses the programming language Java to make simple games. This is called object-oriented programming (OOP ) because objects are coded to interact in a visual environment. Work your way through the following tutorial to create a game similar to one required in the WJEC 2017 specification Component 2 exam . Topic Links: Starting from Scratch & Populating the World Move with Arrow Keys Move Randomly & Bounce on Edge Remove Objects Play Sounds The Counter Extension Ideas Pupils using the 2017 WJEC specification will use Greenfoot version 2.4.2 , despite the fact that Greenfoot is now on version 3.9.0 . See the download page . This tutorial will work on all versions . Watch on YouTube:

  • Algorithms | CSNewbs

    Learn how pseudocode and flowcharts are written as part of algorithms. This content is based on the 2016 Eduqas / WJEC GCSE Computer Science specification. Algorithms Pseudocode Pseudocode Pseudocode is not a specific programming language but a more general method of describing instructions . It should be unambiguous, and it should not resemble any particular kind of programming language (e.g. Python or Java), so it can theoretically be turned into real code in any language. Generally, pseudocode can be written in any way that is readable and clearly shows its purpose. However, the Eduqas exam board advises that pseudocode for the programming exam should follow the conventions below : Annotation { Write your comment in curly brackets} Define data type price is integer firstname is string Declare a variable's value set price = 100 set firstname = "Marcella" Input / output output "Please enter your first name" input firstname Selection (must have indentation) if firstname = "Steven" then output "Hello" + firstname elif firstname = "Steve" then output "Please use full name" else output "Who are you?" end if Iteration (while loop) while firstname ! = "Steven" output "Guess my name." input firstname repeat Iteration (for loop) for i in range 10 input item next i Define a subroutine Declare Sub1 [Subroutine content indented] End Sub1 Call a subroutine call Sub1 Flowcharts flowchart A flowchart can be used to visually represent an algorithm. The flowchart symbols are: Algorithm Example example Pseudocode {This is a program to see how many items you can buy in a supermarket before you spend over £100} total is integer, itemsentered is integer, itemprice is integer set total = 0 set itemsentered = 0 while total < 100 output "enter the price of the next item" input itemprice total = total + itemprice itemsentered = itemsentered + 1 repeat if itemsentered >= 20 then output "You are on your way to saving money." elif itemsentered => 30 then output "You're a real money saver." else output "Look for better deals next time." end if Stop Flowchart

  • 3.2 - Project Planning Tools | F160 | Cambridge Advanced National in Computing AAQ

    Learn about project planning tools such as the Arrow diagram, Critical Path Analysis (CPA)/Critical Path Method (CPM), Flowcharts, Gantt charts, PERT charts and SWOT (Strengths / Weaknesses / Opportunities / Threats) analysis. 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) 3.2 - Project Planning Tools Watch on YouTube : Project planning tools Arrow diagram Critical path analysis Flowcharts Gantt charts PERT charts SWOT analysis Project Planning Tools Project planning tools help to visualise the project by clearly showing tasks , timelines and dependencies . They also break down complex work into smaller , manageable steps and can be used to track progress and identify delays . Each tool suits different project needs and has its own advantages and disadvantages . Choosing the right tool makes planning more accurate , efficient and successful . Arrow Diagram The arrow diagram method is a project planning tool that represents tasks as arrows connected in sequence to show their order and dependencies . It helps identify the critical path . This is the longest sequence of dependent tasks that determines the project’s minimum completion time . This method is useful for visualising task relationships , spotting bottlenecks and showing the order of activities . Critical Path Analysis Critical path analysis ( CPA ), also known as the critical path method ( CPM ), is a project planning tool used to identify the critical path . This is the sequence of tasks that determines the shortest possible project duration . It highlights tasks that cannot be delayed without affecting the overall timeline . Critical path analysis helps prioritise resources , manage dependencies and minimise project delays . Flowcharts A flowchart is a diagram that represents a process or workflow using standard symbols and arrows to show the sequence of steps . It helps visualise decision points and actions and clearly highlights the flow of information or tasks . Flowcharts make complex processes easier to understand , communicate ideas to clients and troubleshoot potential problems . Gantt Charts A Gantt chart is a visual project management tool that displays tasks along a timeline , showing their start and end dates . It helps track task dependencies , overlaps and progress at a glance . Gantt charts are useful for coordinating work , meeting deadlines and ensuring all project stages are completed in order . PERT Charts A PERT ( program evaluation and review technique ) chart is a project planning tool that maps tasks , their dependencies and timelines in a network diagram . It uses three time estimates ( optimistic , most likely and pessimistic ) to calculate expected completion times for each task . PERT charts are especially useful for scheduling complex projects and identifying the critical path to meet deadlines . SWOT Analysis SWOT analysis is a strategic planning tool used to identify a project’s strengths , weaknesses , opportunities and threats . Strengths and weaknesses focus on internal factors ( controllable by the organisation ), while opportunities and threats look at external influences ( outside of the organisation's control ). It helps guide decision-making by highlighting advantages , weaknesses to address and potential risks or openings in the wider environment . Q uesto's Q uestions 3.2 - Project Planning Tools: 1. Define the term 'critical path ' and explain why it is calculated . [3 ] 2. Explain the S , W , O and T in SWOT analysis (not just what they stand for). [4 ] 3. Choose three project planning tools and describe the advantages and disadvantages of each . [ 12 ] Henry Gantt , an American engineer , created the Gantt chart in the 1910s . It has been used as a planning tool in many major projects , including building the Hoover Dam . D id Y ou K now? 3.1 - Planning Projects Topic List 4.1 - Gathering Client Requirements

  • 10.2 - Stages of Compilation - Eduqas (2020 Spec) | CSNewbs

    Learn about the six stages of compilation - lexical analysis, symbol table construction, syntax analysis, semantic analysis, code generation and code optimisation. Based on the 2020 Eduqas (WJEC) GCSE specification. 10.2: Stages of Compilation Exam Board: Eduqas Specification: 2020 A compiler translates source code (high-level language written by a programmer) into machine code in five separate stages : 1. Lexical Analysis The term 'lexical' refers to words and phrases . Source code needs to be broken down into tokens that can later be analysed. In lexical analysis: Spaces and comments are removed from the code. Identifiers , keywords and operators are replaced by tokens . A token is similar to a variable with a name and a value . A symbol table is created. T his table stores the addresses of all variables , labels and subroutines used in the program. 2. Syntax Analysis The term 'syntax' refers to sentence structure . In syntax analysis: The tokens created in the first stage are checked to see if they follow the syntax (spelling and grammar ) rules of the programming language. This process is called ' parsing ' . During parsing, if a syntax error is found then an error message is displayed and compilation stops . 3. Semantic Analysis The term 'semantic' refers to logic . Variables are checked in this stage to ensure they are used correctly: Variable checks ensure they are correctly declared and use a valid data type (for example integers are not assigned to decimal values). Operation checks ensure they are correct for the data type used ( for example dividing a number must result in an real value ). 4. Code Generation The machine code (data in a binary format ) is generated . 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0101 0110 5. Code Optimisation The code is optimised so it is fast , efficient and uses as little of the computer's resources as possible. Q uesto's Q uestions 10.2 - Stages of Compilation: 1 a. List the 6 stages of compilation in order . [6 ] 1b. Create a poster or flowchart describing each of the 6 stages of compilation : 1. Lexical Analysis 2. Symbol Table Creation 3. Syntax Analysis 4. Semantic Analysis 5. Code Generation 6. Code Optimisation [ 10 total ] 10.1 - Translators Theory Topics 10.3 - Programming Errors

  • 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) ➡

© CSNewbs 2026

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