top of page

Search CSNewbs

Search this site

304 results found with an empty search

  • 3.2 - Protocols | F161 | Cambridge Advanced National in Computing | AAQ

    Learn about protocols including FTP, HTTP, POP, SMTP, SNMP, TCP, UDP, ICMP, IP and the TCP/IP stack. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 3.2 - Protocols Watch on YouTube: Protocols TCP/IP Stack You need to know the role and uses of specific common protocols (FTP , HTTP , POP , SMTP , SNMP , TCP , UDP , ICMP , IP ). You also need to understand the structure , content and use of the 4-layer TCP/IP stack . What You Need to Know Common Protocols A protocol is a set of rules that determines how data is communicated between devices over a network . FTP FTP (File Transfer Protocol ) is used to transfer files between computers over a network , typically between a client and a server . It is used when uploading or downloading files from a server , such as transferring website files to a web server . HTTP HTTP (HyperText Transfer Protocol ) is used to request and transfer webpages and other web content between a web browser and a web server . It is used when accessing websites or when web-based applications communicate with servers . However, HTTPS is the secure , encrypted version commonly used today. POP POP (Post Office Protocol ) is used by an email client to retrieve emails from a mail server , traditionally storing them on the user's device . It is used when emails need to be downloaded from a mail server for access through an email application , particularly where local or offline access is required . SMTP SMTP (Simple Mail Transfer Protocol ) is used to send and transfer email messages between email clients and mail servers and between mail servers . It is required when a user sends an email , including transferring that email between mail servers on its way to the recipient . SNMP SNMP (Simple Network Management Protocol ) allows network administrators and management software to monitor and manage devices on a network to collect information about their status . It is used to monitor devices such as routers , switches , servers and printers , for example checking whether a network device is operating correctly . TCP TCP (Transmission Control Protocol ) provides reliable and ordered delivery of data packets between devices . It checks that packets arrive correctly and retransmits missing packets when necessary. It is used when accuracy and reliability are more important than speed , such as transferring files , loading webpages and sending emails . UDP UDP (User Datagram Protocol ) sends data quickly , although without checking that every piece has arrived or is in the correct order , reducing delays . It is used when speed is more important than perfect delivery , such as live video/audio , online gaming and voice calls . ICMP ICMP (Internet Control Message Protocol ) is used to send network status , diagnostic and error messages between network devices . It is required when diagnosing network problems and checking whether another device can be reached , such as when using the ping command. IP IP (Internet Protocol ) addresses and routes data packets across networks by using IP addresses to uniquely identify devices . It is used when data needs to be sent between devices across networks , with IP helping packets travel from the source towards the correct destination using an appropriate route . TCP/IP Stack The TCP/IP stack is a four-layer model that describes how data is prepared , transmitted across networks and received by applications . When sending data , it travels down through the layers . When receiving data , it travels up through the layers . Different protocols are used at specific layers of the model. Application Layer This is the top layer , where network applications and services interact with the network . It includes protocols such as HTTP , FTP , SMTP , POP and SNMP . It determines how applications communicate and exchange specific types of data across a network . Example : A web browser uses HTTP to request content from a web server . Transport Layer This layer is responsible for transporting data between devices and includes TCP and UDP . It determines how data should be delivered , including whether reliability (using TCP ) or speed (using UDP ) is more important . Example : TCP can ensure that a downloaded file arrives completely and in the correct order , while UDP can prioritise speed during an online game . Internet Layer This layer is responsible for addressing and routing packets between networks and includes protocols such as IP and ICMP . It ensures packets can travel towards the correct destination using IP addresses . Example : IP is used to route packets across the internet to the destination device . Network Access Layer This is the lowest layer , concerned with how data is physically transmitted across the network using technologies such as Ethernet (a wired connection) and WiFi . It handles communication between a device and the network it is directly connected to . Example : A laptop could transmit data wirelessly to a local router using WiFi . Q uesto's Q uestions 3.2 - Protocols: 1. What is a network protocol , and why do you think protocols are needed when devices communicate ? [ 2 ] 2. State the role of FTP , HTTP , POP , SMTP and SNMP and give an example of when each would be used. [2 each ] 3. State the role of TCP , UDP , ICMP and IP and give an example of when each would be used. [2 each ] 4. Describe the structure and purpose of each of the four layers of the TCP/IP stack . [2 each ] 5. Explain how different protocols and layers of the TCP/IP stack can work together to transfer data across a network , such as sending an email on a wired connection . [ 4 ] Online games use UDP because receiving data quickly is often more important than receiving every single packet . A tiny amount of missing data may be preferable to the game pausing while it waits for it to be resent . D id Y ou K now? 3.1 - APIs Topic List 4.1 - Security Considerations

  • 2.3 - Quality of Information | Unit 2 | OCR Cambridge Technicals | CSNewbs

    Learn about the characteristics of information and the impacts of both good and poor quality information on customers and stakeholders. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 2.3 - Quality of Information Exam Board: OCR Specification: 2016 - Unit 2 Information Characteristics Valid Information This is correct, up-to-date and complete information that fits its purpose . For example, detailed end-of-year financial data in the form of graphs. Biased Information This is technically correct, but slanted , information that presents a one-sided view . For example, end-of year financial data that focuses on profits and ignores significant losses. Relevant Information Information should be appropriate for the required purpose . Irrelevant information may get in the way of correct decision making. Accurate Information Information should be carefully selected and entirely correct , inaccurate information can lead to unwanted consequences such as higher costs and missed deadlines. Reliable Information Information from a source that can be verified and confirmed to be correct . For example, BBC News is a more reliable information source than social media posts. Information Quality The quality of information that an organisation uses will have a significant impact on further processes and decisions. Good quality information that is accurate , valid or reliable can lead to better strategic decisions , meeting deadlines and innovation . Poor quality information that is biased , inaccurate or out of date may lead to negative consequences such as loss of customer trust , fines and legal challenges . Positive Effects of Good Quality Information Reliable information received by the management team . Good quality research information. Good quality sales information. Accurate cost projection information. Informed decisions with a higher chance of success . Can lead to innovation and better understanding . Strategic decisions and planning ahead . Projects will stay within their budget . Accurate time expectations . Projects will be completed on time . Negative Effects of Poor Quality Information Biased survey with inaccurate results . Inaccurate stock information. Out of date information received by management . Inaccurate data has led to poor reviews online . Inaccurate time expectations . Misinformed decisions , not responding to customers needs . ??? Inaccurate delivery times , customers unhappy . Too much / little stock. Miss out on opportunities , possible fall in profits . Loss of customer trust , loss of customers and reputation . Financial issues . Projects take longer , cost more , stakeholders unhappy . Possible project failure . Q uesto's Q uestions 2.3 - Quality of Information: 1. Describe 5 characteristics of information . [10 ] 2. Explain 5 positive impacts of good quality information . [10 ] 3. Explain 5 negative impacts of poor quality information . [10 ] 2.2 - Information Classification 2.4 - Information Management Topic List

  • 2.1 - Logical Operators - Eduqas GCSE (2020 spec) | CSNewbs

    Learn about the four logical operators - NOT, AND, OR and XOR - and truth tables. Based on the 2020 Eduqas (WJEC) GCSE specification. 2.1: Logical Operators & Truth Tables Exam Board: Eduqas Specification: 2020 What is a logical operator? Inside of each computer system are millions of transistors . These are tiny switches that can either be turned on (represented in binary by the number 1 ) or turned off (represented by 0 ). Logical operators are symbols used to represent circuits of transistors within a computer. The four most common operators are: NOT AND OR XOR What is a truth table? A truth table is a visual way of displaying all possible outcomes of a logical operator. The input and output values in a truth table must be a Boolean value - usually 0 or 1 but occasionally True or False. NOT A NOT logical operator will produce an output which is the opposite of the input . NOT is represented by a horizontal line . Boolean Algebra Notation written as NOT A A Truth Table AND An AND logical operator will output 1 only if both inputs are also 1 . AND is represented by a full stop. Boolean Algebra Notation written as A AND B A.B Truth Table OR An OR logical operator will output 1 if either input is 1 . OR is represented by a plus. Boolean Algebra Notation written as A OR B A+B Truth Table XOR An XOR (exclusive OR) logical operator will output 1 if the inputs are different and output 0 if the inputs are the same . XOR is represented by a circled plus. Boolean Algebra Notation written as A XOR B A B Truth Table Multiple Operations Exam questions will ask you complete truth tables that use more than one logical operator . Work out each column in turn from left to right and look carefully at which column you need to use. Simplification You may be asked to use a truth table to simplify an expression . This is actually really easy. Once you've completed the truth table see if any columns match the final expression . A+B and A+(A+B) both result in the same values , therefore: A+(A+B) can be simplified as just A+B. Q uesto's Q uestions 2.1 - Logical Operators: 1. Copy and complete the following truth tables: 1b. Simplify the expression in the second truth table. 2a. A cinema uses a computer system to monitor how many seats have been allocated for upcoming movies. If both the premium seats and the standard seats are sold out then the system will display a message. State the type of logical operator in this example. 2b. For the more popular movies, the cinema's computer system will also display a message if either the premium seats or the standard seats have exclusively been sold out. However, it will not output a message when both have been sold out. State the type of logical operator in this example. 1.6 - Additional Hardware 2.2 - Boolean Algebra Theory Topics

  • 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

  • 2.3 - Additional Programming Techniques - OCR GCSE (J277 Spec) | CSNewbs

    Learn about arrays, records and SQL (structured query language) including the SELECT, FROM and WHERE commands. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). Exam Board: OCR Specification: J277 2.3: Additional Programming Techniques Watch on YouTube : String Manipulation File Handling Arrays Subprograms Random Numbers SQL This section of the specification includes programming topics that are outlined in 1.2 (Designing Algorithms). You must have an understanding of more complex programming techniques , such as how to manipulate strings , handle files and use subprograms . The best practice for learning is to try the tasks in the Python pages on this website (see the link to the right). Visit the Python section of CSNewbs ---> Subprograms What is a subprogram? Large programs are often broken down into smaller subprograms (also called subroutines ). Each subprogram focuses on a specific function of the code, helping to decompose a complex problem into more manageable chunks . Defining subprograms A subprogram is defined (identified) using the def command in Python. A program may use many subprograms , which are usually defined at the start of the code . Calling subprograms Running a line of code that includes the name of a subprogram will call (activate) it. When called , the program will run the subprogram code before returning back to the line that called it . Subprograms are only run when called , so depending on decisions made, a program may end without calling every (or any) subroutine. Parameters A parameter is a value that is passed into a subprogram when it is called , allowing the value to be used within the subprogram . A subprogram may not use a parameter , e.g. multiply() , or one parameter , e.g. multiply(num) , or several e.g. multiply(num1,num2) . Any parameters must be identified when the subprogram is defined , e.g. def multiply(num): Return The return command will send a value back to the line the subprogram was called on, allowing it to be used there . For example, the 'quad' subprogram in the example below returns the value of the 'result' variable back to the main program, allowing it to be printed . A subprogram will end either by reaching the last line of code within it, or when it reaches a return command . Subprograms that return a value are called functions . Subprogram example This subprogram is defined using the identifier 'quad ' with a parameter named number . The subprogram is called in the main program, multiplies the number passed in as a parameter by 4 and returns a value back to the main program to be printed. def quad (number): result = number * 4 return result #Main Program number = int ( input ( "Enter a number: " )) print ( "The number quadrupled is" , quad(number)) Enter a number: 5 The number quadrupled is 20 Functions and Procedures There are two types of subprograms . A function is a subprogram that returns a value , using the return command, which allows the value to be used in the line of code the function was called in. The 'divide' function below returns the value of the variable 'total' to the main program to be printed. A procedure is a subprogram that does not return a value . Example of a Procedure def multiply (num): total = num * 2 print ( "The number doubled is" , total) #Main Program num = int ( input ( "Enter a number: " )) multiply(num) Enter a number: 4 The number doubled is 8 Example of a Function def divide (num): total = num / 2 return total #Main Program num = int ( input ( "Enter a number: " )) print ( "The number halved is" , divide(num)) Enter a number: 9 The number halved is 4.5 Advantages of using subprograms Subprograms break a complex program down into smaller parts , making it easier to design and test . Each subroutine can be tested separately and abstraction can be used to simplify a complicated problem . Using subprograms allows code to be easily reused in other programs , as it has already been written , making it quicker to develop new programs or build on existing work. Using subprograms avoids code repetition , as they can be called as many times as necessary . This makes programs shorter and quicker to develop , making them easier to maintain and debug . Work can easily be split up between team members to work on different subprograms at the same time . Array An array is a static data structure that can hold a fixed number of data elements . Each data element must be of the same data type i.e. real, integer, string. The elements in an array are identified by a number that indicates their position in the array. This number is known as the index. The first element in an array always has an index of 0 . You should know how to write pseudo code that manipulates arrays to traverse , add , remove and search for data . The following steps use Python as an example, although Python does not use arrays and uses a similar data structure called a list (that can change in size as the program runs ). See the 8a and 8b Python pages for tasks on how to use lists . What Traversing an Array To traverse (' move through ') an array a for loop can be used to display each data element in order. Example code for traversing: Output: 'Inserting' a value In an array the size is fixed so you cannot insert new values, but you can change the value of elements that already exist. Overwriting the fourth element (Daphne) with a new value (Laura) will change it from Daphne to Laura. Example code for inserting: Output: 'Deleting' a value In an array the size is fixed so you cannot delete values, but you can overwrite them as blank . Overwriting the second element (Shaggy) with a blank space makes it appear deleted. Example code for deleting: Output: Searching an Array For large arrays a for loop is needed to search through each element for a specific value . This example checks each name to see if it is equal to Velma. Example code for searching: Output: Two-Dimensional Array Often the data we want to process comes in the form of a table . The data in a two dimensional array must still all be of the same data type , but can have multiple rows and columns . The two-dimensional array to the right shows the characters from Scooby Doo along with their associated colour and their species. Each value in the array is represented by an index still, but now the index has two values . For example [3] [0] is 'Daphne'. Unless stated in an exam , measure row first , then column . Searching a two-dimensional array: To print a specific data element you can just use the index number like Daphne above. To search for a specific value you will need two for loops , one for the row and another for the values of each row . The example to the right is looking for the value of ' Velma ' and when it is found it prints the associated data from the whole row . Example code for printing: Output: Example code for searching: Output: Records Unlike arrays, records can store data of different data types . Each record is made up of information about one person or thing . Each piece of information in the record is called a field (each row name). Records should have a key field - this is unique data that identifies each record . For example Student ID is a good key field for a record on students as no two students can have the same Student ID. A 2D array may be used to represent database tables of records and fields . SQL SQL (structured query language ) is a language that can be used to search for data in a database . The format of an SQL statement is: SELECT field1, field2, field3… FROM table WHERE criteria Example of an SQL statement using the Cars table: SELECT Make, Colour FROM Cars WHERE Miles > 1000 AND Age > 8 Cars table SQL uses wildcards which are symbols used to substitute characters . The * symbol represents ALL fields . Example: SELECT * FROM Cars WHERE Colour = “blue” < Click the banner to try a self-marking quiz (Google Form) about records and SQL. Q uesto's Q uestions 2.3 - Additional Programming Techniques: 1a. Describe what the following terms mean: subprogram , parameter , function , procedure . [ 2 each ] 1b. Describe three advantages of using subprograms . [ 6 ] 2. Describe the differences between a 1D array , 2D array and record . [ 3 ] 3. A one-dimensional array looks like this: TigerBreeds["Sumatran","Indian","Malayan,"Amur"] Write the code to: a. Print the element with the index of 3. [ 2 ] b. Change Indian to South China. [ 2 ] c. Remove the Amur element. [ 2 ] d. Search through the array for 'Malayan'. [ 2 ] 4a. Use the Cars table above to write the SQL statement to display the make and miles for cars that are grey OR blue . [ 3 ] 4b. Write an SQL statement to display all fields for cars that are 10 years old or less . [ 3 ] 2.2 Data Types Theory Topics 3.1 - Defensive Design

  • Cambridge Advanced National in Computing | CSNewbs

    An explanation and introduction to the OCR Level 3 Cambridge Advanced National in Computing specification. This certificate (H029) or extended certificate (H129) is an Alternative Academic Qualification (AAQ). Level 3 Alternative Academic Qualification (AAQ) / Cambridge Advanced National In Computing Computing: Application Development Everything you need to know about this course: The Cambridge Advanced National in Computing: Application Development is a new course that began in September 2025 . It contains both exam and NEA (coursework ) units and focuses on developing software prototypes for applications such as websites , video games and even virtual reality . The video to the left explains all the key details of this new course, but remember, things can change so the OCR website will have the latest updates . Exam Units: Unit F160: Fundamentals of Application Development F160 YouTube Playlist Unit F161: Developing Application Software F161 YouTube Playlist These pages are based on content from the OCR Cambridge Advanced National in Computing (AAQ) specification .

  • 2.4c - Character Storage - OCR GCSE (J277 Spec) | CSNewbs

    Learn about the main character sets - ASCII (American Standard Code for Information Interchange) and Unicode. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.4c: Character Storage Exam Board: OCR Specification: J277 Watch on YouTube : Character Sets ASCII Unicode Text File Size What is a Character Set? A character set is a table that matches together a character and a binary value . Each character in a character set has a unique binary number matched with it . Character sets are necessary as they allow computers to exchange data and humans to input characters . Two common character sets are ASCII and Unicode : H = 01001000 ASCII Unicode ASCII (American Standard Code for Information Interchange ) is a common character set which does not take up much memory space . It is important to understand that the number of characters that can be stored is limited by the bits available - ASCII uses 1 byte (8 bits ) which only gives 256 possible characters . This is enough for the English language but it can’t be used for other languages or all punctuation symbols. Unicode is a more popular character set because it uses 2 bytes (16 bits ) that allow for 65,536 possible characters . The extra byte allows many different languages to be represented , as well as thousands of symbols and emojis . However Unicode requires more memory to store each character than ASCII as it uses an extra byte . Character sets are logically ordered . For example, the binary code for A is 01000001 , B is 01000010 and C is 01000011 as the code increases by 1 with each character. The file size of a text file is calculated as shown below: bits per character x number of characters Example: A small text file uses the ASCII character set (which uses 8 bits per character ). There are 300 characters in the file . 300 x 8 = 2,400 bits This could be simplified as 300 bytes or 0.3 kilobytes . File Size of Text Files 01101010 = 256 possible characters 8 bits (1 byte) 1000101101001111 = 65,536 possible characters 16 bits (2 bytes) Q uesto's Q uestions 2.4c - Character Storage: 1. What is a character set and why are they needed ? [ 2 ] 2. Describe 3 differences between ASCII and Unicode . [6 ] 3. The binary code for the character P in ASCII is 01010000 . State what the binary code for the character S would be. [1 ] 4a. A text file uses the ASCII character set and contains 400 characters . What would the file size be in kilobytes ? [ 2 ] 4b. A text file uses the Unicode character set and contains 150 characters . What would the file size be in kilobytes ? [ 2 ] 2.4b - Binary Addition & Shifts Theory Topics 2.4d - Image Storage

  • 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.4 - Physical Security | CSNewbs

    Learn about methods of physically protecting data such as biometric devices, RFID and tokens, privacy screens and shredding. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 5.4 - Physical Security Exam Board: OCR Specification: 2016 - Unit 1 RFID & Tokens Radio-frequency identification (RFID) uses electromagnetic fields to attach tags to physical objects . RFID tags can be embedded within 'dumb' objects such as clothing, packages and even animals. RFID is used with security tokens (such as an ID keycard ) to permit the access of authorised people to certain areas. RFID can be used by IT companies to track equipment and manage access . Shredding This is the cutting up of documents (paper or CDs ) into small pieces so that they cannot be reassembled and read. Sensitive data on paper or optical disc should be shredded when no longer required. Locks A lock can be used to prevent access to server rooms or sensitive data stores . Only authorised personnel with the right key will have access. Physical Security Measures Biometrics Biometric devices require the input of a human characteristic (such a fingerprint , iris or voice scan ). The biometric data is checked against previously inputted data in a database . A match will allow access to the user. See more in section 1.1 . Privacy Screens These plastic screens are placed over a monitor to obscure the screen to anyone except the person sitting directly in front of them. This prevents shoulder surfing and prevents data from being read by unauthorised people nearby. Q uesto's Q uestions 5.4 - Physical Security: 1. Explain how locks can be used as a physical security method within an organisation. [2 ] 2. Explain what RFID is and how it can be used with tokens as a physical security method. [3 ] 3. Explain how biometric devices can be used as a physical security method. [3 ] 4. Explain how privacy screens are used to protect data. [2 ] 5. What is the purpose of shredding ? [2 ] 5.3 - Threats Topic List 5.5 - Digital Security

  • App Inventor 2 | Variables | CSNewbs

    Learn how to use App Inventor 2 to create simple programs. Try to complete tasks 4, 5 and 6 on this page. Perfect for Key Stage 3 students to experiment with block coding, objects and properties. App Inventor Tasks 4, 5 & 6 - Using Variables This page will teach you how to make three simple apps that use variables . These apps will prepare you for the final program - the Pop-up Blob game. App #4 - Button Masher The first app to make is a simple program that counts how many times a button is pressed (but don't press it too much! ) This app will introduce you to using variables in App Inventor. Open App Inventor 2 (use the button below) and create a new project. You will need to log in with a Google account. App Inventor 2 Firstly, grab a button and two labels and place them in the Viewer . Using the Properties tab, you need to make the following changes: Button Text to 'Press Me!' Button Height to 60 pixels and Width to 'Fill parent...' Label 1 Text to 'Number of Presses' Label 2 Text to '0' Both Label 1 and Label 2 Width to 'Fill parent...' Both Label 1 and Label 2 TextAlignment to 'centre : 1' In the Components tab change the component names to be easier to code later. Switch to Blocks layout and drag an initialize global to block into the centre. In the blank space type 'Presses' - this is the name of the variable that will store how many times the button has been pressed. Drag a 0 block from Math. This will set the number of presses to 0 when the app starts. Drag a when ButtonPresses Clicked from the ButtonPresses section and add the necessary code inside. This code increases the variable value of Presses by 1 every time the button is clicked. It also changes the LabelPresses text to display the number of presses. Improve Your App As you will have seen in the video at the top, I programmed the app to go a bit crazy when 35 presses were recorded. In the code below I have shown how to use an if then block to check if the number of presses is 35. If it is then I have made the button invisible - this is an important feature we will use in later programs. Copy this code and add the following features to the then part of the if statement: Set the background colour to black. Change the Label1 Text Colour to white. Change the Label1 Text Size to 40. Change the Label1 Text to 'You broke it...' Program 4 Complete! App #5 - Timer The second app to make is a timer that counts up one second at a time. It also needs a reset button that sets the timer back to 0 again. It will introduce you to the clock component and enabling / disabling components. Open App Inventor 2 (use the button below) and create a new project. You will need to log in with a Google account. App Inventor 2 The code for this program is straightforward; it will take more effort getting the layout right. In the Palette tab, drag a HorizontalArrangement from the Layout section. It will look like an empty grey box at first. Grab a Button as well and place it underneath. Now drag two labels into the grey box and place the second one directly after the first, it may take a few attempts to get them to appear side by side like below: The last component to drag over is Clock (it is in the Sensors section in the Palette tab). It will go into its own section underneath: Change the name of some of the components so that they make more sense. Now to make some changes in the Properties tab. You should know enough by now to work out how to change your components so that it looks like this in your Viewer : Change your layout to Blocks and add the code blocks to the right. This code makes the Label named Seconds update by 1 every second, just like a timer. The code to the left will make the Label named Seconds reset to 0 when the button is pressed. Improve Your App As you will have seen in the video at the top of this task, I added a pause/unpause button that will set the enabled feature of the timer to true or false. You will need to complete the following steps (I've been deliberately vague to make it a challenge - break it down into small steps and use the colours to help you): Add a new button. Add code that, when the new button is clicked , checks if the TimerEnabled is true . If it is, then change TimerEnabled to false . Else change it to true . Now you also need to change the Text of the Button to read either "Pause" or "Unpause" . Program 5 Complete! App #6 - Windy Day The third app to make is an app that blows leaves around your screen. It will introduce you to random numbers, the canvas and coordinates . Open App Inventor 2 (use the button below) and create a new project. You will need to log in with a Google account. App Inventor 2 In the Palette tab, drag a Canvas from the Drawing and Animation section. A Canvas allows sprites (objects) to move around inside of it. In Properties , change the Height and Width of Canvas to 'Fill parent...' for both, so it fills the whole screen. In the Palette tab, drag over five ImageSprites from the Drawing and Animation section and drop them anywhere inside the canvas. Download the leaf picture with all App Inventor images on the basics page here . Upload the leaf image it in the Media tab. In the Components tab change the names of your ImageSprites to be leaf1, leaf 2 etc. For each leaf sprite, in the Properties tab, change the Picture to the leaf you just uploaded and change Height and Width to 30 pixels each. Finally, in the Palette tab, in the Sensors section, drag over a Clock . Your Viewer should look like the image to the left. X axis Y axis 0 300 500 Now for an explanation of coordinates. Each sprite (leaf) has an x coordinate (horizontal) and a y coordinate (vertical). For example, the leaf in the top right would have coordinates of x = 270 and y = 100. Can you work out approximately what the other leaves coordinates would be? What the code blocks below do is randomise the x and y coordinates for leaf1 every second. The word integer means a whole number . Use this code and add to it to make all 5 leaves randomly change coordinates. Improve Your App Add a pause / unpause button, just like in the Timer app that pauses the timer so that the leaves stop blowing (and starts them blowing around again too). Find a nice picture (maybe of a park?) online and upload it in the Media tab. Set this as the Canvas BackgroundImage . Add an audio file of some whooshing (why not record it yourself?). Program 6 Complete! Task 7 KS3 Home

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

  • 3.4 - Stages of Data Analysis | Unit 2 | OCR Cambridge Technicals | CSNewbs

    Learn about each of the 8 stages of data analysis including exactly what should occur at every stage. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification for Unit 2 (Global Information). 3.4 - Stages of Data Analysis Exam Board: OCR Specification: 2016 - Unit 2 Data analysis is the process of identifying and collecting data to be viewed and modelled, in the aim of discovering patterns or trends that can be used for conclusions and decision-making. 1. Identify the need Before anything else can take place, objectives are set for what the data analysis will hope to achieve. Aims must be clear and well defined . For example, an organisation should define what information will be needed and what exactly they want to find out by the end of the process (the purpose of the data analysis). Not clearly defining the required information or purpose could lead to worthless results and a waste of the entire data analysis process. 2. Define the scope In this stage the restrictions of the project are defined. Scope includes factors such as budget , content , detail , timescales (deadlines) and any further constraints . 3. Identify potential sources Project planners must identify a wide range of sources for the potential information, ensuring that it is unbiased and covers the objectives . The specific data will depend on the project but it could include sales figures or customer surveys for example. 4. Source and select information Information is gathered from the identified sources in stage three. Any unsuitable data is excluded so that results are not unreliable as poor quality information can lead to numerous negative consequences . Planners will have to determine the accuracy and reliability of any identified sources and select the best . 5. Select the most appropriate tools There are many different data analysis tools that can be used as part of this sequence; in this stage the most appropriate tool for the project is selected. Examples include methods of presentation such as charts and graphs for a visual representation of data . Regression analysis can also be used - regression is the determining of relationships e.g. if the amount spent on advertising bottled water increases, will consumption increase too or are other factors involved? If there is a link, a business can continue to spend more on advertising if consumption and profit also rises. Trend analysis is another option - this shows patterns over time , for example, bottled water consumption each year over the past decade. 6. Process and analyse data Data has now been collected and can be inputted into software such as spreadsheets or databases to further analyse. Putting collected data into a spreadsheet for example allows for analysis to begin as graphs can be created from the data and any patterns or trends discovered. 7. Record and store information The data has been collected and analysed and now any findings are written into a report . Any patterns, trends or findings can be described with statistical evidence generated from the analysis. 8. Share results A report is worthless if not shared with the stakeholders . Sharing can take different forms such as a typed document posted out to stakeholders, an email with major findings summarised or as a post on a website . Q uesto's Q uestions 3.4 - Stages of Data Analysis: 1. List the 8 stages of data analysis in order. [8 ] 2. A supermarket chain called 'Fresh Food UK' wants to complete data analysis to see which stores across the country have been most profitable in the last year . Explain how Fresh Food UK would use each of the 8 stages of data analysis . [16 ] 3.2 & 3.3 - Information Categories Topic List 3.5 - Data Analysis Tools

© CSNewbs 2026

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