Search CSNewbs
Search this site
304 results found with an empty search
- 2.2 - Data Flow | F161 | Cambridge Advanced National in Computing | AAQ
Learn about how data is input to an application to be converted and output as information. Covers types of data and information such as numbers, text, audio and images as well as the black box concept to show data flow in a diagram. 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.2 - Data Flow Watch on YouTube: Data vs Information Data Input Information Output Black Box Concept You need to know the difference between the terms 'data ' and 'information ' and how data is input to be converted to information as an output . There are specific types of input and output , including numbers , text , movement , audio and images . You need to understand how data and information flows through application software and can be stored . You must be able to represent data flow in a diagram using the black box concept . What You Need to Know Data and Information Data is raw , unprocessed facts and values , while information is data that has been processed and given meaning or context so that it is useful . Data is converted into information through processing , such as calculating , sorting , filtering , comparing or organising it. For example, individual test scores are data and then calculating the class average produces information . Data flows into an application through inputs , is processed and/or stored and then flows out as useful information through outputs . Data Processed to give meaning Information Data Input & Information Output 83 blue Numbers are numerical data entered into or produced by a system, including a whole number ( integer ) and decimal values ( real ). For example, entering a person's age , recording a temperature from a sensor or displaying a player's score . Text includes letters , numbers , symbols or words entered into or displayed by a system. For example, entering a username , typing a search query , displaying instructions or showing an error message . Movement is data about the position , direction or motion of a person or object , often captured using sensors or cameras . Examples include a phone detecting that it has been tilted , a fitness tracker detecting steps or a games console detecting controller movements . Audio is sound that is captured as input or produced as output by a system. Examples are speaking into a microphone for voice recognition , recording music , playing sound effects or receiving spoken directions from a navigation app . Moving images are a sequence of images displayed rapidly to create the appearance of movement , usually as video or animation . For example, recording video with a camera , watching a video tutorial , a video call or an animation in a game . Static images are single images that do not move , such as a photograph , drawing or diagram . Examples are taking a photo with a phone camera , scanning a QR code , displaying a logo or showing an image in an app. Storage Locations Black Box Concept The black box concept is a way of representing a system by focusing on what data enters the system , what is stored and what information leaves the system , without needing to understand the internal processes or any code . For example, consider a school quiz application : Flow-in is data that is entered into the system from an external source . Such as when a student selects an answer to a multiple-choice question , which is sent into the quiz application . Flow to storage is data that the system saves so that it can be accessed later . For example, the student's answer and score are saved to a database so their results can be viewed later . Flow-out is information that is sent out of the system to a user or another system , such as the quiz application displaying the student's final score on the screen. Flow In product choices & payment details Flow to Storage customer's order & account details Flow Out order confirmation & receipt Online Shopping System Storage See section 1.3 for information about the two main storage locations required for application software : on-site storage and cloud storage . Q uesto's Q uestions 2.2 - Data Flow: 1. Explain the difference between data and information , giving an example of each. [ 3 ] 2. Explain how application software can process data to turn it into useful information . [2 ] 3. Describe the following types of input/output data and give an example of each: number , text , movement , audio , moving images and static images . [2 each ] 4. Explain the black box concept and the terms flow in , flow to storage and flow out . [4 ] 5. Using an application of your choice , describe how data could flow into the application , be processed or stored , and flow out as useful information . [ 4 ] A controller isn't the only way to play a video game ! The Nintendo Wii and Nintendo Switch can use movement as input , music games like SingStar use audio from microphones , and the EyeToy on the PlayStation 2 used images from a connected camera . D id Y ou K now? 2.1 - Data Formats & Types Topic List 2.3 - Data States
- Python | Section 9 Practice Tasks | CSNewbs
Test your understanding of string and number handling techniques in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 9 Practice Tasks Task One It is the national hockey championships and you need to write the program for the TV channel showing the live games. Let the user enter the name of the first country that is playing. Then let the user enter the name of the second country . Shorten country 1 to the first two letters . Shorten country 2 to the first two letters . Bonus: Display the teams in uppercase . Example solution: Welcome to the National Hockey Championships!!! Enter the first country: Montenegro Enter the second country: Kazakhstan Scoreboard: MO vs KA G Task Two In some places, the letter G is seen as an offensive letter. The government want you to create a program to count how many times the letter G appears in a sentence . Let the user input any sentence that they like. You need to count how many g’s there are. Then print the number of g’s there are. Example solution: Enter your sentence: good day! great golly gosh, got a good feeling! There were 7 instances of that awful letter! Task Three A pet shop has just ordered in a batch of new dog collars with name tags. However, there was a mistake with the order and the tags are too small to display names longer than 6 characters . You need to create a program that checks the user’s dog name can fit. Let the user enter their dog’s name . Calculate the length of their name. Use an if statement to see if it is greater than 6 characters . If it is then print – Sorry but our dog tags are too small to fit that. Otherwise print – Excellent, we will make this dog tag for you. Example solutions: Welcome to 'Dogs and Cats' Pet Shop! What is the name of your dog? Miles Excellent, we will make this dog tag for you! Welcome to 'Dogs and Cats' Pet Shop! What is the name of your dog? Sebastian Sorry, our dog tags are too small! Task Four It’s literacy week and the Head of English would like you to create a vowel checker program to ensure that year 7s are using plenty of vowels in their work. Let the user enter any sentence they like. For each letter in the sentence that they have just entered you need to use if statements to check if it is a vowel . You will need to use the OR operator between each statement to separate them. After the for loop you need to print the number of vowels they have used. Example solution: Enter your sentence: Put that thing back where it came from, or so help me! You used 14 vowels in your sentence. Task Five Remember the national hockey championships? Well, the company that hired you just fired you… Never mind though, a rival scoreboard company want to hire you right away. You need to let the user enter two countries like last time. But this time you don’t want to calculate the first two letters, you want to print the last three letters . Example solution: Welcome back to the National Hockey Championships!!! Enter the first country: Montenegro Enter the second country: Kazakhstan Scoreboard: GRO vs TAN Task Six Too many people are using inappropriate names on Instagram so they have decided to scrap the username and will give you a code instead. The code is the 2nd and 3rd letters of your first name , your favourite colour and then the middle two numbers of the year you were born . Let the user input their name, then their favourite colour and then the year they were born. Using their data, calculate their new Instagram name! Example solution: Welcome to Instagram What is your name? Matthew What is your favourite colour? red Which year were you born in? 1987 Your new profile name is: ATRED98 Task Seven Copy the text on the right and create a program that will split the text at each full stop. Count the number of names in the list. Print the longest name. Example solution: The list contains 20 names The longest name is alexandria annabelle.clara.damien.sarah.chloe.jacques.mohammed.steven.rishi.raymond.freya.timothy.claire.steve.alexandria.alice.matthew.harriet.michael.taylor ⬅ 9b - Number Handling 10a - Open & Write To Files ➡
- Unit 1 - Fundamentals of IT - Cambridge Technicals | CSNewbs
Navigate between all Unit 1 (Fundamentals of IT) topics in the OCR Cambridge Technicals Level 3 IT 2016 specification. OCR Cambridge Technicals IT Level 3 Unit 1: Fundamentals of IT These pages are based on content from the OCR Cambridge Technicals 2016 Level 3 IT specification . This website is in no way affiliated with OCR . This qualification stopped in July 2025. The pages on the site will remain for at least two years. LO1 (Computer Hardware ) 1.1 - Computer Hardware 1.2 - Computer Components 1.3 - Types of Computer System 1.4 - Connectivity 1.5 - Communication Hardware 1.6 - Hardware Troubleshooting 1.7 - Units of Measurement 1.8 & 1.9 - Number Systems & Conversion LO2 (Computer Software ) 2.1 - Types of Software 2.2 - Applications Software 2.3 - Utility Software 2.4 - Operating Systems 2.5 - Communication Methods 2.6 - Software Troubleshooting 2.7 - Protocols LO3 (Networks & Systems ) 3.1 - Server Types 3.2 - Virtualisation 3.3 - Network Characteristics 3.4 - Connection Methods 3.5 - Business Systems LO4 ( Employability & Communication ) 4.1 - Communication Skills 4.2 - Communication Technology 4.3 - Personal Attributes 4.4 - Ready for Work 4.5 - Job Roles 4.6 & 4.7 - Bodies & Certification LO5 (Issues & Security ) 5.1 - Ethical Issues 5.2 - Operational Issues 5.3 - Threats 5.4 - Physical Security 5.5 - Digital Security 5.6 - Data & System Disposal
- 3.1 - Network Characteristics - Eduqas GCSE (2020 spec) | CSNewbs
Learn about the advantages and disadvantages of networks, the five types of network - LAN, WAN, PAN, MAN and VPN - and differences between wired and wireless networks. Based on the 2020 Eduqas (WJEC) GCSE specification. 3.1: Network Characteristics Exam Board: Eduqas Specification: 2020 What is a network? A network is more than one computer system connected together allowing for communication and sharing of resources . There are many benefits but also some drawbacks to using a network compared to having an unconnected ('standalone' ) computer: Advantages of Networks Easily share files , software and hardware between computers. Disadvantages of Networks There is an initial cost because network devices like routers are required . Larger companies will need to buy and maintain a server . Log in from any connected computer and access your data and files. A network manager / administrator might need to be employed to maintain the network . An administrator can monitor network activity and control security settings. Data from computers on the network can be automatically backed up on central storage. Security breaches are more likely and malware , such as worms, can spread quickly across the network. If the web server fails , all connected computers won't be able to access files or log on . Network Types Networks can be split into different types , usually categorised by their geographical distance apart and the area that they serve. Local Area Network A local area network (LAN ) has computer systems situated geographically close together , usually within the same building or small site , like a school or office . Wide Area Network A wide area network (WAN ) has computer systems situated geographically distant to each other, possibly across a country or even across the world . The internet is an example of a WAN that spans the globe. Personal Area Network A PAN is a personal network for an individual , such as a photographer connecting a smartphone, desktop computer and printer together. Metropolitan Area Network A MAN is larger than a LAN but smaller than a WAN and typically covers a relatively large area like a university campus, town or city . Virtual Private Network A VPN allows for a secure and encrypted connection to a public network like the internet. It is often used to protect an individual's privacy by concealing their real location. Wired & Wireless Networks Wired Connections Wireless Connections Wireless connections, such as WiFi or Bluetooth , use no cables but require a wireless network interface card (WNIC ). Wireless connections generally have a slower speed and can be affected by the computer's distance from the wireless router as well as obstacles like walls or bad weather. Wired connections use physical cables , such as copper or fibre optic wires , and require a network interface card (NIC ) to connect to a network. These wired connections use a wired connection protocol - most commonly Ethernet . Restricted Movement Faster More Secure NIC Required Freedom of Movement Slower Less Secure WNIC Required Q uesto's Q uestions 3.1 - Network Characteristics: 1. A retirement home for the elderly is considering installing a LAN , give 3 benefits and 3 drawbacks they might find of using a network . [6 ] 2a. Describe the difference between a LAN and WAN . [2 ] 2b. Give an example of how a LAN and a WAN could each be used . [ 2 ] 3 . Explain the differences between a PAN , MAN and VPN . [ 3 ] 4. For each of the scenarios below, state which network type would be most suitable : a. The IT rooms of a secondary school . [ 1 ] b. A study in a house with a desktop and printer. [ 1 ] c. Using online banking when abroad on a holiday to stay secure . [ 1 ] d. A large technology company with offices across Europe . [ 1 ] e. Council offices with several locations across Manchester . [ 1 ] 5. Briefly compare wired and wireless networks . [ 8 ] 2.2 - Boolean Algebra 3.2 - Data Packets & Switching Theory Topics
- Memory | Key Stage 3 | CSNewbs
Learn about the three main types of memory in a computer system - RAM (Random Access Memory), ROM (Read Only Memory) and Cache Memory. Memory What is memory? Memory is where a computer stores information , instructions and data so it can use them quickly when needed . There are three main types of memory : RAM Random Access Memory ROM Read Only Memory Cache Memory What is Random Access Memory? RAM is volatile (this means that when power is lost, the data is deleted ). Every program that is being run by the computer (such as Google Chrome, Spotify or Microsoft Word) is stored in RAM . RAM is made up of a large number of storage locations , and each is identified with a unique address . What is Read Only Memory? ROM is non-volatile (this means that data is saved, even when the power is off ). The start-up instructions (for when a computer is switched on ) are stored in ROM . ROM is read-only, which means that it cannot be edited or changed . What is Cache Memory? Cache memory is fast to access because it is built into the CPU (or very close to it) . Cache memory stores data that needs to be accessed very frequently . Cache memory is very expensive , so there is only a small amount in most computers. How can a computer run faster? There are many reasons why a computer may be running slowly . Here are some methods related to memory that can help speed up a system : Close unnecessary programs to free up RAM so it doesn't run out of memory space . Add more RAM so the computer can run more programs at once without slowing down . Increase the cache size so the CPU can access important data more quickly . KS3 Home Note: Only larger systems like desktop computers can have their components easily upgraded and replaced.
- 5.3 - HCI Designs, Documents, Diagrams | F160 | Cambridge Advanced National in Computing AAQ
Learn about designs, documents and diagrams related to human-computer interaction including processing and data handling, data flow diagrams (level 0 and level 1), flowcharts and user interface designs (visualisation and wireframe diagrams). Based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) (AAQ - Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 5.3 - Human Computer Interface Designs, Documents and Diagrams Watch on YouTube : Data flow diagrams Flowcharts Visualisation diagrams Wireframe diagrams There are four types of documents / diagrams you need to know that can be used to design human-computer interfaces : data flow diagrams (DFDs ), flowcharts , visualisation diagrams and wireframe designs . For each type of diagram , you need to know its components and conventions , when it is appropriate for use , and how to create it . Each diagram is also effective for different uses and you must be able to consider how specific diagrams can be made more effective . Human-Computer Interface Diagrams Data Flow Diagrams A data flow diagram (DFD ) is a visual representation of how data is transferred within a system or organisation . They do not show decision logic or sequencing , but focus on where data comes from , where it goes and how it is processed . DFDs are typically categorised into Level 0 and Level 1 formats, which differ based on complexity . Flowcharts A flowchart is a diagram that shows the sequence of steps in a process using specific symbols . Flowcharts can be used as a project planning tool (section 3.2 ) to visualise workflows , task order and decision-making paths . It is also useful as a human-computer interface diagram to show the steps and decisions users may take as they interact with the application . The video says ' 3.2d ' because flowcharts also appear in section 3.2 as a project planning tool . Visualisation Diagrams Visualisation diagrams are graphical representations used to show the layout , structure and appearance of a software application's interface . They're often used for planning , design and feedback purposes. Traditionally, they would be drawn on paper in pencil and annotated , but modern diagrams are mocked up on a computer so they can be easily shared with team members and clients . Wireframe Diagrams Wireframe diagrams are basic visual guides used to represent the structure and layout of a user interface (UI ) without any design styling . They focus on function , layout and interaction , not aesthetics . Wireframe diagrams are used in the early design stages to plan the UI layout before visual design begins. Q uesto's Q uestions 5.3 - Human Computer Interface Designs, Documents & Diagrams: 1. Explain what the purpose of data flow diagrams are, the difference between Level 0 and Level 1 and what makes them effective . [6 ] 2. Draw a wireframe diagram for the YouTube homepage . [3 ] 3. Explain how visualisation diagrams are created and how they can be made more effective . [ 5 ] The first type of flowchart , the ' flow process chart ', was developed by engineers Frank and Lillian Gilbreth in 1921 . The book (and original movie ) ' Cheaper by the Dozen ' is about this couple . D id Y ou K now? 5.2 - Visual Design Considerations Topic List 6.1 - Job Roles
- OCR CTech IT | Unit 1 | 4.6 & 4.7 - Bodies & Certification | CSNewbs
Learn about the purpose of professional bodies and IT industry certification. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 4.6 & 4.7 - Bodies & Certification Exam Board: OCR Specification: 2016 - Unit 1 What is a professional body? A professional body is an organisation that seeks to develop and support workers in a certain profession. Professional bodies will share best practice , help people starting in the profession and support any role-related learning . In the UK a popular professional body is the British Computer Society (BCS) - also known as the Chartered Institute for IT - with over 65,000 members. What is industry certification? Professional bodies exist to provide trainees with industry certification . Industry certifications are qualifications in different areas of expertise so applicants are trained with up-to-date knowledge and skills . Two popular organisations that administer industry certifications in America are Cisco and CompTia . Cisco's website claims that they provide "certifications for all experience levels covering topics in networking , security , collaboration , and more. Cisco's certification program can meet you where you are on your learning journey and take you to where you want to go." Advantages of Industry Certification Disadvantages of Industry Certification Develop IT skills: Trainees develop experience and competency in areas relevant to actual jobs. Access resources: Trainees are part of a network of like-minded professionals with access to help from experts . P rofessional development opportunities: Trainees are invited to special events and seminars to ensure skills remain up-to-date . Cost: Training for industry certification can cost hundreds or even thousands of pounds and is often self-funded . No guarantees: Earning a certificate doesn't guarantee you a better job or more money. Time and dedication: Like other qualifications, classroom activities or online learning must be completed. Exams must be passed at the end of the course. Many organisations now require IT employees to have earned relevant industry certifications . This is so that the organisation can be confident that the employee has been appropriately trained and will have gained experience at the required level for the certification. The employee should be able to demonstrate technical knowledge as a result of gaining the certification. Q uesto's Q uestions 4.6 & 4.7 - Bodies & Certification: 1a. What is a professional body ? [1 ] 1b. State 3 roles of a professional body . [3 ] 2. What are industry certifications ? [2 ] 3. Describe 3 advantages and 3 disadvantages of an IT worker earning industry certifications . [2 each ] 4. Why do many IT organisations require its employees to have earned industry certifications ? [4 ] 4.5 - Job Roles Topic List 5.1 - Ethical Issues
- HTML Guide 3 - Text Tags | CSNewbs
Learn how to use tags to format text in HTML, including how to underline, italicise and embolden text. Also, learn about heading size and paragraphs. 3. Tags for Text HTML Guide Watch on YouTube: Remember to write the tags for everything you want the user to see between the and tags. Headings Time to add text to your web page such as headings and paragraphs. To write a large heading , use and To write headings in a smaller size, use numbers between 1 and 6. Add a large heading and a sub-heading to your webpage. paragraph Paragraphs Typing text between the and tags will create a paragraph . Add at least three different paragraphs to your webpage. bold underline italics Bold, Underline & Italics You can format your text by changing it to be bold , underlined or italicised (slanted). Now you have text on your web page, you can add hyperlinks to take viewers to different websites. In the paragraphs you have already written, add at least 1 bold tag, 1 underline tag and 1 italics tag. 2. Essential Tags HTML Guide 4. Hyperlinks
- App Inventor 2 | Pop-up Blob | CSNewbs
Learn how to use App Inventor 2 to create simple programs. Try to complete the final task (7) on this page. Perfect for Key Stage 3 students to experiment with block coding, objects and properties. App Inventor Task 7 - Pop-up Blob The previous apps have been preparing you to make a longer and more complicated app. Now we will put together all of the skills you have learned to create a fun game. Check the video: Open App Inventor 2 (use the button below) and create a new project. You will need to log in with a Google account. App Inventor 2 Ready for a challenge? This is what the program looks like in Designer layout. To the left are the components with all their Properties correct. To the right are the Components names. Put the three labels and button inside a HorizontalArrangement from the Layout section of Palette . The Text for ScoreLabel is 'Score: 0'. The Text for TimeRemainingLabel is 'Time Remaining:'. The Text for SecondsLabel is '20'. Place an ImageSprite inside a Canvas (both from the Drawing and Animation section of Palette ). Download the blob image from the Basics page here and upload it as the Picture for the ImageSprite . Change to Blocks layout and drag a initialize global to block from Variables . Type 'Score' in the empty space to create a variable that we will use to track how many times the blob has been touched. Attach a 0 block from Math to start the score at 0. This big block of code uses some of the concepts which you have used before. Whenever the Blob is touched the variable Score is increased by 1. The X and Y coordinates of the Blob are changed by random numbers so it will appear in a random location on the screen. The bottom blocks change the ScoreLabel to show the current score. Every second that the timer ticks we want to check if the score is more than 1 (to check it hasn't reached 0). If it is more than 1 second then the time will count down by 1. In the else part you need to add the following: Set Blob Enabled to false . Set Blob Visible both to false . Set TimeRemainingLabel Visible to false . Set SecondsLabel Visible to false . When the Reset Button is clicked the score variable is changed to 0 and the Seconds label is rewritten to 0. Make sure you use the " " block from Text and not a block from Math. Inside the when ResetButton Click block you need to reverse the code you have added for the else block when the timer ticks: Set Blob Enabled to true . Set Blob Visible both to true . Set TimeRemainingLabel Visible to true . Set SecondsLabel Visible to true . Extra Step: Challenges 1. Large score display . If you watch the video at the top of the page again, you will see that when the time runs out (is less than 1) some of the labels turn invisible and the TextColour and FontSize of the ScoreLabel changes. Try to do the same in your app. Remember to reverse what you have done in the code for the reset button; otherwise, the labels will still be invisible! 2. Customise your game . Change the background of the Canvas to an image, change the blob to a different image and add a sound when the character is 'popped'. 3. *HARDER Challenge* Add a High Score Label . Follow these hints carefully and use the colours to help you. You need to initialize a new Variable called HighScore and set it to 0 . You also need to add a new HighScoreLabel and put it in your Horizontal Arrangement in Designer layout. Add an if then block in the else part of the When Timer Timer block you already have. If Score > HighScore then HighScore = Score . This will change the value of HighScore to the current Score if it is higher than the current high score. Remember to make the HighScoreLabel display the new HighScore . KS3 Home
- 2.3 - Additional Programming Techniques - OCR GCSE (J277 Spec) | CSNewbs
Learn about arrays, records and SQL (structured query language) including the SELECT, FROM and WHERE commands. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR Specification: J277 2.3: Additional Programming Techniques Watch on YouTube : String Manipulation File Handling Arrays Subprograms Random Numbers SQL This section of the specification includes programming topics that are outlined in 1.2 (Designing Algorithms). You must have an understanding of more complex programming techniques , such as how to manipulate strings , handle files and use subprograms . The best practice for learning is to try the tasks in the Python pages on this website (see the link to the right). Visit the Python section of CSNewbs ---> Subprograms What is a subprogram? Large programs are often broken down into smaller subprograms (also called subroutines ). Each subprogram focuses on a specific function of the code, helping to decompose a complex problem into more manageable chunks . Defining subprograms A subprogram is defined (identified) using the def command in Python. A program may use many subprograms , which are usually defined at the start of the code . Calling subprograms Running a line of code that includes the name of a subprogram will call (activate) it. When called , the program will run the subprogram code before returning back to the line that called it . Subprograms are only run when called , so depending on decisions made, a program may end without calling every (or any) subroutine. Parameters A parameter is a value that is passed into a subprogram when it is called , allowing the value to be used within the subprogram . A subprogram may not use a parameter , e.g. multiply() , or one parameter , e.g. multiply(num) , or several e.g. multiply(num1,num2) . Any parameters must be identified when the subprogram is defined , e.g. def multiply(num): Return The return command will send a value back to the line the subprogram was called on, allowing it to be used there . For example, the 'quad' subprogram in the example below returns the value of the 'result' variable back to the main program, allowing it to be printed . A subprogram will end either by reaching the last line of code within it, or when it reaches a return command . Subprograms that return a value are called functions . Subprogram example This subprogram is defined using the identifier 'quad ' with a parameter named number . The subprogram is called in the main program, multiplies the number passed in as a parameter by 4 and returns a value back to the main program to be printed. def quad (number): result = number * 4 return result #Main Program number = int ( input ( "Enter a number: " )) print ( "The number quadrupled is" , quad(number)) Enter a number: 5 The number quadrupled is 20 Functions and Procedures There are two types of subprograms . A function is a subprogram that returns a value , using the return command, which allows the value to be used in the line of code the function was called in. The 'divide' function below returns the value of the variable 'total' to the main program to be printed. A procedure is a subprogram that does not return a value . Example of a Procedure def multiply (num): total = num * 2 print ( "The number doubled is" , total) #Main Program num = int ( input ( "Enter a number: " )) multiply(num) Enter a number: 4 The number doubled is 8 Example of a Function def divide (num): total = num / 2 return total #Main Program num = int ( input ( "Enter a number: " )) print ( "The number halved is" , divide(num)) Enter a number: 9 The number halved is 4.5 Advantages of using subprograms Subprograms break a complex program down into smaller parts , making it easier to design and test . Each subroutine can be tested separately and abstraction can be used to simplify a complicated problem . Using subprograms allows code to be easily reused in other programs , as it has already been written , making it quicker to develop new programs or build on existing work. Using subprograms avoids code repetition , as they can be called as many times as necessary . This makes programs shorter and quicker to develop , making them easier to maintain and debug . Work can easily be split up between team members to work on different subprograms at the same time . Array An array is a static data structure that can hold a fixed number of data elements . Each data element must be of the same data type i.e. real, integer, string. The elements in an array are identified by a number that indicates their position in the array. This number is known as the index. The first element in an array always has an index of 0 . You should know how to write pseudo code that manipulates arrays to traverse , add , remove and search for data . The following steps use Python as an example, although Python does not use arrays and uses a similar data structure called a list (that can change in size as the program runs ). See the 8a and 8b Python pages for tasks on how to use lists . What Traversing an Array To traverse (' move through ') an array a for loop can be used to display each data element in order. Example code for traversing: Output: 'Inserting' a value In an array the size is fixed so you cannot insert new values, but you can change the value of elements that already exist. Overwriting the fourth element (Daphne) with a new value (Laura) will change it from Daphne to Laura. Example code for inserting: Output: 'Deleting' a value In an array the size is fixed so you cannot delete values, but you can overwrite them as blank . Overwriting the second element (Shaggy) with a blank space makes it appear deleted. Example code for deleting: Output: Searching an Array For large arrays a for loop is needed to search through each element for a specific value . This example checks each name to see if it is equal to Velma. Example code for searching: Output: Two-Dimensional Array Often the data we want to process comes in the form of a table . The data in a two dimensional array must still all be of the same data type , but can have multiple rows and columns . The two-dimensional array to the right shows the characters from Scooby Doo along with their associated colour and their species. Each value in the array is represented by an index still, but now the index has two values . For example [3] [0] is 'Daphne'. Unless stated in an exam , measure row first , then column . Searching a two-dimensional array: To print a specific data element you can just use the index number like Daphne above. To search for a specific value you will need two for loops , one for the row and another for the values of each row . The example to the right is looking for the value of ' Velma ' and when it is found it prints the associated data from the whole row . Example code for printing: Output: Example code for searching: Output: Records Unlike arrays, records can store data of different data types . Each record is made up of information about one person or thing . Each piece of information in the record is called a field (each row name). Records should have a key field - this is unique data that identifies each record . For example Student ID is a good key field for a record on students as no two students can have the same Student ID. A 2D array may be used to represent database tables of records and fields . SQL SQL (structured query language ) is a language that can be used to search for data in a database . The format of an SQL statement is: SELECT field1, field2, field3… FROM table WHERE criteria Example of an SQL statement using the Cars table: SELECT Make, Colour FROM Cars WHERE Miles > 1000 AND Age > 8 Cars table SQL uses wildcards which are symbols used to substitute characters . The * symbol represents ALL fields . Example: SELECT * FROM Cars WHERE Colour = “blue” < Click the banner to try a self-marking quiz (Google Form) about records and SQL. Q uesto's Q uestions 2.3 - Additional Programming Techniques: 1a. Describe what the following terms mean: subprogram , parameter , function , procedure . [ 2 each ] 1b. Describe three advantages of using subprograms . [ 6 ] 2. Describe the differences between a 1D array , 2D array and record . [ 3 ] 3. A one-dimensional array looks like this: TigerBreeds["Sumatran","Indian","Malayan,"Amur"] Write the code to: a. Print the element with the index of 3. [ 2 ] b. Change Indian to South China. [ 2 ] c. Remove the Amur element. [ 2 ] d. Search through the array for 'Malayan'. [ 2 ] 4a. Use the Cars table above to write the SQL statement to display the make and miles for cars that are grey OR blue . [ 3 ] 4b. Write an SQL statement to display all fields for cars that are 10 years old or less . [ 3 ] 2.2 Data Types Theory Topics 3.1 - Defensive Design
- Python | 2a - Inputting Text | CSNewbs
Learn how to input strings (text) in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 2a - Inputting Text Inputting Text (Strings) in Python A string is a collection of characters (letters, numbers and punctuation) such as: “Wednesday” , “Toy Story 4” or “Boeing 747” . Use the input command to ask a question and let a user input data , which is automatically stored as a string . Variable to save the answer into. Give it a suitable name based on the input. name = input ( "What is your name? " ) = What is your name? Paulina Type your answer directly into the editor and press the Enter key. Statement that is printed to the screen. Leave a space to make the output look clearer. Once an input has been saved into a variable, it can be used for other purposes, such as printing it within a sentence : name = input ( "What is your name? " ) print ( "It is nice to meet you" , name) = What is your name? Jake the Dog It is nice to meet you Jake the Dog Always choose an appropriate variable name when using inputs. colour = input ( "What is your favourite colour? " ) print ( "Your favourite colour is " + colour + "? Mine is yellow." ) = What is your favourite colour? blue Your favourite colour is blue? Mine is yellow. Inputting Text Task 1 ( Holiday) Write an input line to ask the user where they last went on holiday . Write a print line that uses the holiday variable (their answer). Example solution: Where did you last go on holiday? Scotland I hope you had a nice time in Scotland Inputting Text Task 2 ( New Neighbour) Write an input line to ask the user for a title (e.g. Mr, Mrs, Dr). Write another input line for an object . Write a print line that uses both input variables (title and object ). Example solutions: Enter a title: Dr Enter an object: Fridge I think my new neighbour is Dr Fridge Enter a title: Mrs Enter an object: Armchair I think my new neighbour is Mrs Armchair Using a Variable Within an Input To use a variable you have previously assigned a value t o within the input statement you must use + (commas will not work). drink = input ( "What would you like to drink? " ) option = input ( "What would you like with your " + drink + "? " ) print ( "Getting your" , drink , "and" , option , "now...." ) = What would you like to drink? tea What would you like with your tea? biscuits Getting your tea and biscuits now... What would you like to drink? apple juice What would you like with your apple juice? cake Getting your apple juice and cake now... Inputting Text Task 3 ( Name & Game) Ask the user what their name is. Ask the user what their favourite game is. Use their name in the input statement for their game. Print a response with their name and the game they entered. Example solutions: What is your name? Rory Hi Rory, what's your favourite game? Minecraft Rory likes Minecraft? That's nice to know. What is your name? Kayleigh Hi Kayleigh, what's your favourite game? Stardew Valley Kayleigh likes Stardew Valley? That's nice to know. ⬅ Section 1 Practice Ta sks 2b - I nputting Numbers ➡
- 11 Graphical User Interface | CSNewbs
Learn how to create and use a simple graphical user interface (GUI) in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Python 11 - GUI Graphical User Interface In Python, you don’t have just to use a text display; you can create a GUI (Graphical User Interface ) to make programs that look professional. This page demonstrates the basic features of Python’s built-in GUI named tkinter . You can add images, labels, buttons and data entry boxes to develop interactive programs . Hyperlinked sections covered on this page: Setup: Title, Size & Background Creating Elements: Labels, Entry Boxes, Buttons, Images, Message Boxes Displaying Elements: Pack, Place, Grid Inputs & Outputs GUI Tasks Setup Setup: Title, Size & Background Firstly, import the tkinter command and set tkinter.Tk() to a variable such as window . GUI code can be quite complicated with multiple elements so it is sensible to use a comment for each section. Setting the title , size and background colour of your window is optional but can be easily set up at the start of your code. The .geometry() command sets the size of the window. The first number is the width , and the second number is the height . The .configure() command can be used to set the background colour . For a full list of compatible colours, check here . import tkinter #Setting up the Window window = tkinter.Tk() window.title( "Graphical User Interface" ) window.geometry( "400x400" ) window.configure(background = "lightblue" ) import tkinter #Setting up the Window window = tkinter.Tk() window.title( "Example Number Two" ) window.geometry( "300x400" ) window.configure(background = "darkorchid3" ) Creating Elements Creating Elements: Labels, Entry Boxes, Buttons, Radio Buttons, Images, Message Boxes Labels label1 = tkinter.Label(window, text = "Hello there" ) label1 = tkinter.Label(window, text = "Hello there" , fg = "black" , bg = "lightblue" , font = ( "Arial" , 12)) Simple label with default formatting: Label with custom formatting: No elements will appear in your window until you write code to put them there. See the 'Displaying Elements' section further down. Entry (Text) Boxes Simple entry box with default formatting: entry1 = tkinter.Entry(window ) Entry boxes will appear blank , the 'Example Text' shown in the images has been typed in. Entry box with custom formatting: entry1 = tkinter.Entry(window, fg = "blue" , bg = "gray90" , width = 12, font = ( "Arial" ,12)) Buttons The command property of a button is a subroutine that will be called when the button is pressed . The subroutine must be written above the button creation code. def ButtonPress (): #Code here runs when the button is pressed button1 = tkinter.Button(window, text = "Click Me" , fg = "black" , bg = "gold2" , command = ButtonPress) Radio Buttons The Radiobutton element is a multiple-choice option button . A variable needs to be created to track which option has been selected, in this example it is ‘choice ’. Each radio button needs to be linked to the variable and given a unique value (e.g. 0, 1, 2). The radio button with the the value of 0 will be automatically selected when the window opens . Although not shown below, the .set() command can also be used to select a specific radio button , e.g. choice.set(2) . choice = tkinter.IntVar() radio1 = tkinter.Radiobutton(window, text = "Breakfast" , variable = choice, value = 0) radio2 = tkinter.Radiobutton(window, text = "Lunch" , variable = choice, value = 1) radio3 = tkinter.Radiobutton(window, text = "Dinner" , variable = choice, value = 2) Message Boxes You need to import messagebox from tkinter before you can use message boxes . You only need to do this once in your program and it sensible to have it at the very start after you import tkinter (and any other libraries). from tkinter import messagebox tkinter.messagebox.showinfo( "Information" , "Welcome to the program!" ) tkinter.messagebox.showerror( "Error" , "There is a problem with the program." ) if (tkinter.messagebox.askyesno( "Warning" , "Have you understood the instructions?" )) == True : tkinter.messagebox.showinfo( "Warning" , "Thank you for understanding." ) else : tkinter.messagebox.showinfo( "Warning" , "Please read the instructions again." ) Yes / No Message Box Clicking Yes (True ) Clicking No (False ) Images Tkinter supports the image file types .png and .gif . The image file must be saved in the same folder that the .py file is. Resize the image in separate image editing software such as Paint to a specific size . Tkinter does not support all image file types, such as .jpg. Use an application like Microsoft Paint to save an image with a different extension like .png. photo1 = tkinter.PhotoImage(file = "hamster.png" ) photoLabel1 = tkinter.Label(window, image = photo1) An image can be turned into a clickable button rather than a label. def ButtonPress (): #Code here runs when the button is pressed photo1 = tkinter.PhotoImage(file = "hamster.png" ) button1 = tkinter.Button(window, image = photo1, command = ButtonPress) photo1 = tkinter.PhotoImage(file = "hamster.png" ) window.iconphoto( True , photo1) The icon of the window can be changed to an image . Displaying Elements: Pack, Place and Grid Pack .pack() puts the element in the centre of the window, with the next packed element immediately below. window.mainloop() should always be your last line of code in every program, after you have packed, placed or gridded your elements. Displaying Elements labelAdd.pack() buttonAdd.pack() labelMinus.pack() buttonMinus.pack() window.mainloop() Place The .place() command allows an element to be placed in specific coordinates , using x (horizontal ) and y (vertical ) axes. labelAdd.place(x = 25, y = 15) buttonAdd.place(x = 12, y = 35) labelMinus.place(x = 90, y = 15) buttonMinus.place(x = 83, y = 35) window.mainloop() Grid The .grid() command is used to create a grid system to set the row and column . Remember Python starts counting at 0 . You can use padx and pady to add extra space (x is horizontal , y is vertical ). labelAdd.grid(row = 0, column = 0, padx = 10, pady = 5) buttonAdd.grid(row = 1, column = 0, padx = 10) labelMinus.grid(row = 0, column = 1, padx = 10, pady = 5) buttonMinus.grid(row = 1, column = 1, padx = 10) window.mainloop() Inputs & Outputs Inputs and Outputs .config to Change an Element .config() overwrites the property of an element. It can be used with elements such as labels and buttons to change how they appear. label1.config(text = "Warning!" ) The example below (not showing setup and packing) adds 1 to a total variable when the button is pressed . Config is used in two ways: to display the updated total and to change the background of the label to green. def AddOne (): global total total = total + 1 labelTotal.config(text = total, bg = "green" ) total = 0 buttonAdd = tkinter.Button(window, text = "Add" , command = AddOne) Below is a similar program in full that increases or decreases and displays a total when the buttons are pressed . #Setup import tkinter window = tkinter.Tk() total = 0 #Button Presses def AddOne (): global total total = total + 1 labelTotal.config(text = total) def MinusOne (): global total total = total - 1 labelTotal.config(text = total) #Create Elements labelTotal = tkinter.Label(window, text = total, font = ( "Arial" ,14)) buttonAdd = tkinter.Button(window, text = "+" , width = 6, bg = "green" , command = AddOne) buttonMinus = tkinter.Button(window, text = "-" , width = 6, bg = "red" , command = MinusOne) #Display Elements buttonAdd.pack() buttonMinus.pack() labelTotal.pack() window.mainloop() .get to Input a Value .get() returns the value of an element such as an entry box , label or the choice variable if using radio buttons . The value of the element should be stored in a variable so it can be used elsewhere, for example: name = entryName.get() number = int (entryNumber.get()) Use int when getting a value that is an integer : The full program example below checks that the values typed into the username and password entry boxes are correct . Error Messages #Setup import tkinter from tkinter import messagebox window = tkinter.Tk() window.title( "Login" ) #Button Presses def CheckDetails (): username = entryUsername.get() password = entryPassword.get() if username == "Bob Bobson" and password == "cabbage123" : tkinter.messagebox.showinfo( "Success" , "Welcome " + username) else : tkinter.messagebox.showerror( "Invalid ", "Those details are incorrect." ) #Create Elements labelUsername = tkinter.Label(window, text = "Username:" ) labelPassword = tkinter.Label(window, text = "Password" ) entryUsername = tkinter.Entry(window) entryPassword = tkinter.Entry(window) buttonLogin = tkinter.Button(window, text = "Login" , command = CheckDetails) #Display Elements labelUsername.grid(row = 0, column = 0) entryUsername.grid(row = 0, column = 1) labelPassword.grid(row = 1, column = 0) entryPassword.grid(row = 1, column = 1) buttonLogin.grid(row = 2, column = 0) window.mainloop() .bind for Key Presses (& Close Window) .get() will run a specific function when a certain key is pressed. The name of the key must be surrounded by < > brackets and speechmarks . Any associated subroutine of a key bind will need a parameter : event has been chosen and set to None . The code below closes the window using the .destroy() command when the Esc key is pressed. def Close (event = None ): window.destroy() window.bind( "" , Close) The code below will activate the button (and display a message box) by clicking on it but also by pressing the Enter ( Return ) key . def ButtonPress (event = None ): tkinter.messagebox.showinfo( "Success" , "The button was activated" ) button1 = tkinter.Button(window, text = "Press Me" , command = ButtonPress) window.bind( "" , ButtonPress) GUI Tasks GUI Programs to Make Making a program using a GUI can be overwhelming and you must decompose the problem - take it step by step : Import tkinter and create the window (set the title, size and background colour). Create the elements you will need such as labels , buttons and entry boxes . Put the components in the window using pack , place or grid . Write the subroutines for any button presses . These are written at the top of the program after the window setup. Consider your variables - do any need to be set at the start ? Have you made them global if they’re needed within a subroutine ? Put window.mainloop() as the final line of code, only have it once. Use #comments in your code to break up the different sections, the key four sections are shown below. #Setup #Button Presses #Create Elements #Display Elements GUI Task 1 (Random Number Generator ) Generate a random number between 1 and 100 when the button is pressed and display it in a label. Extension idea: Use entry boxes to allow the user to manually input the minimum and maximum value. Example solution: GUI Task 2 (Currency Exchange ) Enter a decimal value and convert it from British pounds to American dollars. You can search for the current exchange rate. Extension idea: Show the conversion rate for other currencies such as Euros and Japanese Yen. Example solution: GUI Task 3 (Random Quote Generator ) Create a list of quotes and use the choice command from the random library to select one to be displayed in a label when the button is clicked. Extension idea: Have a separate text box and button to add more quotes to the list. Example solution: GUI Task 4 (Colour Changer ) When the button is clicked change the background colour of the button with .config to the RGB colour code in the entry box. This should be # followed by 6 hexadecimal values (0-9, A-F). Extension idea: Have an error pop up in a message box if the colour code is incorrect - it must be exactly 7 characters long and start with a hashtag. Example solutions: GUI Task 5 (Class Captain Votes ) Use radio buttons to vote for different candidates in a class vote. Use an if statement when the button is pressed to check which radio button is selected using .get() and the variable you've assigned to the radio buttons ('choice' if you've followed the code in the radio buttons section on this page). Use .config to overwrite a label's value. Remember any variables you want to use in subroutines must be globalised. Extension idea: Stop the count after a certain number - e.g. 30 votes recorded. Example solution: ⬅ Section 10 Practice Tasks 12 - Error Handling ➡









