Search CSNewbs
304 results found with an empty search
- 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 ➡
- OCR CTech IT | Unit 1 | 5.3 - Threats | CSNewbs
Learn about 7 key threats to avoid on the internet, including virus, worm, trojan interception, social engineering and eavesdropping. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 5.3 - Threats Exam Board: OCR Specification: 2016 - Unit 1 What are the 7 threats to computer systems? Phishing Misleading individuals or organisations into giving up sensitive information (such as passwords or bank details), often through the use of emails . Hacking Exploiting weaknesses in a system or network to create, view, modify or delete files without permission. Similar to data theft - illegally removing copies of personal or company data from computer systems. :( Trojan Appears to be a useful or well-known program but when downloaded and installed it secretly gives the attacker a ' backdoor ' to your system. Through this backdoor the attacker can access data without the user knowing. Football 2020 FREE Interception Data packets on a network are intercepted by a third party (e.g. hacker) and copied, edited or transferred to a different location than the intended destination. Eavesdropping Intercepting , in real-time , private communication traffic such as instant messages or video calls . Social Engineering Tricking individuals into giving sensitive information , e.g. by claiming to be from the IT department and asking for their password and username to check for viruses. Virus A virus can replicate itself and spread from system to system by attaching itself to infected files that are then downloaded and opened. Once activated, a virus can modify data or corrupt a system so that it stops working. Q uesto's Q uestions 5.3 - Threats: 1. An IT company is making an information booklet about the different types of online threats . Describe each type of threat: a. Phishing b. Hacking / Data Theft c. Trojan d. Interception e. Eavesdropping f. Social Engineering g. Virus [2 each ] 5.2 - Operational Issues Topic List 5.4 - Physical Security
- Python | Section 2 Practice Tasks | CSNewbs
Test your understanding of inputs in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python - Section 2 Practice Tasks Task One: Food & Colour Ask a user to input their favourite colour and their favourite food and then print a response using both answers. Requirements for a complete program: Use only one print line. Include both of the user's answers in the print line. Include capital letters, full stops and no irregular spacing in the printed line. Remember: Break up variables in a print line by using commas or plus signs between each part of the "sentence" . Example solutions: What is your favourite colour? green What is your favourite food? cheese Yum! I'll have green cheese for dinner tonight! What is your favourite colour? purple What is your favourite food? ice cream Let's have purple ice cream for breakfast! Task Two: Trivia Question Create a program that asks the user to input an answer to a trivia question of your choice then prints the correct answer with their response too. Requirements for a complete program: Only two lines. Include capital letters, full stops and no irregular spacing in the printed line. Example solution: What is the capital city of Botswana? Windhoek Correct answer: Gaborone. Your answer: Windhoek What is the closest planet to Earth? Mars Correct answer: Mars. Your answer: Mars Task Three: Getting to School Create a program that asks the user how they get to school and how many minutes it takes them (using int ). Then print an appropriate response that uses both variables . Requirements for a complete program: Use only one print line. Include both of the user's answers in the print line. Include capital letters, full stops and no irregular spacing in the printed line. Example solution: How do you get to school? car How many minutes does it take you? 45 Really? It takes you 45 minutes to get here by car? How do you get to school? walking How many minutes does it take you? 20 Really? It takes you 20 minutes to get here by walking? ⬅ 2b - Inputting Numbers 3a - Data Types ➡
- 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 ➡
- Python | 4c - Logical Operators | CSNewbs
Learn how to use logical operators in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 4c - Logical Operators AND Operator The AND operator is used to execute certain code if more than one thing is true . AND is commonly used with account logins - both the username AND the password must be correct . The example below requires both a secret word and a secret number to be correct: print ( "To enter you need the secret word and the secret number!" ) word = input ( "What is the secret word? " ) number = int ( input ( "What is the secret number? " )) if word == "solitude" and number == 2011: print ( "Correct! You may enter!" ) else : print ( "Incorrect! Get out of here!" ) If no part or only some of the if statement is true then the indented code will not run : To enter you need the secret word and the secret number! What is the secret word? solitude What is the secret number? 4503 Incorrect! Get out of here! To enter you need the secret word and the secret number! What is the secret word? windhelm What is the secret number? 1021 Incorrect! Get out of here! Only If all parts of the if statement are true will the indented code be executed : To enter you need the secret word and the secret number! What is the secret word? solitude What is the secret number? 2011 Correct! You may enter! Logical Operators Task 1 ( Three Easy Questions) Ask the user three easy questions and print a special response if they get all three correct . Use the and operator to see if their answer for all each of the questions is correct. You must use a unique variable nam e for each of your inputs (it can't be 'answer' for all three, for example). Example solutions: What is the capital of Germany? Berlin What is the chemical formula for water? H20 What year did World War Two end? 1945 You absolute genius! What is the capital of Germany? Vienna What is the chemical formula for water? W20 What year did World War Two end? 1945 Bit awkward, I thought you'd do better... OR Operator The OR operator is used to execute certain code if one of several statements is true . The program below is checking if either a , e , i , o or u were entered. letter = input ( "Enter a letter: " ) if letter == "a" or letter == "e" or letter == "i" or letter == "o" or letter == "u" : print ( "You entered a vowel." ) else : print ( "You entered a consonant." ) Enter a letter: f You entered a consonant. Enter a letter: e You entered a vowel. It is important that you re-write the variable and operator (e.g. letter ==) each time you use 'or' . It will not work if you just write: if letter == “a” or “e” or “i” or “o” or “u”: Logical Operators Task 2 ( Twins?) Ask the user to enter their favourite colour and then ask them their age . If their favourite colour is the same as yours AND their age is the same as yours then print “Snap! Are you my twin?” . If only one of the statements is true (use the OR operator) then print “Spooky! You’re a bit like me.” . Add an else statement to print “We’re not so similar, you and I.” if there's nothing in common. Example solutions: What's your favourite colour? green What's your age? 15 Snap! Are you my twin? What's your favourite colour? blue What's your age? 15 Spooky! You're a bit like me. What's your favourite colour? red What's your age? 16 We're not so similar, you and I. ⬅ 4b - Mathematical Opera tors Sectio n 4 Practice Tasks ➡










