Search CSNewbs
304 results found with an empty search
- Computer Science Newbies
Homepage for learning about computer science in school. Discover topics across GCSE and Level 3 IT subjects, plus programming languages including Python, HTML and Greenfoot. C omputer S cience Newb ie s Popular topics: Python Programming Application Development OCR Cambridge Advanced National in Computing (AAQ) A-Level Computer Science You are viewing the mobile version of CSNewbs. The site will appear better on a desktop or laptop . OCR A-Level (H446) GCSE Computer Science OCR GCSE (J277) Latest YouTube Video Latest Blog Post Links & Information YouTube Channel Last updated: Wednesday 18th February 2026 Millions of visits since 2017! About CSNewbs
- OCR CTech IT | Unit 1 | 2.5 & 4.2 - Communication Methods | CSNewbs
Learn about the different methods of communication using physical and digital ways of transferring data. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 2.5 & 4.2: Communication Methods Exam Board: OCR Specification: 2016 - Unit 1 Sections 2.5 and 4.2 are very similar so both are mixed within this page. There are many ways that employees of a business can communicate between staff members or with their customers . Text-based Communication Letter ✓ It is a traditional method of communication that can be used for formal occasions such as job offers or resignations . ✓ It can be kept and stored for physical evidence - e.g. keeping an applicant's CV in case an opportunity arises in the future. X Requires postage costs to be sent in the mail (a first-class stamp is now £1.65 ). Overseas delivery is even more expensive . X Takes several days time to be received in the post and may be lost . X A letter can't include certain formats like video. Text Message (SMS) ✓ Can reach a large audience at once with one batch message . ✓ Good for short messages - e.g. appointment reminders or confirmation codes for two-factor authentication . ✓ Doesn't require an internet connection to receive messages. X Limited to short messages (160 characters ) with no multimedia . X Text messages can cost to send each message. SMS stands for Short Message Service . Email ✓ Easily send information to many people at once, instantly . ✓ Can include documents , multimedia attachments and links . ✓ Can send targeted emails to customers on a mailing list with new products or sales promotions . X Important messages may be lost in the spam folder. X Phishing scams can spread malware via email attachments. Instant Messaging ✓ Works in real-time - messages are sent and received instantly . ✓ Attachments and hyperlinks can be sent. ✓ Can be used by support staff to help customers in real-time. X Quick speed means it's less suitable for formal conversations like interviews. X Internet access issues will disrupt any conversations . Voice-based Communication Cellular ✓ Can hear how something is said , unlike text responses. ✓ Fastest method of communication - also allows reactive conversations that can quickly change based on previous responses. X Impacted by cellular reception - won't work in remote areas / underground. X Can't see the other person's body language, presentation or facial expressions. Teleconferences ✓ Allows for groups of people to communicate at once . ✓ Businesses can use teleconferencing to communicate between offices / individuals across the world . X The quality of the call may be affected by a group's poor reception . X Because a group is communicating, people may speak over each other , especially if there is a time delay . VoIP (Voice over Internet Protocol) ✓ Allows a user to make calls over the internet (e.g. using WhatsApp). ✓ Cheaper (can also be free) to make calls rather than using a cellular network . X Relies on a good-quality internet connection . X Can potentially be less secure than cellular connections. hi there Personal Assistants ✓ Speeds up processes by making appointments, checking information or connecting to smart devices. ✓ Voice-activated - can be used whilst otherwise busy , such as typing, cooking or driving. ✓ The language can be changed to suit people's preferences. X Huge privacy concerns as companies store audio data for voice recognition and track all commands made to the device. X There may be recognition issues as sometimes the assistant doesn't understand a command . Online Communication Video Conferences ✓ Users can connect to the call (e.g. using Zoom, Skype, or Google Meet) remotely , saving time and money instead of all travelling to one location. ✓ Can be used for interviews as it allows the applicant and the interviewers to see each other and look for body language . ✓ Users can share information visually , such as designs. X A high-bandwidth connection is required to send and receive video data reliably . X A poor internet connection (e.g. a weak WiFi signal ) will result in low-quality video that may stutter or drop out , making it hard to communicate clearly . Social Media ✓ Businesses can quickly share information with a large online audience , including new potential customers . ✓ Posts can be in d i fferent formats such as text, images, videos or links to other websites. ✓ Direct messages sent on social media may be seen and responded to faster than alternatives like using email if push notifications are enabled on a phone. ✓ Some social media sites like Facebook allow for private , invite-only groups to communicate with like-minded users in a secure way. X Businesses must be cautious about what they post so as not to accidentally offend others and damage their reputation . X Social media posts and customer comments must be carefully managed , so a social media manager should be hired. Blog / Vlog ✓ Share information with followers in text , images and video formats . ✓ Blogs and vlogs can unite people with similar interests , such as a cookery blog or travel vlog. ✓ Companies can use a blog to promote new products and provide details of upcoming events to try and attract new customers . X Takes a lot of effort and time to create posts, especially editing videos for vlogs. X Bad behaviour or language in vlogs can bring punishment. Several YouTubers have lost their reputations following videos they have posted. Q uesto's Q uestions 2.5 & 4.2 - Communication Methods: 1. Describe three advantages and three disadvantages for each type of communication method . You will need to think of or research some more than the examples listed on this page. a. Letter b. SMS (Text Message) c. Email d. Instant Message e. Cellular Call f. Teleconference g. VoIP Call h. Personal Assistant i. Video Conference j. Social Media k. Blog / Vlog [6 each ] 2. Explain what VoIP stands for and what it allows a user to do. [ 2 ] 3. Describe which communication method would be most appropriate for the following scenarios and why : a. Informing your boss you are going to resign. b. Communicating with management about raising your pay. c. Chatting to team members about when the Christmas party is. d. Sending promotions to thousands of customers. e. Interviewing a potential new employee who is in a different country. f. Talking with a group of investors about the company's latest data. [2 each ] 2.6 - Software Troubleshooting 2.4 Operating Systems 4.1 Communication Skills 4.3 - Personal Attributes Topic List
- 4.3 - Boolean Algebra | OCR A-Level | CSNewbs
Learn about boolean logic and expressions using NOT, AND OR and XOR, Karnaugh maps, Boolean algebra rules including De Morgan’s Laws, distribution, association, commutation and double negation, logic gate diagrams, truth tables, D-type flip flops, half adders and full adders. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 4.3 - Boolean Algebra Watch on YouTube : Boolean Logic (NOT, AND, OR, XOR) Karnaugh maps Boolean algebra rules Logic gate diagrams Truth tables D-type flip flops Half & full adders This topic explores how the logical operations NOT , AND , OR and XOR are used to process binary data and control digital systems . It also looks at how to simplify and represent logic using Karnaugh maps , Boolean algebra rules , logic gate diagrams and truth tables . Boolean Logic Boolean logic is a form of algebra in which all values are either True (1 ) or False (0 ). It’s used in computing and digital circuits to make decisions and control the flow of programs . NOT (negation ) (¬ ) reverses the input value - 1 becomes 0 and 0 becomes 1 . AND (conjunction ) (∧ ) outputs 1 only if both inputs are 1 (e.g. 1 AND 1 = 1 , otherwise 0 ). OR (disjunction ) (v ) outputs 1 if at least one input is 1 (e.g. 1 OR 0 = 1 ). XOR (exclusive disjunction ) (v ) outputs 1 only if one input is 1 but not both (e.g. 1 XOR 1 = 0 , 1 XOR 0 = 1 ). YouTube video uploading soon Karnaugh Maps A Karnaugh map is a visual method used to simplify Boolean expressions and make logic circuits more efficient . It organises all possible input combinations into a grid , where adjacent cells differ by only one bit (following Gray code order ). By grouping together 1s (representing True outputs ) in powers of two (1 , 2 , 4 or 8 cells ), you can identify and remove redundant terms in a Boolean expression . The simplified result reduces the number of logic gates needed in a circuit, making it faster and easier to build . YouTube video uploading soon Boolean Algebra Rules Boolean algebra rules are used to simplify Boolean expressions . De Morgan’s Laws show how to distribute negation across AND and OR operations: ¬(A AND B) = (¬A OR ¬B) and ¬(A OR B) = (¬A AND ¬B) . Distributive Law allows expressions to be expanded or factored , e.g., A AND (B OR C) = (A AND B) OR (A AND C) and vice versa for OR over AND. Associative Law means the grouping of terms doesn’t affect the result . (A AND B) AND C = A AND (B AND C) and (A OR B) OR C = A OR (B OR C) . Commutative Law means the order of terms doesn’t matter in Boolean operations, e.g., A AND B = B AND A and A OR B = B OR A . With Double Negation , two NOTs cancel each other out , returning the original value , e.g., ¬¬A = A . YouTube video uploading soon Logic Gate Diagrams Logic gate diagrams are visual representations of Boolean expressions or digital circuits , showing how data flows through logic gates to produce an output . Each gate performs a basic logical operation (such as NOT , AND , OR or XOR ) and is represented by a distinct symbol . NOT AND OR XOR YouTube video uploading soon Truth Tables A truth table is used to show all possible input combinations for a logic circuit or Boolean expression , along with the resulting output for each combination . Each row in the table represents a unique set of input values (usually 0 for False and 1 for True ). The final column shows the output produced by applying the logical operations to those inputs . The number of rows in a truth table doubles with each additional input , e.g. 4 rows for 2 inputs and 8 rows for 3 inputs . YouTube video uploading soon D-Type Flip Flops A D-type flip-flop i s a sequential logic circuit that stores a single bit of data - either 0 or 1 . It has two inputs , D (data ) and CLK (clock ), and two outputs , Q and ¬Q . When a clock pulse occurs , the flip-flop copies the value of D to the Q output , and that value is held (stored ) until the next clock pulse . This makes D-type flip-flops useful for memory storage , registers and data synchronisation . Essentially, they act as a 1-bit memory cell , storing the last value of D whenever the clock signal triggers . YouTube video uploading soon Half Adders & Full Adders A half adder is a logic circuit with two inputs (A and B ) that are added to produce two outputs - S (sum ), the result of A XOR B - and C (carry ), the result of A AND B . Half adders can only add two bits and cannot handle an input carry from a previous addition . A full adder is an extension of a half adder with three inputs : A , B , and C in (a carry-in from a previous calculation ). It produces two outputs : S (sum ) (A XOR B XOR Cin ) and C out (carry out ) ((A AND B) OR (B AND Cin) OR (A AND Cin) ). Full adders can be linked together to perform multi-bit binary addition in arithmetic circuits. YouTube video uploading soon This page is under active development. Check here for the latest progress update. Q uesto's K ey T erms Boolean Logic: NOT, AND, OR, XOR, Karnaugh maps, logic gate diagrams, truth tables Boolean Algebra Rules: De Morgan’s Laws, distribution, association, commutation, double negation D-Type Flip Flops: data, clock, Q, NOT Q Adders: half adder, full adder D id Y ou K now? The word ' Boolean ' is always spelt with a capital B because it is named after George Boole , a 19th-century English mathematician . His work has become the foundation of all modern digital electronics and computing . 4.2 - Data Structures A-Level Topics 5.1 - Computing Legislation
- 11.2 - Legislation - Eduqas GCSE (2020 Spec) | CSNewbs
Learn about key computing laws including the Data Protection Act (2018) (GDPR), Computer Misuse Act (1990), Copyright Designs and Patents Act (1988), Creative Commons and the Regulation of Investigatory Powers Act. Based on the 2020 Eduqas (WJEC) GCSE specification. 11.2: Legislation Exam Board: Eduqas / WJEC Specification: 2020 + Data Protection Act (2018) In 2018 the European Union introduced GDPR (General Data Protection Regulation ) to protect the privacy of data for people in the EU. The UK matched this by updating the Data Protection Act introduced in 1998 to become the Data Protection Act (2018) . This act protects the data of individuals that is stored on computers and processed by organisations. How the Data Protection Act works: Each person who has their data stored is known as a data subject . An employee within an organisation must be appointed as a data controller and it is they who are responsible for registering with the Information Commissioner . The Information Commissioner is the person in the UK who is responsible for managing several laws , most significantly the Data Protection Act. When registering with the Information Commissioner, the organisation's data controller must be clear on exactly: What information they are collecting, Why it is being collected, What the data will be used for . The six principles of the Data Protection Act state that data must be: 1. Collected lawfully and processed fairly. 2. Only used for the reasons specified. 3. Data must be relevant and not excessive. 4. Data must be accurate and up-to-date. 5. Data must not be stored for longer than necessary, 6. Data must be stored and processed securely. Computer Misuse Act (1990) This act was introduced as computers became cheaper and more common at home and work . The act attempts to stop and punish those who use computers inappropriately . Breaking any of the three principles could result in fines and a jail sentence but only if it can be proved it was done on purpose and not by accident. The Computer Misuse Act (1990 ) includes three main principles : 1. No unauthorised access to data. Example: Hacking a computer system. 2. No unauthorised access to data that could be used for further illegal activities. Example: Accessing personal data to use as blackmail or identity theft. 3. No unauthorised modification of data. Example: Spreading a virus to change data. Freedom of Information Act (2000) This act allows people to request public authorities to release information . Public authorities include local councils , government departments , universities and hospitals . A freedom of information request must be formally submitted in a letter or email and a reply from the organisation is required within twenty days of receiving the request. A simple freedom of information request might be the average response times of the local ambulance service in the past year. Certain requests will not be accepted , such as if processing the request would be too expensive or if it involves sensitive information protected by the Data Protection Act (2018 ). Regulation of Investigatory Powers Act (2000) This act (often shortened to RIPA ) was introduced in response to the increase in both criminal and terrorist activities on the internet, it is used to monitor and access online communication of suspected criminals . If criminal activity is suspected by an individual then this act grants the following powers : Internet Service Providers (ISPs) must provide access to the suspect's online communication , such as emails or social media. Locked or encrypted data may be accessed such as online messages. ISPs could install surveillance equipment or software to track the suspect's online activity . Surveillance may take place to physically track the suspect , e.g. in private vans or by undercover officers in public spaces. Access must be granted to personal information . This act became controversial as its use widened and local councils were using it for minor offences - a Scottish council used the act to monitor dog barking and a council in Cumbria gathered video evidence about who was feeding pigeons . The act has since been changed to only allow the surveillance of crime suspects . Copyright, Designs & Patents Act (1988) This act makes it a criminal offence to copy work that is not your own without the permission of the creator or the copyright holder. This can refer to text, images, music, videos or software. Owning the copyright of an image might not prevent others from copying and using it but this act means that the owner can bring legal proceedings in court to those who have stolen their work . However, it is difficult to trace who has stolen work once it has been uploaded to the internet and copies can easily spread, especially television shows and movies. This act specifically prohibits the following actions: Making copies of copyrighted material to sell to others . Importing and downloading illegally copied material (except for personal use). Distributing enough copyrighted material to have a noticeable effect on the copyright holder . Possessing equipment used to copy copyrighted material , as part of a business. Creative Commons (CC) Licensing A CC licence allows people to share their copyrighted work while still retaining rights to the material . There are different types of licence that specify exactly what can and can't be done to the copyrighted material. For example: An attribution licence allows copyrighted material to be edited and distributed but the original owner must be credited . A non-commercial licence allows copyrighted material to be shared and edited but no profit must be gained through its distribution. CC licences are not automatically given , they must be granted by the copyright owner . To ensure you are not illegally using copyrighted work change the Tools and Licence setting when using Google Images to filter work with CC licenses applied . Telecommunications Regulation Act (2000) This act allows organisations to lawfully monitor communications made online and on the phone by employees while at work . All users of the network should be aware that their communication is being monitored when they are using emails , the internet or telephone calls . The act was introduced to ensure that employees are using the computer systems for the correct purpose , to prevent illegal activity and to monitor staff performance . Codes of Conduct One way that organisations try to ensure that staff are held to professional standards and display appropriate behaviour is to create a code of conduct . This is a set of rules or requirements that employees must follow or they may be punished, such as a temporary ban from the network or being fired. There are two types of codes of conduct: Formal codes of conduct are a set of written rules that clearly state expected behaviour , such as what employees can access online at work . Schools may have this too, and you might have to sign a document at the start of the year before you can use the computers. Informal codes of conduct are used by small organisations where there might not be a written set of rules , but newer employees follow the habits and expectations of senior members of staff. This is harder to monitor but provides a more relaxed working environment. Q uesto's Q uestions 11.2 - Legislation: 1a. State the 6 principles of the Data Protection Act (2018) . [ 6 ] 1b. Explain how the Data Protection Act works . In your answer, you should include definitions of a data subject , the data controller and the Data Commissioner . [ 6 ] 2. Describe the 4 principles of the Computer Misuse Act (1990) . [3 ] 3. Describe the purpose of the Freedom of Information Act (1990) and state an example of a freedom request . [ 3 ] 4a. What is the purpose of RIPA (2000) ? [ 2 ] 4b. Describe 3 actions that RIPA (2000) allows the government / police to do . [ 3 ] 5a. What is the purpose of the Copyright, Designs & Patents Act (1988) ? [ 2 ] 5b. Describe 3 actions that CDPA (1988) prohibits . [ 3 ] 6a. What is a Creative Commons ( CC ) licence ? [ 2 ] 6b. Describe 2 types of CC licence . [ 4 ] 7a. What is the purpose of the Telecommunications Regulation Act (2003) ? [ 2 ] 7b. Describe 3 reasons why this act was introduced . [ 3 ] 8a. What is the purpose of a code of conduct ? [ 2 ] 8b. Describe the difference between formal and informal codes of conduct . [ 2 ] 11.1 - Impacts of Technology Theory Topics
- HTML Guide 10 - More Pages | CSNewbs
Learn how to create more HTML pages and link them together using the anchor tag. 10. More Pages HTML Guide Watch on YouTube: Create a New Page Create a new page by either clicking the new page icon in Notepad ++ or selecting File then New . Then you need to save your new page with an appropriate name as a HTML file . Create a new page, save it and add information to it. Your new page needs the same essential tags as your original page: Then you can add the rest of your content . Link to Other Pages The tag is used to link between pages , just like it is used to hyperlink to other websites. Make sure you type your web pages exactly as you have saved them. Make sure all of your web pages are saved in the same folder . Include links between pages on each new page. A link to the second page. Don't forget a link back to your homepage on each new page. Why not add more pages to make your website more detailed? 9. Colours & Fonts HTML Guide
- 2.2 - Computational Methods | OCR A-Level | CSNewbs
Learn about computational methods including problem recognition, decomposition, divide and conquer, abstraction, backtracking, data mining, heuristics, performance modelling, pipelining and visualisation. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level Specification: Computer Science H446 2.2 - Computational Methods Watch on YouTube : Problem recognition Decomposition Divide and conquer Abstraction Backtracking Data mining Heuristics Performance modelling Pipelining Visualisation Computational methods are techniques to analyse problems and design efficient , effective solutions . Problem Recognition Problem recognition is the process of identifying that a problem exists and understanding its nature before attempting to solve it. It involves determining the aims of the task , identifying constraints and requirements , and clarifying what inputs , outputs and processes are expected from the solution . Effective problem recognition ensures the developer understands the real-world context and avoids solving the wrong problem or missing key details . It is the essential first step that guides all later stages of computational thinking and system design . YouTube video uploading soon Decomposition Decomposition involves breaking a complex system or task into smaller , more manageable components that are easier to design , implement and test . Each sub-problem should ideally be independent and solve a specific part of the overall task , which helps reduce complexity and supports modular program design . This approach enables different developers to work on different components simultaneously and simplifies debugging , maintenance and future updates . By working through smaller logical parts , the full problem becomes far more approachable and structured . YouTube video uploading soon Divide and Conquer Divide and conquer is a technique that splits a problem into smaller sub-problems of the same type , solves them (often using recursion ), and then combines the solutions to produce the final answer . This approach can significantly improve efficiency by reducing large input sizes into more manageable chunks , as seen in algorithms like quicksort . Divide and conquer algorithms include a binary search and a merge sort . The time complexity of divide and conquer algorithms is logarithmic - O(log n) - allowing complex problems to be solved much quicker than other algorithms . YouTube video uploading soon Abstraction Abstraction means removing unnecessary details to focus only on the most important features of a problem or system . It allows programmers to create simplified models that capture essential behaviour without becoming overwhelmed by irrelevant complexities . Abstraction enables generalisation , reusable designs and clearer reasoning about how components interact . In computational contexts, abstraction also highlights the difference between real-world systems and their simplified computational models . YouTube video uploading soon Backtracking Backtracking is used to explore possible solutions to a problem by building a partial solution and abandoning it as soon as it becomes clear it cannot succeed . It works by trying an option , checking whether it leads towards a valid solution , and backtracking to try a different path if a dead end is reached . This approach is used in constraint-based problems such as maze solving . While powerful , backtracking can be computationally expensive , so it often benefits from heuristics or pruning strategies . YouTube video uploading soon Data Mining Data mining is the process of extracting useful patterns , trends and relationships from large datasets . It enables organisations to identify hidden insights , predict behaviours and support data-driven decision-making , particularly in fields such as marketing , healthcare , finance and security . Data mining can lead to enhanced decision-making that can result in innovation , a competitive advantage against similar organisations and increased revenue . It can be used to identify anomalies or unused features . However, data mining doesn't explain the patterns it can identify and it requires powerful computers with a lot of processing power to handle huge amounts of data . YouTube video uploading soon Heuristics Heuristics are approximate problem-solving strategies that aim to produce good solutions quickly when exact , optimal methods are too slow or computationally impractical . They rely on rules of thumb to guide searches through very large solution spaces efficiently . Heuristics are widely used in artificial intelligence , optimisation tasks and complex search algorithms such as A* , where perfect accuracy is less important than fast , practical solutions . The trade-off is that heuristic methods are not guaranteed to produce the optimal answer , but they dramatically reduce processing time . YouTube video uploading soon Performance Modelling Performance modelling is the process of predicting how a system or algorithm will behave under different workloads , input sizes or hardware environments . It uses tools such as mathematical analysis , simulation and Big O notation to estimate required resources such as processing time or memory use . Performance modelling offers a cheaper , quicker and often safer way to test applications . For example, when a company beta tests an online game , it can trial the system with a smaller group of players and then apply performance modelling to predict how much server capacity will be needed when the game is fully released . YouTube video uploading soon Pipelining Pipelining is a technique in which different stages of a process are overlapped so that multiple instructions or operations are being processed simultaneously at different stages . In CPU architecture , for example, one instruction might be fetched while another is decoded and a third is executed , increasing overall throughput without increasing clock speed . Pipelining can also be used in algorithms or data-processing systems to prevent idle time in stages that operate independently . However, pipelining introduces complexity because dependencies or branch mispredictions may require a pipeline to be flushed - interrupting flow and reducing efficiency . YouTube video uploading soon Visualisation Visualisation supports the understanding of a problem by presenting information in a clearer and more accessible form than text alone . It is useful for explaining complex ideas or identifying patterns . Data can be shown visually through diagrams , graphs , trees , flowcharts or tables . The advantages of visualisation include helping to model , represent , analyse or summarise complex concepts . It allows information to be communicated more clearly and in a way that is easier to interpret . It can also provide different perspectives on how a problem might be solved . 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 Methods: problem recognition, decomposition, divide and conquer, abstraction, backtracking, data mining, heuristics, performance modelling, pipelining, visualisation D id Y ou K now? Real-time location services like Google Maps use heuristics to guess travel times using heuristics such as estimated speeds , traffic history and shortcuts to make fast but approximate route suggestions . 2.1 - Programming Techniques A-Level Topics 3.1a-d - Algorithm Complexity
- 2.2 - Information Classification | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about how information can be classified into groups including private, public, sensitive and confidential. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 2.2 - Information Classification Exam Board: OCR Specification: 2016 - Unit 2 Information can be classified into different groups . Some data may fall into more than one classification. Sensitive Information Description: Information that should be protected from being publicly released as it could harm the safety or privacy of an organisation or an individual . Examples: Medical data that could be embarrassing to an individual if released. Financial data that will negatively impact the company if made public to competitors. Non-Sensitive Information Description: Information that can be released publicly with no fear of negative consequence . Examples: Store information including shop addresses , opening hours and the names of senior managers. Product information including prices , online reviews and general availability . Private Information Description: Private information relates to an individual and it should not be shared with anyone else without the data subject's permission . Private information is protected by the Data Protection Act and would need to be stored securely so it cannot be accessed without authorisation. Examples: Home addresses, contact information, birth dates and banking details . Employee data such as linked bank accounts and addresses. Public Information Description: Released to the public and can therefore be seen by anyone . Public information is non-sensitive . Examples: Social media usernames, posts and shared images. Public business information including addresses, promotional material and opening times. A government report like the national census every ten years. Personal Information Description: Identifiable data about a specific individual . Examples: Full name , date of birth , gender , marital status, medical history, sexual orientation and voting history. Business Information Description: Any kind of data about a specific business. This information could be public or private. Examples: Address of its headquarters Financial data or employee details. Annual sales figures . Confidential Information Description: Private data that is more restricted than sensitive information , with access limited to only those who need to know. Examples: Doctor / therapist notes Business Profits and losses Trade secrets Classified Information Description: Highly sensitive information stored by a government institution , requiring the highest levels of restricted access . Access is usually restricted by law and only viewable by authorised individuals or groups. In the UK there are three levels of classified information: OFFICIAL , SECRET and TOP SECRET . Examples: Military data Terrorism precautions Crime scene reports Anonymised Information Description: Anonymisation removes personally identifiable data from information so that an individual cannot be identified . This allows the information to be used in much wider context without running the risk of legal action. Examples: Partially anonymised information - where some of the personal information has been removed and replaced by a symbol . Completely anonymised information - where all identifiable data has been removed . Bank details are often partially or completely anonymised. A partially anonymised credit card number might be listed as: **** - **** - **** - 7427 Problems with anonymising data include: If sensitive data is not anonymised enough and the person can be identified . Useful information could be lost if too much data is anonymised . The public could lose trust in an organisation if data is insufficiently anonymised . Q uesto's Q uestions 2.2 - Information Classification: 1. Describe each type of information classification and give at least two examples : a. Sensitive information [3 ] b. Non-Sensitive information [3 ] c. Private information [3 ] d. Public information [3 ] e. Business information [3 ] f. Confidential information [3 ] g. Classified information [3 ] h. Anonymised information (partial and complete) [6 ] 2. State which classification(s) the following pieces of information would be categorised as. It might fit into more than one category. a. Shop opening times [1 ] b. Medical history [1 ] c. Twitter username [1 ] d. Crime scene report [1 ] 3. Describe three problems that organisations should consider when anonymising data . [6 ] 2.1 - Information Styles 2.3 - Quality of Information Topic List
- HTML Guide 4 - Hyperlinks | CSNewbs
Learn how to link to other websites by using the anchor tag. 4. Hyperlinks HTML Guide Watch on YouTube: A hyperlink is a link to another web page . In this section, you will link your page to a real website, like Wikipedia. Hyperlinks require the anchor tags and Copy a URL Firstly you need to copy the full web address of the web page that you would like to link your page to. Choose an appropriate web page that relates to your chosen topic. Create the Anchor Tag 4. Close the start of the tag . 1. Open the start of the tag . 2. Type href (stands for hypertext reference ). 3. Paste the URL inside speech marks . 5. Type the text you want the user to click on . 6. Time to close the tag . When you save your webpage and run it in a browser you will be able to click highlighted text to open the website you have chosen. Add at least three different hyperlinks to your webpage. Try to add the 2nd & 3rd links without looking at this page - practise makes perfect. Add a Hyperlink within a Sentence You can also create an anchor tag within a sentence. Hyperlinks are important to link webpages together. Next is time for adding pictures! Either change one of your previous hyperlinks to be in the middle of a sentence or create a new one. 3. Text Tags HTML Guide 5. Images
- 1.2 - Storage Media | Unit 2 | OCR Cambridge Technicals | CSNewbs
Learn about secondary storage types such as solid-state, magnetic, optical and paper. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 1.2 - Storage Media Exam Board: OCR Specification: 2016 - Unit 2 Data can be stored on a variety of storage media , each with its own benefits and drawbacks . Magnetic Storage Optical Storage A magnetic hard disk drive (HDD ) is the most common form of secondary storage within desktop computers. A read/write head moves nanometres above the disk platter and uses the magnetic field of the platter to read or edit data. Hard disk drives can also be external and connected through a USB port . An obsolete (no longer used) type of magnetic storage is a floppy disk but these have been replaced by solid state devices such as USB sticks which are much faster and have a much higher capacity. Another type of magnetic storage that is still used is magnetic tape . Magnetic tape has a high storage capacity but data has to be accessed in order (serial access ) so it is generally only used by companies to back up or archive large amounts of data . Optical storage uses a laser to project beams of light onto a spinning disc, allowing it to read data from a CD , DVD or Blu-Ray . This makes optical storage the slowest of the four types of secondary storage. Disc drives are traditionally internal but external disc drives can be bought for devices like laptops. Magnetic Storage Characteristics: ✓ - Large CAPACITY and cheaper per gigabyte than solid state . X - Not DURABLE and not very PORTABLE when powered on because moving it can damage the device. ✓ - Relatively quick ACCESS SPEED but slower than Solid State . Optical Storage Characteristics: X - Low CAPACITY : 700 MB (CD ), 4.7 GB (DVD ), 25 GB (Blu-ray ). X - Not DURABLE because discs are very fragile and can break or scratch easily. ✓ - Discs are thin and very PORTABLE . X - Optical discs have the Slowest ACCESS SPEED . Magnetic Disks are spelled with a k and Optical Discs have a c. Solid State Storage Paper Storage There are no moving parts in solid state storage. SSD s (Solid State Drives ) are replacing magnetic HDDs (Hard DIsk Drives) in modern computers and video game consoles because they are generally quieter , faster and use less power . SSDs can also be external . A USB flash drive ( USB stick ) is another type of solid state storage that is used to transport files easily because of its small size. Memory cards , like the SD card in a digital camera or a Micro SD card in a smartphone , are another example of solid state storage. Paper storage includes printed or hand-written documents, notes, forms, schedules and maps. Paper is relatively inexpensive in small quantities but it can take up a lot of space compared to small devices like USB sticks. Producing paper is environmentally damaging and requires physical security methods to keep safe. Paper, such as a timetable, can be written on if times change and easily carried on a person. However, paper in the form of an essay must be re-printed to add changes . Solid State Characteristics: ✓ - High CAPACITY but more expensive per gigabyte than magnetic . ✓ - Usually DURABLE but cheap USB sticks can snap or break . ✓ - The small size of USB sticks and memory cards mean they are very PORTABLE and can fit easily in a bag or pocket. ✓ - Solid State storage has the fastest ACCESS SPEED because they contain no moving parts . Paper Storage Characteristics: X - Low CAPACITY as each page can only hold a certain amount of information. Paper also takes up physical space . X - Poor DURABILITY as paper can easily tear and become damaged in rain. ✓ / X - PORTABILITY varies as single sheets of paper can be easily folded and placed in a pocket. However, large stacks of paper can be difficult and expensive to transport. X - Paper's ACCESS SPEED , in terms of searching for a specific item, is slow , especially if the paper storage has not been organised efficiently . Q uesto's Q uestions 1.2 - Storage Media: 1. State 3 examples of each type of storage media . For example, a CD for optical storage. [3 each ] 2. Compare each type of storage media in terms of capacity , durability , portability and access speed . You may decide to do this as a table or poster. [16 ] 3. Identify the most suitable device (not the media ) and justify its suitability for the following scenarios: a. Backing up a large database at the end of each day. [5 ] b. Keeping a copy of a cleaning schedule for hotel staff. [5 ] c. Making copies of a promotional video to hand out to audience members at a dancing event. [5 ] 1.1 - Holders of Information Topic List 1.3 - Access & Storage Devices
- 2.4b - Binary Addition & Shifts - OCR GCSE (J277 Spec) | CSNewbs
Learn about how to perform binary addition and binary shifts. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.4b: Binary Addition & Shifts Exam Board: OCR Specification: J277 Watch on YouTube : Binary Addition Overflow Errors Binary Shifts Issues with Shifts Binary Addition Binary addition is a method of adding binary values without having to convert them into denary. How to add binary numbers: What is an overflow error? An overflow error occurs when a binary value is too large to be stored in the bits available . With a byte (8 bits ) the largest number that can be held is 255 . Therefore any sum of two binary numbers that is greater than 255 will result in an overflow error as it is too large to be held in 8 bits . What is binary shift? Binary shift is used to multiply and divide binary numbers . The effect of shifting left is to multiply a binary number. The effect is doubled by each place that is shifted . x The effect of shifting right is to divide a binary number. ÷ Shifting by 1 has an effect of 2 . Shifting by 2 has an effect of 4 . Shifting by 3 has an effect of 8 . For example, shifting left by 2 places has an effect of multiplying by 4 . Another example: Shifting right by 3 places has an effect of diving by 8 . How to shift a binary number: Binary Shifts Watch on YouTube Watch on YouTube Q uesto's Q uestions Binary Addition: 1. Explain what an overflow error is. [ 2 ] 2. Add together the following binary values. If an overflow error occurs you must state one has occurred. a. 010110012 and 010001012 [2 ] b. 110110112 and 010111012 [2 ] c. 001101102 and 011010112 [2 ] d. 110110112 and 010101112 [2 ] e. 011011012 and 110101102 [2 ] Binary Shifts: 1a. Draw a diagram to show the effect of multiplying and dividing a binary number . [2 ] 1b. Draw a diagram or table to show the effect a shift has for each place from 1 to 4 . For example, a shift of 1 place has an effect of 2. [4 ] 2. State the effect of the following shifts: a. Shift right by 2 places. b. Shift left by 1 place. c. Shift left 3 places. d. Shift right by 4 places. [ 1 each ] 3. Shift the following binary numbers and state the effect of the shift: a. 10101011 : Shift left by 2 places. b. 11101100 : Shift right by 3 places. c. 00001011 : Shift right by 2 places. d. 01101110 : Shift left by 1 place. [ 2 each ] 2.4a - Number Systems Theory Topics 2.4c - Character Storage
- OCR CTech IT | Unit 1 | 3.4 Connection Methods | CSNewbs
Learn about the different types of LAN, MAN and WAN networks and how to draw network diagrams. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.4 - Connection Methods Exam Board: OCR Specification: 2016 - Unit 1 Local Area Network (LAN) A Local Area Network (LAN ) is a network in which the computer systems are all located geographically close to each other , for example, in the same building or on the same site , like a school or office . A type of LAN is a Wired Ethernet LAN ( technically Ethernet is a protocol that controls how data is transmitted over a LAN). Wired Ethernet LANs have a high bandwidth so data can be transferred quickly and because it uses cables the data is harder to intercept than a wireless network. Metropolitan Area Network (MAN) A Metropolitan Area Network (MAN ) connects several LANs together to cover the range of a town or city , for example a university campus network. MANs are usually very efficient at providing fast communication for cities , with high connection speeds through the use of fibre optic cables. Wide Area Network (WAN) A Wide Area Network (WAN ) is a network spanning a large geographical area , such as multiple cities or countries . The internet is the ultimate example of a WAN as it stretches across the entire world. Different types of WAN rules and standards are used: ADSL ADSL ( Asymmetric Digital Subscriber Line ) is a method of transferring data across copper wire telephone lines . ADSL is contended, which means that connection speeds are affected and slowed down by more systems that use the network at the same time . The old copper wires also affect data transfer over long distances and can cause data packet loss . Security is also an issue, as the line is shared with others, making data interception more likely . To improve security, a firewall and/or VPN (Virtual Private Network) may be used. Because ADSL uses the telephone system, a modem is require d at both the sending and receiving ends of the connection. A microfilter is also required to allow internet and telephone access at the same time . ADSL is contended - shared between sites. Internet Service Provider ADSL requires a modem Leased Line Leased Line is a method of providing an uncontended , fixed-bandwidth data connection . The user maintains a dedicated connection that is more secure and, because it is uncontended , will have the same speed all of the time , regardless of how busy the network is . Bandwidth is high , security is better , the connection speed is constant and the network is full-duplex (allowing for data transmission both ways simultaneously). These advantages come at a high cost - possibly hundreds of pounds per month - as well as an expensive installation that can take time to be put in place . As it is a complex configuration , a CSU/DSU (Channel Service Unit/Data Service Unit) device is required to properly terminate the leased line . Internet Service Provider Leased Line is dedicated. C A CSU/DSU is required for a leased line. ISDN ISDN (Integrated Services Digital Network ) transmits video and voice data simultaneously over traditional copper telephone wires . This method uses a circuit-switched network where all data packets take the same route between computer systems. Voice Networks Voice networks primarily transfer audio data using phones and telephone lines . PSTN PSTN (Public Switched Telephone Network ) is the global collection of wired public telephone networks that are used to transmit data over a long distance. PSTN is fixed into position using underground cables and therefore the connection quality is much more consistent than other voice networks. Using a wired connection like a PSTN is more reliable and communication will be clearer than alternatives such as cellular or satellite methods. Cellular Cellular networks require a cell tower (also called a transmitting tower ) to be in close proximity to the communication device. Cellular networks have a greater range than PSTN, but buildings and poor weather can disrupt this point-to-point communication method (where line of sight is necessary ). Each cell tower is also connected to the PSTN . Satellite Satellite networks use point-to-multipoint communication by using satellites above the Earth's atmosphere that receive a transmission and rebroadcast them back to Earth. Because of the distance between the communication device and the satellite (potentially thousands of miles ), there is a delay between data transmission and it being received . Satellite networks are beneficial in remote locations , such as natural disaster zones , where the cell tower may not be present or may be damaged. Transmitting large files using satellites may take longer , and it is not recommended for low-latency needs such as video gaming. There are different types of satellites used in communication and networking : Geostationary satellites are used for consistent communication over a specific region , such as TV broadcasts and weather monitoring . They can also be used to transfer data between remote locations . Low-Earth orbiting satellites are closer to the ground so they enable fast communication for internet services . Medium-Earth orbiting satellites are often used for GPS (Global Positioning System ) and other navigation systems . A global positioning satellite is an example of this type of satellite that provides time and geolocation data to GPS receivers back on Earth. Diagrammatical Representation In an exam, you may be asked to draw a diagram representing how networks are connected . This is different from drawing a network topology (e.g. ring or mesh) and refers to: Connection type (e.g. ADSL / Leased Line). Devices (e.g. router / modem), Security methods (e.g. firewall / VPN) Two LANs connected using a Leased line Two LANs connected using an ADSL line Rules for drawing a network diagram: Label each device and label your LANs . Use appropriate symbols and be neat . There are no set symbols, just be consistent (e.g. both modems are the same shape). ADSL must have a modem and VPN router + Firewall . (ADSL is not very secure so it needs to be protected with the VPN router and firewall. It also uses the telephone line across the internet so it requires a modem at both ends). Leased Line must have a router , a direct connection and CSU/DSU . (Leased line is a secure and direct connection - so it doesn’t need a firewall or VPN router and should be direct (not across the internet )). Q uesto's Q uestions 3.4 - Connection Methods: 1a. What is the definition of a LAN ? [ 2 ] 1b. Describe two benefits of using a wired Ethernet LAN . [ 4 ] 2. What is the definition of a MAN ? [ 2 ] 3a. What is the definition of a WAN ? [ 2 ] 3b. What is the difference between a contended and an uncontended network? [ 2 ] 3 c. Describe the differences between a leased line and ADSL . You should discuss security , connection speed and contention ( contended or uncontended ) . [6 ] 3d. Describe the use of any two network devices required for either a leased line and/or for ADSL . [ 4 ] 3e. Describe the purpose of ISDN . [ 2 ] 4a. Compare the use of PSTN and Cellular methods to make telephone calls . [ 4 ] 4b. Explain 1 way that a satellite network should be used and 1 way it shouldn't be used . [ 4 ] 5. Draw a diagram to show how a leased line or ADSL network can be set up between two existing LANs. [6 ] 3.3 - Network Characteristics Topic List 3.5 - Business Systems
- 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 ➡








