top of page

Search CSNewbs

304 results found with an empty search

  • 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

  • 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 P ros Official 2025 CSPros: Walter Thomas Zach Pippa Marcus Ryan Jess Asher Zac Leighton Folu Holly James Jack Harry Aarav Trisha Mario Hiba Rory Clark Lucy Divya Luke Callum James Zoya Timucin Matthew 2024 CSPros: 2023 CSPros: Henry Zain Iman Alex I-C Alex B Tomos Aidan Rahul Hussain Diyar Sam Harry Will Alex H 2022 CSPros: Logan Eleanor Mark Edward Alfie Henry Enzo Sam George Harry Ella Kav

  • All Programming Topics | CSNewbs

    A list of programming topics including HTML, Greenfoot, Python. All Programming Topics Python HTML Greenfoot Assembly Language App Inventor 2

  • 6.2 - Risks | Unit 2 | OCR Cambridge Technicals | CSNewbs

    Learn about the risks of storing and processing data, including accidental deletion and hacking. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 6.2 - Risks Exam Board: OCR Specification: 2016 - Unit 2 Unauthorised Access to Data As part of the security principle of confidentiality , data should only be viewed by individuals with the authorisation to do so. There are two main reasons why data may be viewed by someone who shouldn't - espionage and poor information management . Espionage is the act of collecting data so that it can be used against an organisation - such as a competitor acquiring information about their rival's product before it is launched publicly. If a company has poor information management strategies in place and data is insecurely stored or too many people have access to sensitive information then it is more likely to be viewed by unauthorised persons. Not only would competitors benefit from unauthorised access, but the Data Protection Act (2018 ) would also be broken if personal data was accessed . Accidental Loss of Data Data loss refers to information being irretrievably lost - not just a copy of the file but the original version too so it cannot be accessed in any format . One reason for accidental data loss is equipment failure or a technical error that leads to data corruption , such as a database crash or hard drive failure. Human error is another reason for accidental data loss as an employee might accidentally delete a file or discard an important paper document without realising. If data is accidentally lost then it could mean that hours of data entry and collection will have been for nothing and might delay dependent processes such as analysis and trend recognition. Also, if it was personal data that was lost then the security principle of availability has been broken and the Data Protection Act ( 2018 ) has been breached . Intentional Destruction of Data This is the act of purposely damaging an organisation by deleting or denying access to data . Examples include viruses that corrupt data so that it can no longer be used and targeted malicious attacks such as DDOS (distributed denial of service) attacks or ransomware . Ransomware encrypts files so that they can only be accessed again when certain criteria have been met, usually the affected group having to pay an extortionate fee . When data is intentionally deleted the organisation in question can respond by replacing the data and any infected computer systems / devices or by ignoring the loss and not making the breach public - but having to re-collect / re-analyse the data. Data destruction will usually lead to a loss of reputation as customers won't want to have their information stored in a system they see as unreliable and insufficiently protected . This loss of reputation could lead to customer loss and a decrease in profits . If the loss is ignored and unreported then it could result in a huge loss of trust when it is eventually revealed - like Yahoo who only confirmed a massive data breach that happened in 2013, two years later in 2016. This breach affected all 3,000,000,000 Yahoo accounts and is the largest data breach in the history of the internet. Intentional Tampering with Data This is when data is changed and no longer accurate . This could occur through fraudulent activity such as hacking to change information displayed on a webpage. An example is if a student or a teacher changed exam answers for a better grade. A business example is if a company tampered with financial data to display larger profits and smaller losses than real figures, to boost investment or please stakeholders. If data tampering is found out then it can result in a loss of reputation as that organisation cannot be trusted to report data accurately . If personal data has been altered then the security principle of integrity will have been broken as the data is no longer accurate . Data security methods and protection systems will also need to be reviewed if data has been tampered with, especially if it was an external individual that accessed and changed the data. Employees that tamper with data will be fired and may face legal action . Q uesto's Q uestions 6.2 - Risks: 1. Describe two effects on an organisation for each of the four identified risks . [8 ] 2. Research at least one real-life example for each risk above and describe the consequences of that example, such as the Yahoo data breach. [12 ] 6.1 - Security Principles Topic List 6.3 - Impacts

  • 1.2 - Devices | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about the devices used to host applications, including consoles, desktops, haptics, laptops, servers, smart devices, tablets / hybrid devices and wearables. 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 1.2 - Devices Watch on YouTube : Devices You need to know the characteristics of the eight types of devices shown below that application platforms run on . You must also understand the advantages and disadvantages of each device . YouTube video uploading soon What You Need to Know Devices Game consoles are designed specifically for playing video games , usually connected to a TV . Desktops are powerful and customisable personal computers designed for use at a desk . Haptic devices allow users to feel vibrations with touch . Game controllers and smartphones use haptics. Laptops are portable computers with a built-in screen and keyboard , suitable for work on the go . Servers are powerful computers on a network that process requests sent by other systems. Smart devices connect to a network allowing it to communicate with other devices and be controlled remotely . Tablets use a large touchscreen and are more portable than a laptop , ideal for browsing and media . A hybrid device is a laptop with a detachable screen . Wearable devices such as a smartwatch are worn on the body and often monitor the user's condition in real-time . Q uesto's Q uestions 1.2 - Devices: 1. What? [2 ] 2. What? [1 ] 3. What? [1 ] 4. What? [1 ] Check out the Shorts on the CSNewbs YouTube channel if you are interested in how video game consoles have evolved over time . There are separate videos for PlayStation , Xbox and Nintendo consoles. D id Y ou K now? 1.1 - Application Platforms Topic List 1.3 - Storage Locations

  • 1.1 - Computational Thinking | OCR A-Level | CSNewbs

    Learn about the different parts of computational thinking including thinking abstractly, ahead, procedurally, logically and concurrently. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 1.1 - Computational Thinking Watch on YouTube : Thinking Abstractly Thinking Ahead Thinking Procedurally Thinking Logically Thinking Concurrently Computational thinking is the process of approaching and solving problems in a logical , systematic way (like a computer would ) using techniques such as abstraction , decomposition , pattern recognition and algorithmic thinking . There are five categories of computational thinking you need to know. Thinking Abstractly Abstraction is the process of removing unnecessary detail so that a problem can be represented more simply . It helps programmers focus on the essential features of a task, reducing complexity and making solutions easier to design , understand and maintain . When programming , abstraction can be applied by simplifying real-world systems into models that contain only the information needed for solving the problem . Because abstractions leave out certain details , they always differ from reality , and it is important to understand which elements have been included , which have been excluded and why . YouTube video uploading soon Thinking Ahead Programs often make use of inputs and outputs to receive data from the user or another system and then return results or feedback. Many programs rely on preconditions - rules or requirements that must be met before a function or procedure runs correctly - to prevent errors and ensure reliable behaviour . Caching is a technique where previously calculated or frequently accessed data is stored temporarily so it can be retrieved more quickly . This improves performance but can use extra memory and risks becoming outdated if the cached data no longer matches the current state . Reusable program components , such as functions , procedures and modules , are important because they reduce duplication , make programs easier to maintain , and allow well-tested code to be used across multiple solutions . YouTube video uploading soon Thinking Procedurally Pseudocode , program code and flowcharts are ways of representing a sequence of steps in an algorithm , showing clearly the order in which instructions should be carried out . Sub-procedures (such as functions and procedures ) are used in programs to break complex tasks into smaller , reusable parts , making the code easier to understand , test , maintain and debug . A structure diagram is a visual representation that shows how a program is broken down into its main components and sub-components , helping programmers plan the overall design and understand how different parts of the program fit together . YouTube video uploading soon Thinking Logically Decisions are needed in computer programs so that the software can choose different actions based on the data it receives or the situation it is in , rather than always following the same sequence of instructions. These decisions are controlled by logical conditions - statements that evaluate to true or false - which determine which path the program will take; for example, if score > 100 might trigger a bonus feature only when the condition is true . Because decisions allow the program to branch , they directly affect the flow of execution , enabling different outcomes , repeated actions or alternative processes depending on the conditions met . YouTube video uploading soon Thinking Concurrently Concurrency means designing a program so that multiple tasks can be processed at the same time , rather than strictly one after another. Programmers need to identify which parts of a program can safely run concurrently - for example, independent calculations or background tasks - and which parts must wait for others to finish because they rely on shared data or sequential results . Concurrent processing can bring benefits such as faster performance , better use of multicore processors and improved responsiveness , but it also introduces drawbacks, including increased complexity and the need for careful coordination to avoid errors when tasks depend on one another . YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Computational Thinking: abstraction, thinking abstractly, thinking ahead, precondition, caching, reusable components, thinking procedurally, thinking logically, concurrency, thinking concurrently D id Y ou K now? Building a Lego set is a great example of both abstraction and decompostition . For example, the Eiffel Tower Lego set is an abstracted version of it is real-life counterpart condensed into 10,001 pieces . There are over 75 numbered bags inside the box to follow instructions step-by-step to construct the 4'11" model . A-Level Topics 2.1 - Programming Techniques

  • 4.3 - Green IT | Unit 2 | OCR Cambridge Technicals | CSNewbs

    Learn about the purpose of Green IT, the benefits for an organisation following its practice and methods of use. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 4.3 - Green IT Exam Board: OCR Specification: 2016 - Unit 2 What is 'Green IT'? ‘Green IT ’ is to use computers and IT resources in an efficient and environmentally responsible way to reduce an organisation’s carbon footprint . To 'reduce carbon footprint ' means to decrease the amount of pollution (such as CO2 ) produced by an organisation and to engage in more eco-friendly practice. Examples of Green IT Practice Global Requirements of Green IT United Nations Climate Change conferences occur every year and are attended by leaders of each country in the United Nations. The conferences establish obligations for countries to work towards reducing their carbon footprints and emissions of greenhouse gases . Whilst Green IT is not specifically mentioned in these talks, IT is a hugely important sector with large annual emissions that need to be reduced to meet the climate change limitations, such as the Paris Agreement. In the UK, the Greening Government ICT Strategy (running between 2011 and 2015) was an annual report that investigated how IT use could become 'greener' within the government . Positive consequences of this strategy included: Using more cloud storage technology , enabling fewer individual storage devices to be purchased, reducing emissions . Using social media more widely to contact voters - saving money by posting fewer letters and leaflets. Increasing the use of teleconferencing and video calls - reducing the need for unnecessary travel to meetings and avoiding the generation of heavy pollution. Q uesto's Q uestions 4.3 - Green IT: 1. What is meant by the term 'Green IT '. [3 ] 2a. Explain four ways that an organisation can follow good green IT practice . [4 ] 2b. Describe two reasons why it is beneficial to a company of following Green IT . [4 ] 3a. Why are the United Nations Climate Change conferences important ? [2 ] 3b. Describe two ways that the UK government have used Green IT . [4 ] Turn off computers , monitors and other connected devices when not in use . Adjust power options to help minimise power consumption. Use cloud storage or virtualisation to reduce the number of physical devices being bought, powered and maintained. Repair older devices rather than throwing them away. Consider if it is necessary to print a document before doing so and print only what is required . Recycle ink cartridges and paper . Donate older equipment to charities or schools for reuse . Why use Green IT? It is in an organisation's best interests to use Green IT practices for the following reasons: To become more sustainable by reducing the company's carbon footprint and positively impacting the environment . Reducing energy costs (e.g. by turning equipment off when not in use) and saving money . Improving the public image of the organisation as people are increasingly environmentally conscious and will prefer to do business with a company that follows environmentally-friendly policies. 4.2 - Global Legislation Topic List 5.1 - Data Types & Sources

  • Python | Extended Task 6 | 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 6 'Guess the Word' Game Create a Python program similar to the hit New York Times puzzle game Wordle . Allow the user to make guesses to match the randomly chosen hidden word , stopping when they get it correct. You can download a list of 5-letter words on this page. You will need to read in each line of the list and randomly select one - don’t forget to import the random library . Check if each letter of the user’s inputted word is in the randomly selected word . If you are using an IDE like Replit you can use the colorama library and the Fore command to turn the text: Green if the letter is in the correct position . Red if the letter is not in the selected word . Yellow if the letter is in the selected word but not in the correct position . Add your own flair and additional features to your program as an extension, including limiting the number of guesses and recording how many attempts it took to get the correct answer. Download a file of 534 5-letter words: 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 a while loop to repeatedly allows the user to enter words until they match the correct word. Section 10 will help you to open, write and r ead from files . Download the file of 5-letter words from the link above. You will need to randomly select a word from the file. The choice command will help. Selection will be necessary to check if each letter in the inputted word matches the letter in the same position in the correct word. String handling is needed to select specific letters in a string. You will need to use .rstrip() on the selected line (word) that you have randomly chosen from the file. This removes any hidden characters that may interfere with checking if it is equal to the inputted word. 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: The word the user enters should be checked , letter by letter , against the letters in the same position in the randomly chosen correct word . Remember that the first letter in a word has the position 0 , not 1. Below is an example of some incomplete code you may wish to use in your solution. ⬅ Extended Task 5 (Colour Collection) Extended Task 7 (Number Game) ➡

  • Python | 8a - Using Lists | CSNewbs

    Learn how to create and use lists in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 8a - Using Lists Lists A list is a temporary data structure . Any changes made to the list while the program is running will not be saved the next time it is run . Data can be added to and removed from lists so they can change in size (unlike an array which is fixed and not used in Python). It is important to note that each data element in a list has an index so that it can be specifically referenced (to delete it for example) and that indexes start at 0 . A list of the rainbow colours in order would start at 0 like this: Creating & Printing Lists Lists use square brackets in Python. Separate list items with commas . Strings must use speech marks and integers do not use speech marks. people = [ "Alan" , "Jesse" , "Max" , "Jack" ] years = [ 2010, 2019, 2001, 2016 ] There are many different ways to print items from a list depending on how you want it to look . Print all items on one line Type the list name into a print command to output the complete list . Typing an asterisk * before the list name removes punctuation . cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] print (cities) cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] print (*cities) ['Shanghai', 'Sao Paolo', 'Bishkek', 'Asmara'] Shanghai Sao Paolo Bishkek Asmara Print each item on a separate line To print a list line-by-line use a for loop to cycle through each item. 'city ' is just a variable name and can be replaced with the traditional 'i ' or anything relevant to the context, such as 'colour ' in a list of colours or 'name ' in a list of people. cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] for city in cities: print (city) Shanghai Sao Paolo Bishkek Asmara Print separated items on one line To print separated data elements on the same line then you can use the end command which defines what should go after each item . The example below uses slashes but end = " , " would add comma and space between each element. cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] for city in cities: print (city, end = " / " ) Shanghai / Sao Paolo / Bishkek / Asmara / Print specific list items To print an element with a certain index , put the index in square brackets . But remember that the index starts at 0 not 1. cities = [ "Shanghai" , "Sao Paolo" , "Bishkek" , "Asmara" ] print ( "The first city is" , cities[0]) print (cities[2], "is the third city" ) The first city is Shanghai Bishkek is the third city Create a list of five different of foods . Print all list items on one line . Then print each item on a different line . Finally print just the first and fifth items . Example solution: lettuce yoghurt tomato artichoke tuna lettuce yoghurt tomato artichoke tuna The first item is lettuce The fifth item is tuna Lists Task 1 (Five Foods ) Lists Task 2 (Four Numbers ) Create a list of four integer values . Print all list items on one line separated by colons . Example solutions: 345:123:932:758: 812:153:783:603: Add (Append / Insert) to a List Append items to the end of a list To add a new item to the end of a list use the .append() command. Write .append() after the name of your list, with the new data in brackets . pets = [ "dog" , "cat" , "hamster" ] pets.append( "rabbit" ) print (*pets) fillings = [ "ham" , "cheese" , "onion" ] extra = input ( "Enter another filling: " ) fillings.append(extra) print ( "Your sandwich:" , *fillings) dog cat hamster rabbit Enter another filling: lettuce Your sandwich: ham cheese onion lettuce Insert items to a specific index Use the insert command to place an item in a specific position within the list. Remember that Python counts from 0 so the medals example below puts "silver" as index 2 , which is actually the 3rd item . medals = [ "platinum" , "gold" , "bronze" ] medals.insert(2, "silver" ) print (*medals) names = [ "Stacy" , "Charli" , "Jasper" , "Tom" ] name = input ( "Enter a name: " ) position = int ( input ( "Enter an index: " )) names.insert(position,name) print (*names) platinum gold silver bronze Enter a name: Lena Enter an index: 0 Lena Stacy Charli Jasper Tom Enter a name: Pat Enter an index: 3 Stacy Charli Jasper Pat Tom Use a loop to add items to a list A for loop can be used to add a certain number of items to a list. A while loop can be used to keep adding values until a certain value (e.g. ' stop ' or ' end ') is input. animals = [ ] for i in range (4): animal = input ( "Enter an animal: " ) animals.append(animal) print ( "\nAnimals:" , *animals) animals = [ ] while True : animal = input ( "Enter an animal: " ) if animal == "stop" : break else : animals.append(animal) print ( "\nAnimals:" , *animals) Enter an animal: lion Enter an animal: horse Enter an animal: hyena Enter an animal: squirrel Animals: lion horse hyena squirrel Enter an animal: rhino Enter an animal: gazelle Enter an animal: deer Enter an animal: stop Animals: rhino gazelle deer Example solution: Lists Task 3 (Favourite Musicicans ) Create a list of three musicians or bands you like . Print the list . Then append two new bands using two inputs . Print the list again. Use the sandwich filling example for help. Musicians I like: Lana Del Rey Devon Cole Elly Duhé Enter another musician: Charli XCX Enter another musician: Kenya Grace Musicians I like: Lana Del Rey Devon Cole Elly Duhé Charli XCX Kenya Grace Lists Task 4 (Missing 7 ) Create a list of numbers in order from 1 to 10 but miss out 7 . Use the insert command to add 7 in the correct place . Print the list before and after you insert 7. Example solution: 1 2 3 4 5 6 8 9 10 1 2 3 4 5 6 7 8 9 10 Lists Task 5 ('Land' Countries ) Use a while True loop to input countries that end in 'land' until the word 'finish ' is input . Print the list at the end. Note: You do not need to check if the countries entered are correct. There are also more than four. Example solution: Enter a country ending in 'land': Iceland Enter a country ending in 'land': Poland Enter a country ending in 'land': Switzerland Enter a country ending in 'land': Thailand Enter a country ending in 'land': finish Country list: Iceland Poland Switzerland Thailand Delete (Remove/Pop) from a List Delete items with a specific value To delete data with a certain value use the .remove() command, with the value in brackets . trees = [ "fir" , "elm" , "oak" , "yew" ] trees.remove( "elm" ) print (*trees) fir oak yew trees = [ "fir" , "elm" , "oak" , "yew" ] tree = input ( "Select a tree to remove: " ) trees.remove(tree) print (*trees) Select a tree to remove: oak fir elm yew Delete items with a specific index To delete data in a specific position in your list use the .pop() command, with the position in the brackets . Remember that indexes start at 0 so .pop(0) removes the first item . Negative values start from the end of the list , so -1 is the final item and -2 is the second last item and so on. kitchen = [ "plate" , "cup" , "spoon" , "jug" ] kitchen.pop(0) print (*kitchen) kitchen = [ "plate" , "cup" , "spoon" , "jug" ] kitchen.pop(-2) print (*kitchen) kitchen = [ "plate" , "cup" , "spoon" , "jug" ] index = int ( input ( "Select an index: " )) kitchen.pop(index) print (*kitchen) cup spoon jug plate cup jug Select an index: 1 plate spoon jug Delete all items in a list To delete data in a list use the .clear() command. insects = [ "ant" , "bee" , "wasp" ] insects.clear() insects.append( "hornet" ) print (*insects) hornet Lists Task 6 (Day Off ) Example solution: Create a list with the five week days . Ask the user to input a weekday and remove that day from the list. Print the list. Which day do you want off? Tuesday Your new days of work: Monday Wednesday Thursday Friday Lists Task 7 (May and October ) Create a list with the twelve months in order . Delete May and then October using the pop command by referring to their indexes in the list. Print the list. Note: Be aware the index of each month after May will change when May is popped from the list. Example solution: January February March April June July August September November December Finding the Length of a List To find the length of a list use the len function. You can create a separate variable for the length (shown in the first example below) or use the len command directly (second example). states = [ "Maine" , "Utah" , "Ohio" , "Iowa" ] length = len (states) print ( "There are" , length , "states in the list." ) states = [ "Maine" , "Utah" , "Ohio" , "Iowa" ] print ( "There are" , len (states), "states in the list." ) There are 4 states in the list. Lists Task 8 (Q Words ) Use a while True loop to input words beginning with q until the word ' stop ' is entered. Then use len to find the length of the list and print this value. Note: You do not need to check if the entered words actually start with q. Example solution: Input a Q word: question Input a Q word: quick Input a Q word: quiet Input a Q word: quandry Input a Q word: stop You wrote 4 Q words! Cycle Through List Items A for loop can be used to cycle through each item in a list. The following examples present some ways that this may be used. This program uses a for loop to add a word (David) before each list item. davids = [ "Beckham" , "Attenborough" , "Schwimmer" , "Tennant" , "Lynch" ] for i in range (5): print ( "David" , davids[i]) David Beckham David Attenborough David Schwimmer David Tennant David Lynch An if statement can be used within a for loop to check the value of each item . The example below checks how many items are 'medium'. sizes = [ "small" , "medium" , "small" , "large" , "medium" , "small" ] count = 0 for i in range (6): if sizes[i] == "medium" : count = count + 1 print ( "There were" ,count, "medium choices." ) There were 2 medium choices. The program below uses a while loop to allow entries until 'stop ' is input then a for loop to check the value of each item . Because the final length of the list is not known when the program starts, the len command is used in the range of the for loop . sports = [] fcount = 0 rcount = 0 while True : option = input ( "Choose football or rugby: " ) sports.append(option) if option == "stop" : break for i in range ( len (sports)): if sports[i] == "football" : fcount = fcount + 1 elif sports[i] == "rugby" : rcount = rcount + 1 print ( "\nResults:" ,fcount, "people chose football and" ,rcount, "chose rugby." ) Choose football or rugby: rugby Choose football or rugby: rugby Choose football or rugby: football Choose football or rugby: rugby Choose football or rugby: football Choose football or rugby: stop Results: 2 people chose football and 3 chose rugby. Lists Task 9 (Over 25 ) Create a list with the following eight numbers: 13, 90, 23, 43, 55, 21, 78, 33 Use a for loop to cycle through the list and check if each item is over 25 . Use a count variable to increase by 1 if the number is over 25. At the end print how many numbers are over 25 - there are five . Example solution: 5 numbers are over 25. Lists Task 10 (Favourite Lesson ) Use a while True loop to keep inputting school subjects until ' done ' is entered. Keep a count of how many times ' Maths ' is entered. Print the total number of people who entered maths. Example solution: Enter a subject: English Enter a subject: Maths Enter a subject: Art Enter a subject: Maths Enter a subject: History Enter a subject: done There were 2 people who chose maths. Sorting Lists The .sort() command will sort elements in a list into alphabetical order (if a string ) or numerical order (if a number ). names = [ "Robb" , "Jon" , "Sansa" , "Arya" , "Bran" , "Rickon" ] print ( "Original:" , *names) names.sort() print ( "Sorted:" , *names) Original: Robb Jon Sansa Arya Bran Rickon Sorted: Arya Bran Jon Rickon Robb Sansa numbers = [56,98,23,12,45] numbers.sort() print (*numbers) 12 23 45 56 98 The .sort() command can be used to sort values in descending order by including reverse = True in the brackets. names = [ "Robb" , "Jon" , "Sansa" , "Arya" , "Bran" , "Rickon" ] print ( "Original:" , *names) names.sort(reverse = True ) print ( "Sorted:" , *names) Original: Robb Jon Sansa Arya Bran Rickon Sorted: Sansa Robb Rickon Jon Bran Arya numbers = [56,98,23,12,45] numbers.sort(reverse = True ) print (*numbers) 98 56 45 23 12 Lists Task 11 (Sorted Fruit ) Example solution: Use a for loop to append six fruits to an empty list. Sort the list into alphabetical order and print it. Enter a fruit: strawberry Enter a fruit: kiwi Enter a fruit: lemon Enter a fruit: pear Enter a fruit: orange Enter a fruit: mango Sorted fruit: kiwi lemon mango orange pear strawberry Searching Through Lists A simple if statement can be used to see if a certain value appears within a list. names = [ "Alex" , "Bill" , "Charlie" , "Darla" ] name = input ( "Enter a name: " ) if name in names: print ( "Yes," , name , "is in the list." ) else : print ( "Sorry," , name , "is not in the list." ) Enter a name: Bill Yes, Bill is in the list. Enter a name: Sadie Sorry, Sadie is not in the list. Lists Task 12 (Packed Suitcase ) Example solutions: Create a list with five items to take on holiday. Ask the user to input an item and use an if statement to check if it is or isn't in the list. What should I pack? sun cream I've already packed sun cream What should I pack? toothpaste Whoops! I forgot to pack toothpaste Calculating the Sum of a List To calculate the sum of a list of numbers there are two methods. Using Python's built-in sum function : numbers = [1,4,2,3,4,5] print ( sum (numbers)) Both methods will result in the same output : 19 Using a for loop to cycle through each number in the list and add it to a total . numbers = [1,4,2,3,4,5] total = 0 for number in numbers: total = total + number print (total) Lists Task 13 (Sum and Average ) Example solution: Use a for loop to ask the user to input 5 numbers and append each to a list. Use the sum command to output the total and use it calculate the average . Enter a number: 6 Enter a number : 7 Enter a number : 6 Enter a number : 9 Enter a number : 4 The total is 32 The average is 6.4 Extending a List .extend() can be used in a similar way to .append() that adds iterable items to the end of a list . This commands works well with the choice command (imported from the random library ) to create a list of characters that can be randomly selected. The code below adds a lowercase alphabet to an empty list and then, depending on the choice of the user, adds an uppercase alphabet too. The choice command is used in a loop to randomly select 5 characters. Using .extend() to make a random 5-character code from random import choice list = [] list. extend ( "abcdefghijklmnopqrstuvwxyz" ) upper = input ( "Include uppercase letters? " ) if upper == "yes" : list. extend ( "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ) code = "" for number in range (5): letter = choice (list) code = code + letter print ( "Your five character code is" , code) Possible outputs: Include uppercase letters? yes Your five character code is yPfRe Include uppercase letters? yes Your five character code is GJuQw = Include uppercase letters? no Your five character code is gberv Extend treats each character as an indidual item whereas append adds the whole string as a single entity . Most of time append would be used, but extend is suitable for a password program as additional individual characters can be added to a list depending on the parameters (e.g. lowercase letters, uppercase letters, numbers and special characters). list = [] list. extend ( "ABCD" ) list. extend ("EFGH" ) print (list) list = [] list. append ( "ABCD" ) list. append ("EFGH" ) print (list) ['A','B','C','D','E','F','G','H'] ['ABCD' , 'EFGH'] = = Practice Task 14 Use the code above (for a 5-character code ) to help you make a password generator . Ask the user if they want uppercase letters , numbers and special characters and use the extend command to add them to a list of characters if they type yes (you should extend lowercase characters into an empty list regardless, like in the code above). Use a for loop and the choice command (imported from the random library) to randomly generate a 10-character password . Example solutions: Include uppercase letters? yes Include numbers? yes Include special characters? yes Your new password is RjWSbT&gW5 Include uppercase letters? no Include numbers? yes Include special characters? no Your new password is hdf8se9y2w ⬅ Section 7 Practice Tasks 8b - 2D Lists ➡

  • OCR CTech IT | Unit 1 | 2.2 - Applications Software | CSNewbs

    Learn about the different types of applications software including productivity programs, business tools and IDEs. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.2: Applications Software Exam Board: OCR Specification: 2016 - Unit 1 What is applications software? Don't confuse applications software and apps . Apps generally have a single purpose , such as a game like Angry Birds or the torch tool on a phone. Applications software can be used for a number of different functions depending on the user's needs and their purpose. Productivity Software This is general use software for completing a range of tasks accurately and efficiently . Key examples include word processors (e.g. Microsoft Word or Google Docs), presentation software (e.g. Microsoft PowerPoint or Google Slides) and web browsers (e.g. Microsoft Edge or Google Chrome). Email applications (e.g. Microsoft Outlook or Gmail) are beneficial to organisations because staff can send information to many customers at once which is a simpler and less costly method of communication than something like sending letters or leaflets in the mail. Emails can also include attachments of important documents and include multimedia elements like images and videos to make communication more interesting . Databases and Spreadsheets Database tables and spreadsheets can store both numerical and textual data ready for analysis . Examples include simple database tables and financial spreadsheets of a company's profits each year. Microsoft Access is an example of database software that uses tables of records and Microsoft Excel is an example of spreadsheet software . Data can be sorted numerically or alphabetically for both software types but graphs can be created from spreadsheets to visualise data . When using spreadsheets (or databases) records can be locked ('record locking' ) so that only one person can make edits to a specific record at any one time. Edits will be saved before unlocking the file. This will stop data being incorrectly overwritten and will ensure that the data in the spreadsheet is up-to-date, accurate and fit for purpose. Development Tools These are tools for programmers who are creating or modifying software . An integrated development environment ( IDE ) is software used to create , edit and debug (fix) programs . An IDE features a number of tools , including: A source code editor to type program code into. It may contain features such as error highlighting and automatic formatting . Because IDEs use high-level languages like Python or Java , a translator is required to convert the source code into machine code ( binary ) so that it can be understood and processed by the CPU . A compiler is a type of translator that converts instructions into machine code (binary) in one go . An interpreter is a type of translator that converts instructions into machine code (binary) line by line . A debugger is used to test code and display errors . Other development tools aid programmers with developing and maintaining websites and apps for phones / tablets. An advantage of databases over spreadsheets is that data can be atomised - meaning it can be stored in separate tables (e.g. one for patients and one for doctors ) with records linked through relationships . This minimises data redundancy (duplication ), meaning there is a lower chance of making errors , and it is easier to search through the table as each record will only appear once . A search through a database is called a 'query '. Business Software This is specialist software for businesses , often made bespoke for an organisation based on their needs . Types of business software: Project management software allows teams of workers to collaborate and split large projects into manageable tasks with clear deadlines and assigned roles . A management information system (MIS ) processes a large amount of data and organises it for use in decision-making and general data analysis . See more about an MIS in section 3.5 . Multimedia programs such as video editors or animation suites can be used to create high-quality videos with images , audio and video clips . Collaboration tools for businesses allow employees to share ideas and resources in real-time . Publishing software allows users to implement text and images into eye-catching designs such as posters , leaflets or static adverts to include on a website. Expert systems use large databases for automatic decision-making , often making use of AI to quickly solve complex problems . A healthcare example of an expert system is a medical diagnosis program that may suggest possible illnesses when a patient's symptoms are input . CAD / CAM One example of business software used for the design and manufacture of a product is CAD / CAM (C omputer-A ided D esign / C omputer-A ided M anufacturing). CAD is used to create highly detailed digital designs and CAM translates these designs into instructions for manufacturing machines to make the product physically. These software packages use 3D modelling and image rendering along with exact measurements to create precise designs ready to be manufactured . Engineers use them to design and make mechanical parts and architects use them to create detailed building models and blueprints . Q uesto's Q uestions 2.2 - Applications Software: 1. State four different kinds of productivity software and briefly describe how each could be used . For example: "Word processors can be used to type up a letter in an office or write an essay for school." [8 ] 2. Describe two differences between database and spreadsheet software. [2 ] 3a. What is an Integrated Development Environment ? [1 ] 3b. Describe three tools used in an IDE. [6 ] 4. Giving brief examples of how they can be used, state four different types of business software . [8 ] 5. Suggest how a website design company could use each of the three types of applications software (Productivity Software , Development Tools and Business Software ). [ 6 ] 2.1 - Types of Software Topic List 2.3 - Utility Software

  • OCR Cambridge Technicals | CSNewbs

    A splash page for the previous Cambridge Technicals units - Unit 1 (Fundamentals of IT) and Unit 2 (Global Information). OCR Cambridge Technicals IT Level 3 These pages are based on content from the OCR Cambridge Technicals 2016 Level 3 IT specification . This qualification stopped in July 2025. The pages on the site will remain for at least two years. Unit 1 Fundamentals of IT Unit 2 Global Information

  • 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

© CSNewbs 2025

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