top of page

Search CSNewbs

Search this site

304 results found with an empty search

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

  • 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

  • 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 | 1.7 - Units of Measurement | CSNewbs

    Learn about the two types of data storage unit systems and how the increments work, including kilobyte and kibibyte. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 1.7 - Units of Measurement Exam Board: OCR Specification: 2016 - Unit 1 All computer systems communicate , process and store data using binary because this is the format that the processor understands . Binary is a number system consisting entirely of 0s and 1s . A single binary data value (a 0 or a 1 ) is called a bit . 4 bits is called a nibble (e.g. 0101 or 1100). 8 bits is called a byte (e.g. 10101001 or 01011100). There are two main measurement systems : Metric Units of Measurement The gap between units when using metric values (also known as the decimal system ) is always 1,000 . For example, there are 1,000 bytes in 1 kilobyte and 1,000 kilobytes in 1 megabyte . To convert between metric units , divide by 1,000 when moving to a larger unit (e.g. 500 megabytes is 0.5 gigabytes ) and multiply by 1,000 when moving to a smaller unit (e.g. 4.7 terabytes is 4,700 gigabytes ). For example, 8,520 KB is the same as 8.52 MB or 0.00825 GB . Metric values (usually) have a prefix ending in ‘ a ’ such as mega byte or giga byte. Binary Units of Measurement The gap between units when using binary values is always 1,024 . For example, there are 1,024 bytes in 1 kibibyte and 1,024 kibibytes in 1 mebibyte . To convert between binary units , divide by 1,024 when moving to a larger unit (e.g. 4,096 kibibytes is 4 mebibytes ) and multiply by 1,024 when moving to a smaller unit (e.g. 55 pebibytes is 55,296 tebibytes ). For example, 34 KiB is the same as 34,816 MiB or 35,651,584 GiB . Bi nary values have a prefix ending in ‘ bi ’ , such as ki bi byte or me bi byte. Computer scientists often use the binary system of measurement because the storage size is technically more accurate . Q uesto's Q uestions 1.7 - Units of Measurement: 1 a. Create a table or list that clearly shows the relationship between values from bit up to petabyte for the metric (decimal) measurement system . [4 ] 1 b. Create another table to display the binary measurement system from bit to pebibyte . [4 ] 2. Make the following conversions and show your working out . [2 each ] a. 40 megabytes into kilobytes . b. 8500 gigabytes into terabytes . c. 100 mebibytes into kibibytes . d. 854,016 mebibytes into gibibytes . e. How many bytes are there in 3 megabytes ? f. How many bytes are there in 3 mebibytes ? 1.6 - Hardware Troubleshooting 1.8 & 1.9 - Number Systems Topic List

  • 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

  • 2.4 - Programming Languages | OCR A-Level | CSNewbs

    Learn about programming paradigms such as procedural language (e.g. Python), assembly language (including Little Man Computer) and object-oriented programming (OOP) language (e.g. Java). Methods of memory addressing (immediate, direct, indirect and indexed) are also covered. Based on the OCR H446 Computer Science A-Level specification. Exam Board: OCR A-Level 2.4 - Types of Programming Language Specification: Computer Science H446 Watch on YouTube : Programming Paradigms Procedural Language Little Man Computer Addressing Modes Object-Oriented Language Programming paradigms are different approaches to writing and structuring code to solve problems . The procedural paradigm focuses on step-by-step instructions and the use of functions to organise tasks . The assembly paradigm operates at a low level , giving direct control over hardware through processor-specific instructions . The object-oriented paradigm models programs around objects that combine data ( attributes ) and behaviour ( methods ), promoting modular and reusable design . Procedural Language A procedural programming language organises code into reusable blocks ( procedures or functions ), which perform specific tasks in a step-by-step manner . It focuses on a clear sequence of instructions that operate on data, often using variables , loops and conditionals . Examples include Python , C , Pascal and BASIC . These languages are commonly used for software development , data processing and teaching programming fundamentals as they emphasise logical structure and modular design . Assembly Language / Little Man Computer Assembly language is a low-level programming language that uses short , readable codes called mnemonics to represent machine-level instructions executed by the CPU . Each command in assembly corresponds closely to a specific hardware operation , making it highly efficient but difficult to write and maintain . It is mainly used for embedded systems , device drivers and performance-critical tasks where direct control of hardware is required . For the OCR A-Level course , you must understand and be able to write code using the 11 mnemonics of Little Man Computer ( LMC ), which is an educational form of assembly language . Modes of Addressing Memory An addressing mode in assembly language defines how the CPU should locate the data (operand ) needed for an instruction (opcode ). It tells the processor whether the data is stored directly in the instruction , in memory , or needs to be calculated using an address or register . There are four main types : Immediate addressing : The operand contains the actual data to be used , rather than a memory address. Direct addressing : The operand contains the memory address where the required data is stored . Indirect addressing : The operand contains an address that points to another memory location holding the actual data . Indexed addressing : The operand provides a base address that is adjusted by the value in an index register to find the final memory address of the data . Object-Oriented Language An object-oriented programming ( OOP ) language organises code around objects , which combine data ( attributes ) and behaviour ( methods ) into reusable units . Key features of OOP : Classes are templates from which objects are created . Classes define both attributes (data ) and methods (functions or behaviours ). Encapsulation allows data to be protected by making attributes private and providing controlled access through public methods . Inheritance enables a class to reuse or extend the attributes and methods of a parent class , promoting the reuse of code . Polymorphism allows methods or attributes to behave differently depending on the object or class that uses them . Examples of OOP languages include Java , Python , C++ and C# . These languages are widely used for large-scale software development , game development and graphical user interfaces , where modularity and code reuse are crucial . Programming Paradigms Q uesto's K ey T erms Programming Paradigms: procedural language, assembly language, object-oriented language Procedural Language: input, output, comments, variables, casting, count-controlled iteration, condition-controlled iteration, logical operators, selection, string handling, subroutines, arrays, files Assembly Language: Little Man Computer, INP, OUT, LDA, STA, ADD, SUB, HLT, DAT, BRA, BRP, BRZ Modes of Addressing Memory: immediate, direct, indirect, indexed, index register, opcode, operand Object-Oriented Language: class, method, attribute, encapsulation, inheritance, polymorphism, instantiation, constructor method, get method, set method D id Y ou K now? Python was named after the 1970s British comedy group ' Monty Python ', not the snake . Guido van Rossum created Python in the late 1980s during his Christmas holidays as a ' hobby project '. 2.3 - Software Development A-Level Topics 3.1 - Compression & Encryption

  • 3.1 - Planning Projects | F160 | Cambridge Advanced National in Computing AAQ

    Learn about the importance of planning application development projects, including the advantages and disadvantages of planning and the consequences of not planning. Also covers planning considerations such as budget, time, resources, success criteria and legislation. 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) 3.1 - Planning Projects Watch on YouTube : Purpose of Planning Planning Considerations Planning Projects You need to know why it is important to plan an application development project , as well as the advantages and disadvantages of taking the time to plan . You must also consider the potential consequences if a development team decide not to plan their project. There are several considerations (e.g. budget , time and legislation ) that must be looked at in the planning stage and you need to know how these may impact application development . You need to be aware of copyright , data protection and electronic communication legislation , but for this unit , you do not need to know the details of any specific laws . Importance of Planning Projects Planning application development projects is important as it sets clear goals and direction for the project and identifies required resources (e.g. time , money , people and tools ). Other advantages include better organisation , as team members should know their roles and tasks . Also, planning improves time management as deadlines and milestones keep the project on track . However, there are disadvantages to planning as it takes time and can delay the start of development . Also, plans may become outdated if requirements unexpectedly change mid-project . Avoiding planning entirely will have consequences , such as a higher potential for missed deadlines and overrunning costs due to poor time / budget estimates . Goals may be unclear , leading to confusion , delays or an unusable product . Planning Considerations There are several considerations team members must carefully evaluate in the planning phase of application software development : The three types of legislation cover copyright , data protection and electronic communication . Q uesto's Q uestions 3.1 - Planning Projects: 1. A company developing smartphones is considering whether to skip the planning stage and move straight to design. Give two advantages and two disadvantages of planning and two consequences of not planning an application development project . [6 ] 2. Summarise the impact of the three identified types of legislation on application development . [6 ] 3. Justify which planning consideration you think has the biggest potential impact on the success of a software application development project and why . [ 3 ] 4. Describe the impact of three planning considerations (other than legislation and the one you chose in Q3 ) on application development . [6 ] If a company seriously breaches the Data Protection Act , it can be fined up to £17.5 million or 4% of its global turnover , whichever is higher . D id Y ou K now? 2.2 - Phases of Development Models Topic List 3.2 - Project Planning Tools

  • HTML Guide 8 - Videos | CSNewbs

    Learn how to easily embed a video from YouTube into an HTML web page. 8. Videos HTML Guide Watch on YouTube: Embedding a video from YouTube into your web page is very easy. YouTube Videos Find an appropriate video on YouTube and click the Share button underneath the video. Next, click the Embed option. Embed a video onto your web page. Copy the HTML code that is displayed on your screen and paste it directly into your HTML document. Next you can customise your web page with a background colour and different font styles. 7. Head Tags HTML Guide 9. Colours & Fonts

  • OCR CTech IT | Unit 1 | 4.6 & 4.7 - Bodies & Certification | CSNewbs

    Learn about the purpose of professional bodies and IT industry certification. Based on the 2016 OCR Cambridge Technicals Level 3 IT specification. 4.6 & 4.7 - Bodies & Certification Exam Board: OCR Specification: 2016 - Unit 1 What is a professional body? A professional body is an organisation that seeks to develop and support workers in a certain profession. Professional bodies will share best practice , help people starting in the profession and support any role-related learning . In the UK a popular professional body is the British Computer Society (BCS) - also known as the Chartered Institute for IT - with over 65,000 members. What is industry certification? Professional bodies exist to provide trainees with industry certification . Industry certifications are qualifications in different areas of expertise so applicants are trained with up-to-date knowledge and skills . Two popular organisations that administer industry certifications in America are Cisco and CompTia . Cisco's website claims that they provide "certifications for all experience levels covering topics in networking , security , collaboration , and more. Cisco's certification program can meet you where you are on your learning journey and take you to where you want to go." Advantages of Industry Certification Disadvantages of Industry Certification Develop IT skills: Trainees develop experience and competency in areas relevant to actual jobs. Access resources: Trainees are part of a network of like-minded professionals with access to help from experts . P rofessional development opportunities: Trainees are invited to special events and seminars to ensure skills remain up-to-date . Cost: Training for industry certification can cost hundreds or even thousands of pounds and is often self-funded . No guarantees: Earning a certificate doesn't guarantee you a better job or more money. Time and dedication: Like other qualifications, classroom activities or online learning must be completed. Exams must be passed at the end of the course. Many organisations now require IT employees to have earned relevant industry certifications . This is so that the organisation can be confident that the employee has been appropriately trained and will have gained experience at the required level for the certification. The employee should be able to demonstrate technical knowledge as a result of gaining the certification. Q uesto's Q uestions 4.6 & 4.7 - Bodies & Certification: 1a. What is a professional body ? [1 ] 1b. State 3 roles of a professional body . [3 ] 2. What are industry certifications ? [2 ] 3. Describe 3 advantages and 3 disadvantages of an IT worker earning industry certifications . [2 each ] 4. Why do many IT organisations require its employees to have earned industry certifications ? [4 ] 4.5 - Job Roles Topic List 5.1 - Ethical Issues

  • 2.3 - Units - OCR GCSE (J277 Spec) | CSNewbs

    Learn about different data units of storage from bit up to petabyte, as well as data capacity calculations. Based on the J277 OCR GCSE Computer Science specification (first taught from 2020 onwards). 2.3: Data Units Exam Board: OCR Specification: J277 Watch on YouTube : Units of Data Storage Capacity Requirements All computer systems communicate , process and store data using binary . Binary is a number system consisting entirely of 0s and 1s . Why do computers use binary? Computer systems consist of billions of tiny transistors which are switches that only have two values - on (1 ) or off (0 ). Therefore all data must be represented and processed in this way. Everything that a computer needs to process must be converted into a binary format including text , images , videos and audio . 0010 1011 0101 0101 0110 0111 0101 0001 0101 0101 0101 0100 1010 1010 1010 1010 1111 1110 0010 1001 0100 1001 0010 0111 0111 0101 0011 1010 1000 0101 0110 0111 0000 1010 1010 0011 1101 1001 0010 1101 0010 0100 1001 0011 1010 1001 0101 0101 0010 0101 0111 0101 0101 1000 1011 0111 Units of Data Storage 0 / 1 All data in a computer system is made up of bits . A single bit is a 0 or a 1 . 4 bits (such as 0101 or 1101) is called a nibble . 1,000 bytes is called a kilobyte . A kilobyte can store a short email . A 8 bits is called a byte . A byte can store a single character . 1,000 kilobytes is called a megabyte . A megabyte can store about a minute of music . 1,000 megabytes is called a gigabyte . A gigabyte can store about 500 photos . 1,000 terabytes is called a petabyte . A petabyte can store about 1.5 million CDs . 1,000 gigabytes is called a terabyte . A terabyte can store about 500 hours of films . Calculating Data Capacity Requirements It is important to be able to calculate the required storage capacity for a given set of data . Example: A local DJ has a USB memory stick with a capacity of 32GB . There is currently only 9GB of space remaining . Each song is 6MB . How many songs can be stored on the remaining space of the USB stick? Solution: Because each song is recorded in megabytes but the USB stick capacity is measured in gigabytes , the values must be converted into the same storage unit . 9GB x 1000 = 9000MB 9000MB ÷ 6MB = 1,500 songs Q uesto's Q uestions 2.3 - Data Units: 1. Explain why computer systems use binary to represent data. [ 2 ] 2. Put the following data storage units in order from smallest to largest : a . kilobyte - gigabyte - byte - megabyte - nibble - bit [3 ] b. gigabyte - petabyte - kilobyte - byte - terabyte - megabyte [ 3 ] 3. A hard drive contains 25GB of remaining available storage space. Tim is an animator backing up video files. Each file is 200MB . How many files can he fit on the hard drive? [ 2 ] 4. Samantha is a musician. She has compressed each song to 900KB . Her USB memory stick contains 1.2GB of free storage. How many songs can she fit on the USB stick? [ 2 ] 5. A CD has a capacity of 650MB . How many 0.2GB audio files can be stored on the CD? [ 2 ] 0101 2.2 - Secondary Storage Theory Topics 2.4a - Number Systems

  • 1.2 - The FDE Cycle - Eduqas GCSE (2020 spec) | CSNewbs

    Learn about the seven steps of the fetch-decode-execute cycle and important registers in the CPU. Based on the 2020 Eduqas (WJEC) GCSE specification. 1.2: The FDE Cycle Exam Board: Eduqas Specification: 2020 The Fetch - Decode - Execute (FDE) cycle is performed by the CPU millions of times every second. This cycle is how the CPU processes data and instructions for each program or service that requires its attention. Important Registers A register is a small storage space for temporary data in the CPU . Each register has a specific role . There are five essential registers used in the FDE cycle : Program Counter (PC) A register that tracks the RAM address of the next instruction to be fetched . Memory Address Register (MAR) A register that tracks the RAM address of the instruction that is to be fetched . Memory Data Register (MDR) The MDR stores the instruction that has been transferred from RAM to the CPU . Current Instruction Register (CIR) A register that stores the instruction that has been fetched from RAM , and is about to be decoded or executed . Accumulator (ACC) The ACC stores the result of mathematical or logical calculations . Fetch - Decode - Execute Cycle The essential idea of the FDE cycle is that instructions are fetched from RAM , to be decoded (understood) and executed (processed) by the CPU . 1. The Program Counter (PC ) register displays the address in RAM of the next instruction to be processed . This value is copied into the Memory Address Register (MAR ). 0054 2. The PC register is increased by 1 . This prepares the CPU for the next instruction to be fetched. 0055 3. The CPU checks the address in RAM which matches the address held in the MAR . 0054 4. The instruction in RAM is transferred to the Memory Data Register (MDR ). 5. The instruction in the MDR is copied into the Current Instruction Register (CIR ). MDR MDR CIR 6. The instruction in the CIR is decoded (understood) and executed (processed). Any result of an execution is stored in the Accumulator (ACC ) register. CIR ACC 7. The cycle repeats by returning to the first step and checking the program counter for the address of the next instruction . Q uesto's Q uestions 1.2 - The Fetch - Decode - Execute (FDE) Cycle: 1 . What is the purpose of the registers ? [1 ] 2 . Describe the purpose of each register : a. The Program Counter (PC) [ 1 ] b. The Memory Address Register (MAR) [ 1 ] c. The Memory Data Register (MDR) [ 1 ] d. The Current Instruction Register (CIR) [ 1 ] e. The Accumulator (ACC) [ 1 ] 3. Draw a diagram of the seven steps of the Fetch - Decode - Execute cycle . [7 ] 1.1 - The CPU 1.3 - Primary Storage Theory Topics

  • Desktop Publishing | CSNewbs

    An overview of what desktop publishing (DTP) is, considerations designer must take and common forms such as posters, leaflets and business cards. Desktop Publishing (DTP) What is DTP? Desktop Publishing (DTP) software allows people to create documents with a mixture of graphics and text . Examples of desktop publishing software are Microsoft Publisher and Serif PagePlus . Desktop publishers can be used to produce documents such as business cards, leaflets, brochures, newspapers, magazines and newsletters . DTP software can be cheap and printers at home are more common these days so people can design and print their own documents. Professional-looking documents can be made simply and without an extensive knowledge of graphic design. The biggest advantage of using DTP is that it is frame based . Text and picture frames can be laid out on the page, and rotated, moved or resized as necessary. It is easy to import images from clip art or the web. The view of the page is known as WYSIWYG (W hat Y ou S ee I s W hat Y ou G et) because the view on the computer will be very similar to what you get when it is printed. What to consider when using DTP Orientation Will your document be landscape or portrait ? Some document types are more commonly one orientation than the other. For example, business cards are generally landscape but newsletters are more often portrait. Size The size of a typical piece of paper is A4. But that is too large for most DTP documents. The larger the number, the smaller the piece of paper . A5 is half the size of A4 and A3 is twice the size of A4. Documents can also be measured in millimetres, for example, an appropriate business card size is 85mm wide and 55mm high. House Style A house style is a set of rules to ensure that each document made by a person or company is part of an identity . To be consistent , each document should use the same logo, titles, colours, graphics and layout . For example, the NHS always uses a blue colour, the same logo and similar layout on each of its documents. Some companies have perfected their house style so that they are synonymous with a single colour - e.g. McDonald's use yellow and Coca-Cola use red and white . DTP Documents Business Cards A business card is a small piece of card that must be simple and stylish . The purpose of a business card is to clearly state the contact details of a person or company. Sharing your business card with other people is one way to promote your business or skills to attract new business partners or customers. A business card must be uncluttered and clearly display relevant contact information, such as an email address, phone number or physical address. Today, business cards may also state social media contacts, such as Facebook pages or Twitter accounts. Flyers A flyer is a small handout that advertises an event or new product. The purpose of a flyer is to clearly and quickly promote an event . It must be eye-catching and to-the-point so that people can immediately understand what it is about. Flyers are often handed out in the street or posted through letterboxes so if it is not clear people will just ignore it. A flyer should use a large title to promote the event, as well as appropriate graphics and information about the date, location and time. It should also contain contact details including a telephone number, website and email address. Posters A poster is a large piece of paper that is put up to advertise an event and display more information than a flyer . Posters should promote an event by using large titles and graphics to clearly describe where the event is taking place, when it is and why people should go. Because there is much more space on a poster than a flyer, additional information can be added and some kind of persuasion to entice passers by to attend. Leaflets A leaflet is a small folded handout that provides more information about an event or new product. The purpose of a leaflet is to give additional details about an event . It can be used before an event to describe the different parts, such as the different acts in a circus or different bands at a festival. It can also be used during an event, such as at a school fair to list the different stalls. Because it is folded over it can display a large amount of information, with both text and graphics . The front of the leaflet should clearly display the purpose of it and the text inside must be readable with images to break up the words. There may also be contact information inside the leaflet, such as directions to a website or social media page .

© CSNewbs 2026

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