Search CSNewbs
Search this site
304 results found with an empty search
- 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 ➡
- 4.2 - Client Requirement Specfications | F160 | Cambridge Advanced National in Computing AAQ
Learn about the importance of client requirement specifications and the need for specific elements such as functional requirements, process constraints and data formats. Based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) (AAQ - Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 4.2 - Client Requirement Specifications Watch on YouTube : Client Requirement Specifications A client requirement specification is a detailed document that outlines what the client needs from a new system . Elements include the new system’s purpose , functional and non-functional requirements , constraints and success criteria . As well as understanding the importance of creating client requirement specifications , you need to know the purpose of each element and how they can be gathered using the methods from section 4.1 . Client Requirement Specifications Elements of Requirement Specifications Specifications ensure developers and stakeholders fully understand what the client wants the system to do , avoiding misunderstandings and costly changes later. There are several elements of client requirement specifications you need to know : Purpose of the new system Current system deficiencies Requirements ( functional and n on-functional ) Data formats Process constraints Version and source control Client-defined constraints Three considerations for data storage location are local/onsite , cloud and physical storage devices . Budget Time Integration Software Hardware Data storage location Q uesto's Q uestions 4.2 - Client Requirement Specifications: 1. Give three reasons why it is important to create a client requirement specification . [8 ] 2. Describe the purpose of each client-defined constraint . [6 ] 3. Describe the difference between functional and non-functional requirements . [ 2 ] Some cloud storage data centres are built in cold climates , such as Sweden and Norway , to reduce cooling costs for servers that run 24/7 . D id Y ou K now? 4.1 - Gathering Client Requirements Topic List 4.3 - Decomposition Methods
- 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 3.1f - Standard Algorithms Watch on YouTube : Bubble sort Merge sort Insertion sort Quick sort Linear search Binary search Djisktra's algorithm A* algorithm The OCR A-Level course requires an understanding of algorithms used for sorting , searching and pathfinding including how they can be used for traversing and how to write them in pseudocode or a high-level programming langauge . Bubble Sort Bubble sort repeatedly compares adjacent items and swaps them if they are in the wrong order . Its advantage is that it is very simple to understand and easy to implement . However, it is extremely slow for large lists , with a worst- and average-case time complexity of O(n²) . It performs slightly better (O(n)) if the list is already nearly sorted and the algorithm is optimised t o detect no swaps . Overall, it is easy but inefficient . YouTube video uploading soon Merge Sort Merge sort is a divide-and-conquer algorithm that repeatedly splits a list into smaller sublists , sorts them recursively and then merges them back together . Its major benefit is that it is consistently fast with a time complexity of O(n log n) in the best , average and worst cases , making it very efficient for large datasets . It is also stable and works well with linked lists . However, a drawback is that it requires additional memory to store the temporary sublists , making its space complexity O(n) . Merge sort is therefore reliable but not memory-efficient . YouTube video uploading soon This page is under active development. Check here for the latest progress update. Insertion Sort Insertion sort works by taking each item and inserting it into the correct position in a growing sorted portion of the list . It is efficient for small or nearly sorted datasets and has a best-case complexity of O(n) , making it useful in real-time systems or hybrid algorithms . However, for large , randomly ordered datasets it becomes slow , with average- and worst-case performance of O(n²) . It uses very little memory space - (O(1) - which is one of its key benefits compared to more complex sorts like merge or quick . YouTube video uploading soon Quick Sort Quick sort is a divide-and-conquer algorithm that chooses a pivot , partitions the list into smaller elements and larger elements , and recursively sorts the partitions . Its main advantage is speed : the average-case time complexity is O(n log n) and it is often faster in practice than merge sort due to good cache performance and in-place partitioning . However, if poor pivot choices are made (e.g., always picking the first item in an already sorted list ), the worst case becomes O(n²) . Despite this, quick sort is widely used because good pivot-selection strategies minimise this risk . YouTube video uploading soon Linear Search Linear search checks each item in a list one by one until it finds the target value or reaches the end . Its benefit is that it works on any list (sorted or unsorted ) and is extremely simple to use and implement . The drawback is inefficiency for large datasets because its best , average and worst time complexity is O(n) . This means the time taken grows directly with the size of the list , making it suitable only for small collections of data . YouTube video uploading soon Binary Search Binary search repeatedly halves a sorted list to locate a target value , making it much faster than linear search . Its key benefit is efficiency : the time complexity is O(log n) for best , average and worst cases , meaning performance scales extremely well with large datasets . However, its major limitation is that the data must be sorted beforehand , and maintaining a sorted list can itself be costly . When this condition is met , binary search is one of the most efficient searching algorithms available. YouTube video uploading soon Dijkstra's Algorithm Dijkstra’s algorithm is a pathfinding algorithm used to find the shortest path from a starting node to all other nodes in a weighted graph with non-negative edge weights . It works by gradually exploring the graph , always choosing the next closest unvisited node , updating the shortest known distances to its neighbours and marking nodes as 'visited ' once the shortest path to them is confirmed . The algorithm continues until all nodes have been processed or the destination is reached , guaranteeing the shortest path . YouTube video uploading soon A* Algorithm The A* algorithm is an informed pathfinding algorithm that also finds the shortest path in a weighted graph , but it uses a heuristic (an estimate of the distance to the goal ) to guide its search more efficiently toward the target . A* combines the actual cost from the start to a node with a heuristic estimate of the remaining distance , allowing it to prioritise exploring nodes that appear more promising . YouTube video uploading soon Q uesto's K ey T erms Sorting Algorithms: bubble sort, flag, pass, merge sort, insertion sort, quick sort, pivot Seraching Algorithms: linear search, binary search, precondition Pathfinding Algorithms: Dijsktra's algorithm, A* algorithm, heuristic D id Y ou K now? Halo: Combat Evolved released on the Xbox in 2001 and introduced groundbreakingly convincing enemy AI for the time. Pathfinding algorithms were used more realistically than older games so that enemies wouldn't just run directly at the player but behaved in different ways depending on the situation , such as cooperating , flanking or retreating by reacting dynamically to the player . 3.1e - Data Structure Algorithms A-Level Topics
- 3.6 - 7 Layer OSI Model - Eduqas GCSE (2020 spec) | CSNewbs
Learn about networking standards and the seven layers of the Open Systems Interconnected (OSI) model - Application, Presentation, Session, Transport, Network, Data Link and Physical. Based on the 2020 Eduqas (WJEC) GCSE specification. 3.6: 7-Layer OSI Model Exam Board: Eduqas Specification: 2020 What are networking standards? Networking standards are rules that allow computer systems to communicate across networks . Standards have been created to ensure devices can exchange data and work together . What is the 7-layer OSI Model? The OSI ( Open Systems Interconnection ) model is split into 7 layers . The model is used to visualise the different parts of a network as each of the seven layers has a specific role . Splitting a network design into layers is beneficial to programmers as it simplifies design , making it easier to modify and use . Each layer has a certain purpose and is associated with different protocols . The seven layers are explained below: 7 Allows humans and software applications to use the network e.g. browsers (HTTP /HTTPS ) and email (SMTP ) and file transfer (FTP ). 6 The purpose of the presentation layer is to display data in a standard format that other devices can accept and understand . 5 The session layer establishes a connection between computers allowing data to be sent between them. Data can be synchronised in each session to allow for efficient data transfer . 4 TCP breaks the data down into data packets . This layer makes sure the data is sent and received in the correct order and reassembled at the destination without errors. 3 IP is responsible for addressing and routing data packets . The optimal route for the data to take is calculated in this layer. Also known as the 'Internet Layer '. 2 Ethernet sets out the format of data packets . This layer handles transmission errors and passes data to the physical layer . 1 This layer converts the data packets into bits so they can be transferred across a physical connection using routers and switches . Q uesto's Q uestions 3.6 - 7-Layer OSI Model: 1a. What are networking standards ? [ 2 ] 1b. Describe why network designs are split into layers . [ 2 ] 2. Create a diagram similar to the one above and describe each layer of the OSI Model. [ 14 ] 3. Look at the statements below and name the layer that is being described: a. This layer ensures data packets are sent and received correctly. b. This layer checks for errors in transmission and sets out the data packet format. c. This layer displays data in a format that can be understood. d. This layer allows software like web browsers to interact with the network. e. This layer transfers bits across a connection using routers. f. This layer establishes a connection between computer systems. g. This layer uses addresses to ensure data packets take the correct route. [ 7 ] 3.5 - Protocols Theory Topics 3.7 - The Internet
- 2.1 - Data Formats & Types | F161 | Cambridge Advanced National in Computing | AAQ
Learn about data formats such as ASCII, Unicode, CSV, fixed-width, JSON and XML and data types, including Boolean, character, date, integer, real and string. Resources based on Unit F161 (Developing Application Software) for the OCR Cambridge Advanced Nationals in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced Nationals in Computing (AAQ) Certificate: Computing: Application Development (H029 / H129) Unit: F161: Developing Application Software 2.1 - Data Formats & Types Watch on YouTube: Data Formats Data Types You need to know the characteristics , uses , advantages and disadvantages of six data formats (ASCII , Unicode , CSV , fixed-length , JSON and XML ). You also need to know the characteristics , uses , advantages and disadvantages of six data types (Boolean , character , date , integer , real and string ). What You Need to Know Data Formats ASCII ASCII (American Standard Code for Information Interchange ) is a character-encoding system that represents 256 characters using 8-bit ( 1 byte ) binary codes , including English letters , numbers , punctuation and control characters . It is used for storing and transferring basic English text , such as simple text files and character-based data . It is simple , requires little storage and is widely supported by different computer systems . However, it supports a limited range of characters , so it cannot represent most non-English alphabets , symbols or emojis . Link, Ocarina of Time, 1998 Lamball, Palworld, 2024 This information can simply be stored as plain ASCII characters. Unicode Unicode is a character-encoding standard that can represent a very large range of characters and symbols from different languages . A common encoding is UTF-16 , which uses 16 bits (two bytes ) for 65,536 possible characters . It is typically used for websites , applications and documents that need to store multiple languages , symbols and emojis . Unicode supports characters from many different languages and provides a consistent standard across different systems . However, some Unicode encodings can require more storage per character than ASCII, and incorrect encoding can cause characters to display incorrectly . Link 🗡️ | Ocarina of Time ⏳ | 1998 🗓️ Lamball 🐑 | Palworld 👹 | 2024 🗓️ Similar to ASCII, but Unicode allows a much wider range of characters and symbols. CSV CSV (comma-separated values ) is a plain-text , tabular format where each row represents a record and values are separated into columns , usually by commas . The first row often contains column names . It is used in storing and transferring tabular data , such as spreadsheets , datasets and data exported from databases . CSV is simple , human-readable , lightweight and widely compatible , resulting in small files that are fast to process and can be opened by many applications . But, it has limited support for data types and complex/nested data , with no enforced structure or validation , meaning inconsistent formatting , missing values and encoding problems can occur. Character,Game,Year Link,Ocarina of Time,1998 Lamball,Palworld,2024 Each value is separated by a comma, with column headings on the first row. Fixed Width Fixed width is a text-based format where each field is allocated a fixed number of characters , so data always starts and ends at predetermined positions . It is used in legacy systems , financial systems and transferring structured records where fields need to remain in predictable positions . Fixed width has a consistent and predictable structure , making fields easy for software to locate without needing separators . But it can waste storage space because fields must use their allocated width and changing the structure or allowing longer values can be difficult . Character Game Year Link Ocarina of Time 1998 Lamball Palworld 2024 Each field is given a set amount of space so that the values line up. JSON JSON (JavaScript Object Notation ) is a lightweight , text-based and human-readable format that uses key-value pairs and can contain nested data . It is used when transferring structured data between applications , particularly web applications , servers and APIs . JSON is lightweight , easy for humans to read and software to process , supports complex/nested data and works with many programming languages . It is simple to read/write , scalable and language-independent . But it can become difficult to read with large or deeply nested datasets , and syntax errors can prevent the data from being parsed correctly . { "character": "Link" , "game": "Ocarina of Time" , "year": 1998 } Data is stored using key-value pairs. XML XML (eXtensible Markup Language ) is a text-based , human-readable format that uses custom tags and attributes to describe and structure data and supports hierarchical/nested data . It is used to store and transfer structured data between different applications and systems , including configuration files and data exchange . XML is flexible , platform-independent and human-readable , with support for metadata and nested structures that allow complex data to be represented . However, XML can be verbose (uses lots of extra text/tags ), increasing file size and processing requirements . Complex XML can be difficult to process and syntax errors such as unclosed tags can prevent data from being parsed . Link Ocarina of Time 1998 Data is stored between descriptive opening and closing tags Data Types Character A character stores a single letter (e.g. L ), digit (e.g. 7 ) or symbol (e.g. @ ). It is used to store individual values such as initials , grades or single-letter codes . It is suitable and storage-efficient when only one character needs to be stored , but can only store one character , so multiple characters require a string . String A string stores a sequence of characters , such as "Pokopia" , "Nintendo Switch 2" or "2026" . Strings store text-based information , such as names , addresses , usernames and descriptions . They can store multiple characters and a wide variety of text , making it flexible for textual data . However, they usually require more storage than a single character , and numbers stored as strings cannot normally be used directly in mathematical calculations . Integer An integer stores whole numbers with no decimal places , including positive numbers , negative numbers and zero , e.g. -5 , 0 , 120 . It is used to store values that are counted in whole numbers , such as quantity , lives remaining or number of users . Integers require less storage and can be faster and more precise to process than real numbers when decimals aren't required . However, they cannot represent fractional or decimal values , making it unsuitable for values such as 3.5 . Real A real (also known as a float ) stores numbers that can contain a fractional/decimal part , such as 3.14 , -2.5 or 10.0 . it is used in storing measurements and calculations requiring decimal values , such as temperature , distance or speed . Reals can represent a much wider range of numerical values than integers , including fractional values . However, they require more storage than an integer and some real numbers cannot be represented exactly , potentially causing small rounding errors . Boolean A Boolean stores one of two possible values , usually True or False . It is used in representing yes/no or on/off condition s, such as whether a user is logged in . It requires little storage and is simple and efficient for making decisions in programs . But it can only represent two states , so it is unsuitable when more possible values are needed . Date The date data type stores a calendar date , typically containing a day , month and year , such as 21/11/1998 . It is used to store dates of birth , appointment dates , deadlines and release dates . it allows software to validate , compare , sort and perform calculations with dates . However, different date formats can cause confusion or compatibility problems . For example, 11/10/2026 could mean 11th October or 10th November . Q Half-Life 2 493 93.4 True 18/08/2026 Q uesto's Q uestions 2.1 - Data Formats & Types: 1. For each data format (ASCII , Unicode , CSV , fixed width , JSON and XML ), describe its characteristics and give one typical use . [ 3 each ] 2. Give two advantages and two disadvantages of each of the following data formats : CSV , fixed width , JSON and XML . [ 4 each ] 3. Explain the difference between ASCII and Unicode , including an advantage and disadvantage of each. [ 5 ] 4. For each data type (Boolean , Character , Date , Integer , Real and String ), describe its characteristics and give an example of data it could store. [ 2 each ] 5. For a hospital database , explain why different data types and data formats would be suitable for storing different pieces of data . Be specific . [5 ] Some older computers stored years using only two digits to save space . This contributed to the Y2K problem , where 00 could be interpreted as 1900 rather than 2000 , leading organisations around the world to check and update their systems before the new millennium . D id Y ou K now? 1.3 - Storage Topic List 2.2 - Data Flow
- Python | 1a - Printing | CSNewbs
Learn how to create print statements in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. top Python 1a - Printing Printing in Python To output a message onto the screen, use the print command. Then place your message within brackets and speech marks . For example: print ( "Welcome to Python!" ) When you run the program, the text will print to the Python console: Welcome to Python! Printing Task 1 (Full Name & To Your Left) On the first line, print your first name and surname. On the next line, write another print statement to print t he name of the person (or thing) to your left. Example solution: Elsie Parker pencil case Printing over Several Lines One way of writing across multiple lines is to write several print commands like this: print ( "Welcome to...." ) print ( "Computer Science " ) print ( "Newbies!!! " ) = Welcome to .... Computer Science Newbies!!! However, when we program, we always want to make our code the most efficient it can be by using as few lines as possible . Therefore you can write \n within a printed statement to move it to the next line. Make sure you use \ and not / otherwise it will print the slash and not make a new line! print ( "Welcome to....\n Computer Science\n Newbies!!! " ) = Welcome to .... Computer Science Newbies!!! Both pieces of code display the same thing, but the second one is more efficient because it only uses one line. Printing Task 2 (Name, Colour, Movie) Use \n to write your name, favourite colour and favourite movie in only one line of code. Example solution: Matthew yellow Interstellar ⬅ Setting Up Python 1b - Comments ➡
- Python Editor | CSNewbs
A simple Python editor using the Skulpt and Code Mirror libraries. Learn how to create simple programs in Python. Try practice tasks and learn through text and images. Perfect for students learning GCSE Computer Science in UK schools. Simple Python Editor You can use this simple Python editor below to complete most of the tasks in the CSNewbs Python sections (except colorama and text files ). It includes basic libraries such as random and time . When you're ready, click 'Run Code ' to see the result in the output below . Python Homepage
- 5.1 - Testing | F161 | Cambridge Advanced National in Computing | AAQ
Learn about the importance of testing applications, test plan structure, test types and test data. 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 5.1 - Testing Watch on YouTube: Purpose of testing Test plan structure Test data Types of testing You need to know the purpose , importance , advantages and disadvantages of testing applications , as well as the impacts of not carrying out testing . You must understand the structure and contents of test plans and the importance of testing , remedial actions and retesting during application development. You need to know the role of each type of test data (normal , extreme and erroneous ). Finally, the purpose , advantages and disadvantages of each type of testing (technical and user ) must be known as well as when and how each type should take place . What You Need to Know Testing Testing is the process of checking application software to identify problems and ensure that it works correctly and meets its requirements before it is released. Purpose of Testing Key purposes of testing application software include: Identify and fix defects , such as bugs and errors , before release . Check that requirements are met and the application works as expected for users. Check reliability , performance and compatibility across different conditions and devices . Improve security by identifying vulnerabilities and ensuring the application complies with relevant legal requirements . Support continuous improvement by identifying areas that could be optimised . Why Testing is Important Testing is important because it helps developers produce reliable , secure and high-quality software that meets user requirements . Finding problems during development also allows them to be corrected before they affect users and can make problems cheaper and easier to fix . If application software is not properly tested : Bugs and errors may cause features to fail or the application to crash . Poor user experience and compatibility issues may frustrate users or prevent the application from working correctly . Security vulnerabilities may increase the risk of data breaches and cyberattacks . Incorrect results or unmet requirements may mean the application does not achieve its intended purpose . Financial and reputational damage may occur if users lose confidence in the application. Testing Advantages Testing Disadvantages Improves quality by identifying bugs so they can be corrected . Increases customer satisfaction by ensuring the application meets users' requirements and expectations . Reduces costs by finding problems early when they may be cheaper to fix . Reduces risk by identifying potential problems before they affect users . Improves security by identifying vulnerabilities before they can be exploited . Improves user experience by ensuring features work correctly and consistently . Takes considerable time and could affect development deadlines . Increases development costs through additional staff , time and specialist testing software . Can be affected by human error if testers make mistakes or overlook problems . May require specialist knowledge to configure and maintain complex automated testing tools . Can produce false positives , causing developers to waste time investigating problems that do not exist . Cannot cover every possible situation , meaning some defects may remain after release . Test Plan Structure A test plan is a structured document that outlines the tests that will be carried out on application software , including how each test will be performed and the expected and actual results . Parts of a test plan include: Test number : A unique number given to each test so it can be easily referenced . Test type : Identifies the category of testing being carried out, such as functional , usability or compatibility testing . Test description : A brief description of what feature or part of the application is being tested . Purpose : Explains why the test is being carried out and what it aims to check . Procedure : Describes the steps the tester must follow to carry out the test. Test data : The values entered into the application during the test. Expected result : Describes what should happen if the application works correctly . Actual result : Records what actually happened when the test was carried out. Remedial action required : Records any changes needed if the actual result does not match the expected result . Remedial action fixes errors found during initial testing to ensure the software performs as intended . Retest result : Records the outcome after the test is repeated following any remedial action , confirming whether the problem has been fixed . Types of Test Data Test data is the data entered into application software during testing to check that it handles different types of input correctly. Normal Data Normal data is valid and within the expected range or format for an input. It is used to check that the application accepts and correctly processes typical data that users are expected to enter . Example : If an age field accepts values from 18 to 100 , 35 would be normal test data . Extreme Data Extreme data is valid data at the boundary of the permitted range , such as the minimum or maximum allowed value . It is used to check that the application correctly accepts and processes values at its limits . Example : If an age field accepts values from 18 to 100 , 18 and 100 would be extreme test data . Erroneous Data Erroneous data is invalid because it is outside the permitted range , has the wrong data type or does not follow the required format . It is used to check that the application rejects invalid data appropriately , such as by displaying an error message . Example : If an age field accepts whole numbers from 18 to 100 , then 17 , 101 or "twenty" would be erroneous test data . Types of Testing The two main types of testing are technical testing and user testing . Technical Testing Technical testing checks whether the application works correctly , reliably and securely from a technical perspective . Its purpose is to identify technical faults , bugs , performance problems and compatibility or security issues so they can be corrected . Technical testing takes place throughout development , before release and after significant updates to check that changes have not introduced new problems . Developers or testers use planned tests and specialist testing tools , which may be manual or automated , to test different parts of the application and compare the results against what was expected . Technical testing can identify problems early in development , improve reliability , performance and security , and automated tests can be repeated efficiently . However, it can be time-consuming and expensive , may require specialist knowledge or tools , and cannot guarantee that every possible problem will be identified . There are three common types of technical testing : Fuzz Testing Fuzz testing is where the application is given large amounts of unexpected , invalid or random data to see how it responds . Its purpose is to identify weaknesses such as crashes and errors when the application receives inputs the developers may not have anticipated . Example : Automatically entering unusual characters , extremely long inputs and unexpected values into an application's input fields . Load/Stress Testing Load testing (also known as stress testing ) is when the application is placed under high or increasing levels of demand to see how well it performs . It checks the application's performance , reliability and limits when many users , requests or large amounts of data are being handled . Example : Simulating thousands of customers attempting to use an online shop at the same time before a major sale . Migration Testing Migration testing checks that data or an application has been transferred correctly from one system , platform or version to another . It ensures that data remains complete and usable and that the application continues to function after migration . Example : Checking that all customer accounts and order histories remain correct after moving them from an old database to a new one . User Testing User testing involves intended users trying the application to check that it meets their needs and is suitable for real-world use . Its purpose is to identify usability , accessibility and user-experience problems and gather feedback about whether the application meets user requirements . User testing takes place when a working version of the application is available , particularly before final release , although users can test prototypes and versions throughout development . Users are given the application and realistic tasks or scenarios to complete, while feedback and observations about their experience are collected . User testing provides real feedback from users , reveals how people actually interact with the application and identifies usability and accessibility problems . It validates design decisions and can improve user satisfaction . However, recruiting suitable users can be time-consuming and costly , feedback can be subjective or inconsistent and a small group of testers may not represent every type of use r. Q uesto's Q uestions 5.1 - Testing: 1. Explain the purpose and importance of testing application software , including the possible impacts of not testing thoroughly . [ 4 ] 2. Give advantages and disadvantages of testing application software . [4 ] 3. Describe the structure of a test plan and explain the purpose of normal , extreme and erroneous test data . [6 ] 4. Compare technical testing and user testing , including their purpose , how and when they take place , and their advantages and disadvantages . [6 ] 5. Describe fuzz testing , load/stress testing and migration testing , giving an example of when each could be used . [6 ] Bethesda's Fallout 76 experienced a number of technical problems when it launched in 2018 , with players reporting bugs , crashes and performance issues . Its first major update after launch was around 47 GB on consoles , despite the game itself being around 53 GB , showing how substantial post-release fixes can become when software requires further development and testing . D id Y ou K now? 4.1 - Security Considerations Topic List 5.2 - Application Installation
- OCR CTech IT | Unit 1 | 1.6 - Hardware Troubleshooting | CSNewbs
Learn about troubleshooting tests and information to record when a hardware error occurs. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 1.6 - Hardware Troubleshooting Exam Board: OCR Specification: 2016 - Unit 1 What is troubleshooting? Troubleshooting means to analyse and solve a problem with a computer system. Hardware troubleshooting refers to fixing an issue with the physical parts of the computer or any connected devices. Hardware issues might occur as a result of damage (intentional or accidental), power surges or malware . Steps to Take When an Error Occurs Try to identify the problem by looking for the simplest explanation first (e.g. checking the power supply) and ask the user questions about the issue. Create a theory about what the cause of the problem could be and prepare to test the theory using a series of troubleshooting tests . Create a troubleshooting plan and record the steps that are taken before moving on to the next test. Check the system works after each stage of the plan. Create a findings document that explains if and how the problem was fixed, for future reference if the problem occurs again. Documentation Technicians and help desk (see 3.5 ) staff should document , on a fault sheet , the following information regarding the issue: The fault itself (such as 'system not turning on'). The system in question. The user logged in at the time. Exact date & time the problem occurred. Symptoms of the issue (such as 'slow load times' or 'beeping'). Problem history - checking if it has happened to this system before. Back up documentation - Whether the data been backed up recently. Troubleshooting Tools The following tools can be used to identify an error so a technician has a greater understanding of the problem. Event Viewer Event Viewer is a type of utility software that lists detailed information about an error when one occurs. It can be used to work out how to fix the issue and will display both minor and major faults. Power On Self Test (POST) On start-up, a power on self test (POST) checks memory, power, hardware and cooling systems are all working properly. Beep codes signal if an error has been detected; 1 beep will sound for no error but if multiple beeps are heard then an error has been discovered. Ping Test This is a connectivity test between two computers. A message is sent to the destination computer and waits for a return message named the echo reply . This procedure can be repeated with other systems until the source of the problem is identified from a computer that does not reply . Q uesto's Q uestions 1.6 - Hardware Troubleshooting: 1. Summarise the 'Steps to Take when an Error Occurs ' section into your own top three tips for what to do when a hardware error happens . [3 ] 2. List 6 pieces of information that an IT technician should record when a hardware error has occurred . [6 ] 3. Briefly explain the purpose of three troubleshooting tools . [6 ] 1.5 - Communication Hardware 1.7 - Units of Measurement Topic List
- OCR CTech IT | Unit 1 | 3.5 - Business Systems | CSNewbs
Learn about business systems used by IT companies including MIS, SOP, CRM and help desk. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 3.5 - Business Systems Exam Board: OCR Specification: 2016 - Unit 1 A business may use several types of complex systems to manage data , communicate with customers and ensure efficient business practice . Management Information System (MIS) A management information system (MIS ) is used to collect , store , analyse and present data for an organisation. The system processes a large amount of data and organises it (such as in databases) so that it can be used for decision-making and general data analysis . An efficient MIS can be used to display the financial status of an organisation, highlight areas of improvement and generate sales forecasts based on current data. Specifically, a bank could use an MIS for: Looking at the number of customers that visit each branch . Forecasting potential profits based on historical data of previous years. Profiling customers based on their actions and behaviour . Identifying specific customers with low activity to target them for email campaigns . Benefits of an MIS: Integrated system: A Management Information System shares a large amount of data from multiple departments within an organisation to produce accurate reports. For example, financial data can be used to generate accurate pay slips. Decision Making: An MIS can be used to inform an organisation's decision making by highlighting areas that need improvement within the company. Powerful analysis: An MIS will use large data sets to provide accurate data analysis that can be used in many different ways by an organisation. Trends and patterns can be identified easily. Backup capabilities: Data can be stored centrally and backed up easily if a disaster occurs. Limitations of an MIS: Cost and installation: An MIS is an expensive tool that needs to be professionally set up and requires technical knowledge to maintain. Requires accurate data: If any data is incorrect or out of date then the analysis will consequently be inaccurate . Potentially disastrous decisions could be made as a result of incorrect data. Training: Employees will need to be trained to use the software accurately for maximum efficiency. Customer Relationship Management (CRM) A CRM system is used to improve the relationship between an organisation and its customers . It can be used to increase customer loyalty with those who already subscribe to their services as well as used to try and increase the customer base by attracting new customers. The ultimate goal of a CRM system is to increase and retain customers which will result in more sales and higher profits . Examples of CRM systems: Marketing teams tracking which promotions customers are responding well to . Customer service teams responding quickly to customer complaints , through a variety of channels (such as social media, emails and telephone calls). Marketing teams rewarding customers who have spent a certain amount in a year. Standard Operating Procedures (SOP) A standard operating procedure is a comprehensive step-by-step guide of how to carry out a business routine. An organisation will create an SOP to abide by legal requirements and high company standards . SOPs must be followed in exactly the same method each time and by each employee to ensure the same outcome and remove any inconsistencies . Benefits of Standard Operating Procedures: Ensures consistency: The outcome should be the same each time when following SOPs which ensures an efficient result . Fewer errors: If all employees follow the SOP carefully then there should be no errors . Meets legal requirements : The SOPs will be designed to meet up-to-date legislation as well as any standards that the company have set. Limitations of Standard Operating Procedures: Inflexible practice: A lot of time may be spent on creating the paperwork and admin instead of the actual job. Legal updates: The SOPs must be periodically reviewed and updated to take into account any new laws . Sales Ordering Process (SOP) This is the process of a customer buying a product or service and the company reviewing the purchase . A sales order process ( SOP ) is important as it creates a clear plan for ordering a product . Each department can use the sales order to know exactly what jobs to perform. Help Desk Help desk software is used to provide real-time support to a user from a trained member of staff to overcome a technical problem . The customer logs an issue in the form of a ticket and is assigned a technician . As the technician tries to communicate with the user and solve the issue they must follow a service level agreement that defines the high standards the technician must keep to. When the problem has been solved the ticket is closed . All tickets are archived so that persistent problems can be checked to see what worked previously . If Help Desk software is used within a company by employees (rather than with external customers) to report and solve issues, it is known as ' in-house ' . Benefits of Help Desk software: Keeping Track: C ustomers can see that their issues are being dealt with and administrators have clear records of the problem. Audit Logs: All tickets are archived so if a problem occurs on the same machine the previous solution can be attempted again . Communication : Formal messages between the customer and the administrator mean there are no mixed messages and a running dialogue can take place as the problem is fixed. Limitations of Help Desk software: Cost : Setting up the necessary software and hardware and paying for an administrator to run the system can cost a large amount of money. Availability issues: A technician might not be available 24/7 or during holidays. Formal structure: This is a formal system that takes time to record and respond to which might annoy staff when it is only a minor issue to be fixed, like resetting a password. Knowledge: Technicians need technical expertise regarding the company's computer systems and need to be able to fix both hardware and software issues. This might require additional training every few years. Ticket Response Time: Administrators must ensure that all tickets are read and responded to in reasonable time so that productivity in the company is not affected. Q uesto's Q uestions 3.5 - Business Systems: 1a. What is the purpose of an MIS ? [ 2 ] 1b. Describe 3 ways a bank could use an MIS . [ 3 ] 1c. Describe the benefits and limitations of an MIS . [10 ] 2a. What is the purpose of a CRM ? [ 4 ] 2b. Describe 3 ways that a CRM could be used by a company . [6 ] 3a. What are standard operating procedures (SOP ) and why are they used? [ 4 ] 3b. Describe the benefits and limitations of SOPs . [ 10 ] 4a. What is the sales ordering process ( SOP )? [ 2 ] 4b. Why is the SOP important in a company? [ 2 ] 4c. Summarise the 3 stages of the SOP . [ 4 ] 5a. What is the purpose of help desk software? [ 2 ] 5b. Explain how help desk works , including tickets , technicians and service level agreements . [3 ] 5c. Describe the benefits and limitations of Help Desks . [ 10 ] A typical sales order process will work as follows: 1. The customer orders a product or service, usually via an email or telephone conversation . 2. The order is confirmed and a sales order is created. This is a document that lists the customer’s requirements and exactly what they have purchased . 3. The sales order is sent to the relevant departments (e.g. production , finance and delivery ) so they can fulfil the customer’s request . Once the order has been completed, the customer will be sent an invoice for payment . 3.4 - Connection Methods Topic List 4.1 - Communication Methods
- 1.3.2 - Software Categories | F160 | Cambridge Advanced National in Computing | AAQ
Learn about the purpose, characteristics, advantages, disadvantages, examples and client requirements of application software categories including open, closed, shareware, freeware and embedded software. Resources based on Unit F160 (Fundamentals of Application Development) for the OCR Cambridge Advanced National in Computing (H029 / H129) AAQ (Alternative Academic Qualification). Qualification: Cambridge Advanced National in Computing (AAQ) Unit: F160: Fundamentals of Application Development Certificate: Computing: Application Development (H029 / H129) 1.3.2 - Application Software Categories Watch on YouTube : Open Software Closed Software Shareware Freeware Embedded Software There are five application software categories you need to know : Open Closed Shareware Freeware Embedded For each software category you need to know : Its purpose and common characteristics . The types of devices the software may be used on. The advantages and disadvantages of using the software. How client requirements affect the selection of that software. Application Categories Open Software Closed Software Open (usually known as open-source ) software is developed to be freely accessible and allow users to view , modify and distribute the source code . Its purpose is to promote collaboration and customisation when developing software . Closed (or closed-source or proprietary ) software is developed and distributed by a company or individual who owns the source code . The purpose is to maintain control , generate profit and ensure a consistent user experience . Shareware Shareware is closed software that is distributed for free on a trial basis , often with limited features or time restrictions . The purpose is to let users try before they buy , encouraging them to later purchase the full version . Freeware Freeware is closed software that is completely free to use , usually without restrictions like time limits or limited features , but still owned by a developer or company . The purpose is to provide software for free while retaining control over its code and distribution . Embedded Software Embedded software is designed to run on specific hardware and perform dedicated tasks . It is usually built into devices that are not traditional computers (like washing machines or microwaves ), allowing those devices to function efficiently and potentially automatically . Q uesto's Q uestions 1.3.2 - Application Software Categories: 1. Summarise the five categories of application software in two sentences each . [5 ] 2. An independent video game company has made a short game with just three levels. Justify which application software category they should use and why . [4 ] 3. Describe the advantages and disadvantages of using embedded software . [ 4 ] WinRAR is a shareware compression tool with a 40-day free trial , but it never actually locks users out. Since 1995 , WinRAR has been downloaded an estimated 500 million times . D id Y ou K now? 1.3.1 - Application Types Topic List 1.3.3 - Application Software Types
- 1.3 - Embedded Systems - OCR GCSE (J277 Spec) | CSNewbs
Learn about what embedded systems are and examples of them. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 1.3: Embedded Systems Exam Board: Cambridge OCR Specification: GCSE - J277 Watch on YouTube : Embedded Systems Required knowledge about embedded systems include: What embedded systems are. The characteristics of an embedded system. Examples of embedded systems. What You Need to Know Embedded Systems An embedded system is a computer system built into a larger machine to provide a means of control . They perform specific pre-programmed tasks that are often stored in ROM . Embedded systems typically have dedicated hardware , a small amount of memory and low processing power . Their functions are limited and they may be difficult to update . A washing machine has an embedded system that manages wash cycles and controls water temperature . Modern cars contain embedded systems that manage the engine and automate features such as lights . A traffic light has an embedded system that controls the sequence and timing of the lights . Q uesto's Q uestions 1.3 - Embedded Software: 1a. Define an embedded system in one sentence. [2 ] 1b. Describe three characteristics of an embedded system . [3 ] 2. Give two examples of embedded systems and describe what they control . [ 4 ] 1.2 - CPU Performance 2.1 - Primary Storage Theory Topics





