Question Bank
Browse and search all available questions
Ethics and the Law. (a) Identify the Act that specifically covers unauthorized access to computer systems. [1] ____________________________________________________________________ (b) Evaluate the impact of open source software versus proprietary software on the industry. [9*] ____________________________________________________________________
A developer is writing code to calculate the factorial of a number using recursion. (a) Describe what a recursive subroutine is. [2] ____________________________________________________________________ (b) Identify one risk of using recursion in programming. [1] ____________________________________________________________________ (c) Explain the role of a base case in a recursive function. [2] ____________________________________________________________________
The following table lists common scheduling algorithms. Match the algorithm to the correct description. (a) Complete the table mapping A-E to descriptions. [5] ____________________________________________________________________ (b) Explain why Round Robin is effective for multi-user systems. [2] ____________________________________________________________________
An online retail company is developing a new customer database system. (a) Define what is meant by a primary key in a relational database. [1] ____________________________________________________________________ (b) Identify two disadvantages of a flat file database compared to a relational database. [2] ____________________________________________________________________ (c) Explain the concept of normalisation to Third Normal Form (3NF). [3] ____________________________________________________________________
Algorithms are used to search for data within an array. (a) State the Big O complexity of a linear search. [1] ____________________________________________________________________ (b) Explain why a binary search is faster for large sorted arrays. [3] ____________________________________________________________________ (c) Identify one prerequisite for using a binary search. [1] ____________________________________________________________________
An Object Oriented program is being designed for a library system. (a) Define the term 'Inheritance' in OOP. [2] ____________________________________________________________________ (b) Explain the benefit of using private attributes (Encapsulation). [2] ____________________________________________________________________ (c) Write a class definition for a class 'Book' with a private attribute 'title'. [3] ____________________________________________________________________
An application uses a stack data structure to manage history navigation. (a) Describe the LIFO principle used by a stack. [2] ____________________________________________________________________ (b) Complete the table showing the stack contents after these operations: push(5), push(10), pop(), push(3). [4] ____________________________________________________________________ (c) State a common use for a queue in an Operating System. [1] ____________________________________________________________________
A software development team is choosing a methodology for a new project. (a) Outline two features of the Agile methodology. [2] ____________________________________________________________________ (b) Compare the Waterfall and Agile methodologies. [4] ____________________________________________________________________ (c) State one situation where Waterfall is preferred over Agile. [1] ____________________________________________________________________
A modern computer architecture utilises a Von Neumann design to process instructions. (a) State the purpose of the Program Counter (PC). [1] ____________________________________________________________________ (b) Explain the difference between the MAR and the MDR. [2] ____________________________________________________________________ ____________________________________________________________________ (c) Describe how the control unit manages the fetch-decode-execute cycle. [3] ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________
Boolean logic is used to simplify digital circuits. (a) Simplify the following expression: A AND (A OR B). [2] ____________________________________________________________________ (b) Complete the following truth table for the circuit (A XOR B) AND C. [3] ____________________________________________________________________ (c) Draw the logic gate representation for (A AND B) OR NOT C. [3] ____________________________________________________________________
A navigation application uses the A* algorithm to find routes between locations on a map. (a) Describe how the A* algorithm differs from Dijkstra's algorithm. [3] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ (b) In the A* algorithm, the evaluation function is f(n) = g(n) + h(n). State what g(n) and h(n) represent. [2] g(n): ................................................................... h(n): ................................................................... (c) Explain what is meant by an admissible heuristic in the context of A*. [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................ (d) State one advantage and one disadvantage of A* compared to Dijkstra's algorithm. [2] Advantage: ............................................................... ........................................................................ Disadvantage: ........................................................... ........................................................................
A software developer is writing a program to search a sorted list of student IDs. They are deciding between a linear search and a binary search algorithm. (a) Describe how a linear search works on a list of 10 elements. [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................ (b) Describe how a binary search works on a sorted list. [3] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ (c) State the Big-O time complexity of (i) linear search and (ii) binary search in the worst case. [2] (i) ..................................................................... (ii) ..................................................................... (d) The sorted list contains the following elements: [3, 7, 12, 19, 25, 31, 44, 56, 70, 88]. Show the steps taken by a binary search algorithm to find the value 31. Show each midpoint and whether the search moves left or right. [3] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................
A program uses a binary search tree (BST) to store integer values. (a) The following values are inserted into an initially empty BST in this order: 50, 30, 70, 20, 40, 60, 80. Draw the resulting binary search tree, clearly labelling each node. [4] (Draw your BST in the space below) ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ (b) State the result of performing an in-order traversal on the BST you drew in part (a). [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................ (c) State the result of performing a pre-order traversal on the same BST. [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................
A post-fix (Reverse Polish Notation) calculator is being developed for a mathematics application. (a) Define the term Reverse Polish Notation (RPN). [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................ (b) Evaluate the following RPN expression, showing the state of the stack after each operation: 5 3 2 * + [4] | Token | Stack (bottom → top) | Action | |---|---|---| | 5 | | | | 3 | | | | 2 | | | | * | | | | + | | | (c) Convert the following infix expression to RPN: (7 + 3) * (5 - 2) [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................ (d) State one advantage of using RPN in calculators and compilers. [1] ........................................................................ ........................................................................
A logistics company uses Dijkstra's algorithm to find the shortest path between warehouses connected by a weighted graph. The graph below describes the network: Nodes: A, B, C, D, E Edges and weights: A-B=4, A-C=2, B-C=1, B-D=5, C-D=8, C-E=10, D-E=2 (a) Complete the table below to show the working of Dijkstra's algorithm starting from node A to find the shortest path to all other nodes. Fill in the shortest distance and previous node for each node as each node is visited. [6] | Visited Node | A | B | C | D | E | |---|---|---|---|---|---| | Start | 0 | inf | inf | inf | inf | | A | - | | | | | | C | - | | - | | | | B | - | - | - | | | | D | - | - | - | - | | | E | - | - | - | - | - | (b) State the shortest path from A to E and its total distance. [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................ (c) State the Big-O time complexity of Dijkstra's algorithm using an adjacency matrix. [1] ........................................................................ ........................................................................
A teacher uses a program to sort a list of exam scores. The following unsorted list of scores is used throughout this question: [64, 32, 78, 21, 55] (a) Show the state of the list after EACH pass of a bubble sort algorithm on the list [64, 32, 78, 21, 55]. You must show every comparison made in each pass. [4] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ (b) State the maximum number of comparisons made by bubble sort for a list of n elements in the worst case, and give its Big-O time complexity. [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................ (c) Explain one advantage of insertion sort over bubble sort for nearly-sorted data. [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................
A programmer writes a recursive function to calculate the nth term of the Fibonacci sequence. The Fibonacci sequence starts: 1, 1, 2, 3, 5, 8, 13... (a) Define the term recursion in the context of programming. [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................ (b) The following pseudocode shows a recursive Fibonacci function: FUNCTION fib(n) IF n <= 1 THEN RETURN n ELSE RETURN fib(n-1) + fib(n-2) ENDIF ENDFUNCTION Trace the execution of fib(4) showing ALL recursive calls made. [4] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ (c) State one problem with using a recursive approach to compute Fibonacci numbers for large values of n. [1] ........................................................................ ........................................................................ (d) Rewrite the Fibonacci function iteratively in pseudocode to return the nth Fibonacci number. [3] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................
A computer science student is comparing computational thinking concepts when designing a route-planning algorithm. (a) Define the term abstraction as used in computational thinking, and give one example of abstraction in the design of a graph-based route-planning algorithm. [3] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ (b) Define the term decomposition and explain how it could be applied when designing a sorting and searching system. [3] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ (c) The table below lists algorithm characteristics. Complete the table by identifying whether each characteristic applies to Dijkstra's algorithm, A*, both, or neither. [4] | Characteristic | Dijkstra's | A* | Both | Neither | |---|---|---|---|---| | Uses a heuristic function | | | | | | Guarantees shortest path on non-negative weighted graphs | | | | | | Explores nodes in order of f(n)=g(n)+h(n) | | | | | | Requires the graph to be sorted before use | | | | | (d) Evaluate the importance of choosing an appropriate algorithm for a given problem, with reference to time complexity and space complexity. [3] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................
A programmer is analysing the efficiency of several algorithms as part of a software project. They must choose the most appropriate algorithm for different tasks. (a) Complete the table below by matching each Big-O notation to its correct description and giving an example algorithm that exhibits that complexity. [5] | Big-O Notation | Description | Example Algorithm | |---|---|---| | O(1) | | | | O(log n) | | | | O(n) | | | | O(n log n) | | | | O(n²) | | | (b) Explain the difference between time complexity and space complexity. [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................ (c) A developer states that for large datasets, an O(n log n) sort algorithm is always preferable to an O(n²) sort algorithm. Evaluate this statement. [3] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................
A student is learning about merge sort as part of their A-Level Computer Science course. (a) Describe the two main stages of the merge sort algorithm. [4] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ (b) Show the complete working of merge sort on the following list: [38, 27, 43, 3]. You must show every split and merge step clearly. [4] ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ ........................................................................ (c) State the time complexity of merge sort in the worst case and explain why this is more efficient than bubble sort for large datasets. [2] ........................................................................ ........................................................................ ........................................................................ ........................................................................
A computer science teacher is explaining data structures to students using a stack and a queue. (a) A stack is initially empty. The following operations are performed in order: PUSH(5), PUSH(12), PUSH(7), POP(), PUSH(3), POP() Show the contents of the stack after ALL operations have been completed, indicating the top of the stack. [3] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (b) State the principle that governs the order of removal from a stack and from a queue. [2] Stack: ................................................................ Queue: ................................................................ (c) Describe one real-world application of a stack in computing and explain why a stack is appropriate for that application. [2] ...................................................................... ...................................................................... ...................................................................... ...................................................................... (d) A circular queue has a maximum size of 5. The front pointer is at index 2 and the rear pointer is at index 4. Explain what happens to the rear pointer when a new item is enqueued. [2] ...................................................................... ...................................................................... ...................................................................... ......................................................................
A software development team is building a fitness tracking mobile application. They are deciding between the Waterfall and Agile development methodologies. (a) Describe two key differences between the Waterfall and Agile software development methodologies. [4] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (b) The team decides to use an Integrated Development Environment (IDE). State three features of an IDE that would assist developers when writing code for the fitness app. [3] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (c) Explain the difference between a compiler and an interpreter, giving one situation where each would be preferred. [4] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ......................................................................
A government organisation is developing an artificial intelligence system to assist in making parole decisions for prisoners. The system analyses historical data to predict reoffending likelihood. (a) Define the term 'abstraction' in the context of computational thinking and give one example of abstraction used when designing this AI system. [2] ...................................................................... ...................................................................... ...................................................................... ...................................................................... (b) Discuss the moral, ethical, and legal issues raised by using an AI system to make or assist in parole decisions. You should consider multiple perspectives and reach a justified conclusion. You should write around 200-250 words. [9] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ......................................................................
A company stores employee records in a relational database. The following tables exist: EMPLOYEE(EmployeeID, FirstName, LastName, DepartmentID, Salary) DEPARTMENT(DepartmentID, DepartmentName, ManagerID) (a) Define the term 'primary key' and identify the primary key in the EMPLOYEE table. [2] ...................................................................... ...................................................................... ...................................................................... ...................................................................... (b) Explain what is meant by referential integrity in the context of these two tables. [2] ...................................................................... ...................................................................... ...................................................................... ...................................................................... (c) Write an SQL query to display the FirstName, LastName, and DepartmentName of all employees who earn more than £30,000, sorted in descending order of Salary. [4] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (d) The database is currently in first normal form (1NF). State two conditions that must be met for a table to be in second normal form (2NF). [2] ...................................................................... ...................................................................... ...................................................................... ......................................................................
A games company is developing a role-playing game using object-oriented programming (OOP). The game has different types of characters including Warriors and Mages, which are both types of Character. (a) Define the term 'inheritance' in the context of OOP and explain how it would be used in this scenario. [3] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (b) Write pseudocode to define a class called Character with: - Private attributes: name (string), health (integer) - A constructor that initialises both attributes - A public method called takeDamage(amount) that reduces health by amount - A public method called getHealth() that returns the current health value [5] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (c) Explain what is meant by encapsulation and state one benefit of using it in this games program. [2] ...................................................................... ...................................................................... ...................................................................... ......................................................................
A university uses a binary search tree (BST) to store student ID numbers for fast searching. The following student IDs are inserted into an initially empty BST in this order: 50, 30, 70, 20, 40, 60, 80 (a) Draw the binary search tree after all seven values have been inserted. Label each node clearly. [4] [Space for diagram] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (b) Write the result of an in-order traversal of the completed tree. [2] ...................................................................... ...................................................................... ...................................................................... ...................................................................... (c) A new student ID, 45, is added to the tree. Describe the path taken from the root to find the correct insertion point for 45. [3] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ......................................................................
A student is studying Boolean algebra and logic circuits as part of their computer science course. (a) Complete the truth table below for the Boolean expression: F = (A AND NOT B) OR (B AND C) | A | B | C | NOT B | A AND NOT B | B AND C | F | |---|---|---|-------|-------------|---------|---| | 0 | 0 | 0 | | | | | | 0 | 0 | 1 | | | | | | 0 | 1 | 0 | | | | | | 0 | 1 | 1 | | | | | | 1 | 0 | 0 | | | | | | 1 | 0 | 1 | | | | | | 1 | 1 | 0 | | | | | | 1 | 1 | 1 | | | | | [4] (b) Using De Morgan's law, simplify the expression: NOT(A OR B). Write the simplified form. [1] ...................................................................... ...................................................................... (c) Draw a logic circuit diagram for the expression: F = (A AND B) OR (NOT C) Label all gates and inputs clearly. [4] [Space for diagram] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ......................................................................
Match each description in the table below to the correct networking protocol or concept from the list provided. Write the correct term in the right-hand column. Terms to use: TCP, UDP, FTP, HTTP, HTTPS, DNS, MAC address, IP address | Description | Term | |-------------|------| | A protocol used to transfer files between a client and a server over a network | | | Translates human-readable domain names (e.g. www.bbc.co.uk) into numerical addresses | | | A connection-oriented transport layer protocol that guarantees delivery and ordering of packets | | | A unique hardware identifier permanently assigned to a network interface card | | | A stateless application layer protocol used to request and deliver web pages | | [5] (a) State one advantage of using HTTPS over HTTP for an online banking website. [1] ...................................................................... ...................................................................... (b) Explain the difference between a circuit-switched network and a packet-switched network, and state which is used by the internet. [4] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (c) A company is designing its office network. Describe one advantage and one disadvantage of using a star topology compared to a bus topology. [2] ...................................................................... ...................................................................... ...................................................................... ......................................................................
A cybersecurity consultant is advising a business on encryption methods. The business currently uses a Caesar cipher to protect internal messages but is considering upgrading to asymmetric encryption. (a) The message 'HELLO' is encrypted using a Caesar cipher with a shift of 3. State the encrypted message. [1] ...................................................................... ...................................................................... (b) Explain one significant weakness of the Caesar cipher that makes it unsuitable for protecting sensitive business data. [2] ...................................................................... ...................................................................... ...................................................................... ...................................................................... (c) Explain how asymmetric encryption works when a sender wishes to send a confidential message to a recipient. Your answer should refer to public and private keys. [4] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (d) State one piece of legislation that is relevant to protecting personal data held by the business, and describe one obligation it places on the business. [2] ...................................................................... ...................................................................... ...................................................................... ......................................................................
A school network uses a client-server architecture. The server runs an operating system that manages resources for all connected clients. (a) State two roles of an operating system. [2] ...................................................................... ...................................................................... ...................................................................... ...................................................................... (b) Explain what is meant by a process scheduler and describe one advantage of using round-robin scheduling over first-come-first-served (FCFS) scheduling. [3] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... (c) The school's server uses virtual memory. Explain how virtual memory works and state one disadvantage of using it. [3] ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ......................................................................
A startup is developing a framework for web applications to enhance configuration management. One method considered is using a microservices architecture. (a) Explain what microservices architecture is and its primary advantage. [4] (b) Compare the microservices architecture to monolithic architecture in terms of development and scalability. [6] (c) Critically assess the challenges organizations might face when transitioning to microservices. [6]
Review the following data that represents traffic to a website before and after a marketing campaign: | Period | Page Views | Unique Visitors | |---------------|------------|-----------------| | Before Campaign| 5000 | 300 | | After Campaign | 15000 | 700 | (a) Calculate the percentage increase in page views and unique visitors after the campaign. [4] (b) Discuss the implications of these changes for the website’s performance and marketing strategy. [6] (c) Suggest two methods to further analyze this data for better insights. [4]
A school is planning to implement an online learning management system (LMS) to facilitate curriculum delivery and student assessment. The development team must choose between various database designs. (a) Explain the concept of normalization in databases and describe its purpose. [4] (b) Identify and explain the three normal forms of database normalization. [6] (c) Discuss the impact that proper normalization can have on the performance of the LMS. [6]
Consider a web-based application that uses RESTful architecture to interact with a server. The application retrieves data from the server using JSON format. (a) Explain what RESTful architecture is in the context of web services. [3] (b) Define JSON and describe its advantages for data interchange on the web. [4] (c) Discuss how RESTful services can improve scalability and efficiency in web applications. [6]
A web application is designed to track user activity using cookies. The technical team is analyzing the implications of cookie usage on privacy and user experience. (a) Explain what cookies are and describe their primary function in web applications. [4] (b) Describe two potential privacy concerns related to the use of cookies. [4] (c) Evaluate the balance between user experience and privacy when using cookies in web applications. [8]
A technology startup is developing an online platform that allows users to upload videos. They need to consider server-side vs client-side processing for video uploads. (a) Define server-side processing and provide one advantage it offers for video uploads. [4] (b) Define client-side processing and discuss a key challenge it presents in this scenario. [5] (c) Describe how both methods could be combined for optimal performance in video uploading. [6]
The following table outlines several HTTP methods: GET, POST, PUT, DELETE. Complete the table by providing a brief description and common use case for each method. [5] | HTTP Method | Description | Common Use Case | |-------------|----------------------------------|---------------------------------| | GET | | | | POST | | | | PUT | | | | DELETE | | |
A software development team is working on a web application that requires handling various user inputs and data processing. The project manager will decide between using synchronous or asynchronous processing methods. (a) Define synchronous processing and give an example of when it might be used in a web application. [3] (b) Define asynchronous processing and explain one benefit it provides over synchronous processing in web applications. [4] (c) Compare synchronous and asynchronous processing in terms of user experience. [5]
Video streaming services rely heavily on web technologies for delivering content to users. In this context, consider the process of video data compression. (a) Explain the difference between lossy and lossless compression. Provide an example of each. [4] (b) Describe one advantage of using video compression techniques in streaming services. [2] (c) What is a codec and how does it relate to video streaming? [3]
A web development company is designing a new e-commerce platform. The platform will have various features such as user accounts, product listings, and a shopping cart. It will use a relational database to store user data and product information. (a) Define what a relational database is and give two examples of relational database management systems (RDBMS). [3] (b) Explain the role of SQL in web technologies and describe what SQL stands for. [3] (c) Describe one advantage and one disadvantage of using a relational database for an e-commerce platform. [4]
A programmer is tasked with tracing a simple program using LMC (Little Man Computer). The program is as follows: Load 5 Store 10 Load 3 Add 10 Store 2 Output 2 Halt (a) Trace the state of the accumulator after each instruction. [4] (b) Show the contents of the memory locations after the program executes. [3]
Draw a flowchart to illustrate the fetch-decode-execute cycle of a CPU. Label the key components involved in each step. [4]
A school computer lab consists of several workstations networked together to share resources. Each workstation has its own CPU and RAM. Describe the function of each of the following components in a computer system: (a) ALU, (b) CU, and (c) registers. [6]
The table below shows different data structures and some of their characteristics. Complete the table by matching the structure with its primary characteristic. [5]
A developer is optimizing a video streaming application that uses lossy compression. (a) State what is meant by lossy compression and give an example. [2] (b) Explain how lossy compression affects audio and video quality. [3] (c) Discuss the advantages and disadvantages of using lossy compression for streaming media. [6*]
Consider the following characteristics of different types of memory: RAM, ROM, and Cache. (a) Outline two main differences between RAM and ROM. [2] (b) Explain why cache memory is important for CPU performance. [3] (c) Discuss the implications of using volatile memory such as RAM in a computer system. [6*]
A fitness tracking app maintains a list of user activities such as walking, running, and cycling that can be stored in an array of structs. (a) Describe how you would define this struct in Python including relevant attributes. [4] (b) Explain how an array of these structs could be beneficial for storing activity data. [3] (c) Discuss the efficiency of searching for a user's specific activity within this array. [4*]
An online store utilizes both relational and non-relational databases. (a) Define what is meant by a relational database. [2] (b) Compare relational databases and non-relational databases in terms of data structure and query capabilities. [4] (c) Discuss the impact of choosing a non-relational database for a large-scale application. [6*]
A database administrator must consider normalization while designing a database for an online catalog. (a) Define normalization in the context of databases. [2] (b) Explain the benefits of normalizing a database. [3] (c) Discuss potential challenges when normalizing complex databases. [6*]
A tech firm is analyzing digital privacy laws. (a) State two key principles of the Data Protection Act 2018. [2] (b) Explain the implications of not complying with these laws for a company. [3] (c) Discuss the ethical considerations surrounding data collection in modern businesses. [6*]
An application tracks the temperature of a room. (a) Identify two data types suitable for representing temperatures in programming. [2] (b) Describe the importance of variable scope in programming with examples. [4]
A data processing system has to implement different algorithms. (a) Implement the bubble sort algorithm in pseudocode. [5] (b) Compare its efficiency versus the quicksort algorithm in terms of time complexity. [5]
Consider the following pseudocode for a selection sort algorithm. (a) Rewrite the pseudocode to correct any syntax errors present. [5] (b) Trace the algorithm with the input list: [5, 3, 8, 4, 2] and show the contents after each pass. [3]
Evaluate the impact of data protection legislation on software development practices. [10*]
Consider the different types of search algorithms. (a) Explain how a binary search algorithm works and when it can be used. [4] (b) Describe a scenario where a linear search would be more appropriate than a binary search. [2]
Consider data structures; (a) Differentiate between a queue and a stack in terms of data access order. [3] (b) Explain how a circular queue works and its advantages. [4]
In a network topology diagram, various devices are interconnected. (a) Create a diagram illustrating a star topology with at least five devices. [4] (b) Explain one advantage and one disadvantage of using a star topology. [4]
A school needs to manage data with different structures. (a) Define a stack and describe the key operations associated with it. [4] (b) Show the state of the stack after performing the following operations: push(3), push(5), pop(), push(7). [3]
A data representation task involves conversion between number systems. (a) Convert the decimal number 45 into binary. [2] (b) Convert the binary number 101101 into hexadecimal. [3] (c) Explain why hexadecimal is used in computing instead of binary. [3]
A programming team is developing an online shopping website. (a) Describe what a software development life cycle (SDLC) is and name two models. [3] (b) Discuss how Agile methodology differs from Waterfall methodology in terms of project flexibility and stakeholder involvement. [9*]
Logic circuits can be simplified using Boolean algebra. (a) Simplify the following expression: A + A’B + AB’. [3] (b) Draw the logic circuit that represents the simplified Boolean expression. [4]
A fitness tracker application records user activities. (a) Identify different ways to represent user records in a program. [2] (b) Explain the importance of data validation during input handling. [3]
The computing world has seen various data types. (a) List three primitive data types and give an example of each. [3] (b) Explain how arrays differ from linked lists in terms of memory allocation and access. [4]
A web application processes user input. (a) Identify two methods of handling user input validation. [2] (b) Discuss how exception handling can improve the robustness of a program. [3]
Explain symmetric and asymmetric encryption, comparing their uses in data security. [6]
A company is evaluating its storage options: (a) State two differences between RAM and ROM. [2] (b) Describe the purpose of virtual memory and how it is utilized by operating systems. [4]
The fetch-decode-execute cycle is integral to processor operation. Explain each stage of this cycle, highlighting the roles of the Program Counter and different registers. [4]
Consider a school database system that manages student records. (a) Describe the difference between flat-file and relational databases. [3] (b) Explain the concept of normalization in databases and its purpose. [3]
A simple online shopping website needs to implement a search feature that can quickly find products based on user queries. (a) State which algorithm is best suited for searching a sorted array of product IDs. Justify your answer. [3] __________________________________________________ __________________________________________________ __________________________________________________ (b) Describe the time complexity of both linear search and binary search algorithms. [4] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (c) Implement a binary search algorithm in pseudocode that takes a sorted array and a target value as input. [5] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________
A computer network consists of multiple devices connected in a topology. Draw a diagram that illustrates a star topology, labeling key components such as the central switch and devices. [5] (a) Describe the advantages of using a star topology in a network. [4] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (b) Discuss the drawbacks of a star topology compared to a bus topology. [5] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________
Complete the following table that matches the programming constructs to their descriptions. | Programming Construct | Description | |--------------------------|---------------------------------------| | A. For Loop | (i) Used for repeated actions | | B. While Loop | (ii) Executes at least once | | C. If Statement | (iii) Executes conditionally | | D. Switch Statement | (iv) Allows multiple conditions | (a) Complete the table above by writing the correct match for each letter. [4] __________________________________________________ __________________________________________________ (b) Explain why it’s important to choose the right control structure in programming. [3] __________________________________________________ __________________________________________________ __________________________________________________ (c) Discuss the implications of using global variables versus local variables in a project. [9]* __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________
A data analytics company utilizes big data to derive insights from various sources. The company needs to evaluate the implications of handling such data. (a) Discuss what is meant by 'big data' and give two characteristics that define it. [3] __________________________________________________ __________________________________________________ __________________________________________________ (b) Identify and explain two advantages of data mining in big data applications. [4] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (c) Assess the ethical considerations associated with data mining. [9]* __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________
Given the following binary tree, show the result of performing the following tree traversals: 1. Pre-order 2. In-order 3. Post-order (a) Perform a pre-order traversal and list the order of nodes visited. [3] __________________________________________________ __________________________________________________ __________________________________________________ (b) Perform an in-order traversal and list the order of nodes visited. [3] __________________________________________________ __________________________________________________ __________________________________________________ (c) Perform a post-order traversal and list the order of nodes visited. [3] __________________________________________________ __________________________________________________ __________________________________________________
A software company is developing a system that handles user authentication. The system needs to ensure secure password storage. (a) Explain the difference between symmetric and asymmetric encryption. [4] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (b) Discuss how hashing can be used for password security. [5] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (c) Provide a brief overview of the Data Protection Act 2018 and its implications for software development. [3] __________________________________________________ __________________________________________________ __________________________________________________
A fitness tracker application needs to process and display user data, including steps taken, heart rate, and calories burned. The app is designed using Object-Oriented Programming principles. (a) Define what a class is in Object-Oriented Programming. [2] __________________________________________________ __________________________________________________ (b) Describe how the concepts of inheritance and encapsulation can be applied when designing the tracker application. [5] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (c) Implement a simple class definition in Python for a 'Tracker' that includes attributes for steps and heart rate. [4] __________________________________________________ __________________________________________________ __________________________________________________
Consider the following algorithm for merging two sorted arrays A and B into a third array, C. 1. Initialize index i = 0, j = 0, k = 0 2. While i < length(A) and j < length(B) a. If A[i] < B[j], then C[k] = A[i]; i++, k++ b. Else C[k] = B[j]; j++, k++ 3. Copy remaining elements from A or B to C (a) Describe how this algorithm works. [5] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (b) Write pseudocode for the merging algorithm provided above. [3] __________________________________________________ __________________________________________________ __________________________________________________
A school uses a database to store information about its students. The database includes details such as student ID, name, and grades in various subjects. (a) Name the type of data structure commonly used to store records like these. [1] __________________________________________________ (b) Define normalization and explain its importance in database design. [4] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (c) Given the following SQL query: 'SELECT * FROM Students WHERE Grade > 50;'. Explain what this query accomplishes. [2] __________________________________________________ __________________________________________________
A software company is developing a new application with a focus on good software design principles. The process involves several stages of development. (a) Outline the stages of the Waterfall model in software development. [4] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (b) Explain the differences between a compiler and an interpreter. [4] __________________________________________________ __________________________________________________ __________________________________________________ __________________________________________________ (c) Describe the role of an Integrated Development Environment (IDE) in programming. [3] __________________________________________________ __________________________________________________ __________________________________________________
Consider an online shopping website that manages various types of data including product listings, customer reviews, and order history. (a) Discuss the importance of data integrity and give three ways to ensure it is maintained within a database. [9] (b) Assess the legal implications of improperly handling personal data in relation to the Data Protection Act 2018. [6]
A network technician is responsible for setting up a local area network (LAN). (a) Define what a peer-to-peer network is and list two advantages and two disadvantages of this type of network. [6] (b) Compare and contrast the TCP/IP and OSI models, highlighting their main differences. [4]
A fitness tracker application collects user data, including heart rate, steps taken, and calories burned on a daily basis. (a) Explain the modes of data representation used for this type of application and the importance of accuracy. [4] (b) Identify two symmetric encryption algorithms and explain how they secure user data. [4]
A software company is developing an application using object-oriented programming principles. (a) List and explain the four main principles of OOP. [8] (b) Describe the advantages of OOP in software development compared to procedural programming. [4]
A small company has developed a website using various web technologies. (a) Identify and explain at least three types of web technologies that can be used in web development and their roles. [6] (b) Discuss the impact of search engine optimization (SEO) techniques on the visibility of a website. [4]
A software developer is writing a program that utilizes a stack data structure for backtracking through user inputs. The operations performed on the stack are as follows: Push: 10, Push: 20, Pop, Push: 30, Push: 40, Pop, Pop. (a) Show the contents of the stack after each operation. [6] (b) Explain how the Last In First Out (LIFO) principle applies to stack operations. [2]
You need to calculate the two's complement of the binary number 10100101. (a) Convert the binary number to its two's complement value. Show your working. [3] (b) Explain the significance of two's complement in computer systems. [2]
A programmer is tasked with writing a simple Python function to calculate the factorial of a number using recursion. (a) Write the Python code to implement the factorial function. [5] (b) Explain how recursion works in your function, including the base case and recursive case. [3]
The following table shows some common data types and their corresponding memory sizes. Complete the table below with the missing sizes. Type | Memory Size (bits) Integer | ? Boolean | ? Character | ? Float | ? Double | ? Fill in the blanks in the table. [5]
A school uses a database system to store student records. Each student record includes the following attributes: Student ID, Name, Date of Birth, Grade Level. (a) Define what a relational database is and give two advantages of using a relational database over a flat-file database. [4] (b) Describe how normalization of data in a relational database can reduce redundancy. Give an example. [6]
Consider the following Boolean expression: A + AB'C + A'B. (a) Simplify the expression using Boolean algebra rules. [2] (b) Draw a logic circuit that represents the simplified expression. [4]
In a computer system, the CPU plays a crucial role in processing data. Discuss the components of the CPU and their functions, particularly focusing on the ALU, CU, and registers. [12]
In an algorithm, you are required to sort an array of integers using the Bubble Sort method. (a) Describe how the Bubble Sort algorithm works. [3 marks] (b) Given the array [5, 2, 9, 1, 5, 6], show the status of the array after each complete pass through the array. [4 marks]
Given the Boolean expression: (A AND B) OR (C AND NOT D). Using logic gates, draw a circuit diagram that represents this expression. [4 marks]
You are tasked with implementing a stack data structure to manage a list of tasks in a project management application. (a) Explain the key operations of a stack data structure. [3 marks] (b) Illustrate the state of the stack after the following operations: PUSH(10), PUSH(20), POP(), PUSH(30). [3 marks]
A networking company provides several services listed below. Match each service to its description: [5 marks] | Service | Description | |------------------|--------------------------------------| | DNS | | | HTTP | | | FTP | | | DHCP | | | SSH | | 1. Protocol for file transfer. 2. Resolves domain names to IP addresses. 3. Assigns dynamic IP addresses to devices. 4. Enables secure remote login. 5. Used for transferring hypertext.
For a programming scenario, you need to implement a function that finds the factorial of a number using recursion. Write pseudocode for this function. [4 marks]
A fitness tracking application records user activities. Complete the truth table below for the AND, OR, and NOT logical operations based on the following inputs - Activity A and Activity B. [5 marks] | Activity A | Activity B | AND | OR | NOT A | |------------|-------------|-----|----|-------| | 0 | 0 | | | | | 0 | 1 | | | | | 1 | 0 | | | | | 1 | 1 | | | |
Trace the execution of the following pseudocode. ``` SET total = 0 FOR i FROM 1 TO 10 DO total = total + i END FOR OUTPUT total ``` State the final value of total after the execution of the pseudocode. [3 marks]
An online shopping website supports user registrations and transactions. (a) State two examples of data validation techniques that could be employed during the registration process. [2 marks] (b) Describe how encryption protects user data in online transactions. [4 marks]
A computer system consists of various hardware and software components. Describe the roles of the Control Unit (CU) and the Arithmetic Logic Unit (ALU) in the CPU. [4 marks]
Suppose you have two classes: Student and Course in an object-oriented programming context. (a) Define the properties and methods of the Student class. [3 marks] (b) Provide a brief overview of how inheritance between Student and Course could be implemented. [3 marks]
Consider a scenario where a school database is being designed to store students' information. (a) List two differences between a flat file and a relational database system. [2 marks] (b) Explain the concepts of primary key and foreign key in relation to relational databases. [4 marks]
It is important to ensure software development is organized and efficient. (a) Outline the Waterfall model of software development. [4 marks] (b) Discuss the advantages and disadvantages of using an Agile methodology compared to the Waterfall model. [6 marks]
A tech company is looking into machine learning algorithms for predictive analysis. The algorithms they are exploring include decision trees and neural networks. (a) Define what a decision tree is. [2] (b) Discuss how neural networks differ from traditional programming approaches in solving complex problems. [5] (c) Evaluate the ethical implications of using machine learning algorithms in decision-making processes. [9] You should write around 250 words.
A company is implementing a system to manage online orders and payments. The software needs to handle user sessions and security efficiently. (a) What is the purpose of encryption in data transmission? [2] (b) Compare symmetric and asymmetric encryption methods with examples. [4] (c) Discuss the implications of data breaches and the measures that can be taken to prevent them. [9] You should write around 250 words.
The following algorithms are being analyzed for sorting efficiency: Bubble Sort, Insertion Sort, and Merge Sort. (a) Create a table to classify each algorithm based on its best and worst time complexity. [5] (b) Describe the main difference between stable and unstable sorting algorithms. [2] (c) Analyze the impact of the choice of sorting algorithm on the overall performance of applications, considering factors such as dataset size and order. [5]
A school uses a programming language to manage student grades and course enrollments. (a) Define the term 'data type' in programming. [2] (b) Describe two uses of arrays in programming, providing examples. [4] (c) Given the following list of grades: [80, 70, 90, 60, 85]. Write a pseudocode function that calculates the average grade. [4]
Assume you are given a large dataset of numbers to process. You are required to implement a search algorithm. (a) What is the time complexity of a linear search algorithm? [1] (b) Compare linear search and binary search algorithms. [4] (c) Apply the binary search algorithm to find the number 23 in the sorted array: [10, 15, 20, 23, 30]. Show the steps taken. [5]
A fitness tracker application is being developed to log users’ activities and calories burned. The data needs to be processed efficiently to generate reports. (a) Define what a variable is in programming. [1] (b) List three types of data that can be stored in variables. [3] (c) Explain how Boolean variables can be useful in applications like fitness trackers. [3]
An algorithm database is used to sort lists of product prices to ensure efficient retrieval. (a) Define what a sorting algorithm is. [1] (b) Explain how merge sort operates in a divide-and-conquer method. Include pseudocode for merge sort. [5] (c) Compare the efficiency of quicksort and insertion sort algorithms in terms of time complexity. [4]
A database system for a library is designed to keep track of books, authors, and members. It uses SQL to interact with the database. (a) Name two types of SQL statements and provide a brief description of their purpose. [4] (b) Explain how normalization can prevent data redundancy in a database. [3] (c) Write a SQL query to select all book titles from a table called 'Books'. [3]
A computer network is set up to enable communication between multiple devices. The network topology affects performance and reliability. (a) Define what a network topology is. [2] (b) Describe two advantages of a star topology over a bus topology. [4] (c) Draw a diagram representing a star topology with five devices connected to a central hub. [4]
A software development company is designing a new application that requires efficient data handling. The application will involve procedures for user registration and login, which communicate with a database. (a) Define what a subroutine is in programming. [2] (b) Explain the benefits of using subroutines in application development. [4] (c) Discuss how using subroutines can affect program readability and maintenance. [5]
A local library has developed a system to manage book inventory. They want to implement an algorithm to search for books based on the ISBN number. (a) Describe how a binary search algorithm works when searching for a book. [3] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) List the advantages of using a binary search over a linear search in this context. [2] (Answer: ___________________________________________ ____________________________________________________)
A photographer has a set of images that need to be compressed for storage. They consider using different compression techniques. (a) Differentiate between lossy and lossless compression. [4] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) State two advantages of using lossless compression for the photographer’s images. [2] (Answer: ___________________________________________ ____________________________________________________)
A developer is implementing a new feature for a web application. They need to ensure that the feature conforms to certain performance criteria. (a) Explain what is meant by Big-O notation. [2] (Answer: ___________________________________________ ____________________________________________________) (b) State the Big-O notation for merge sort and justify your answer. [3] (Answer: ___________________________________________ ____________________________________________________)
A tech company decides to change its software development methodology to Agile. (a) List the characteristics of Agile development methodologies. [3] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) Explain why Agile might be more suited for software projects compared to traditional methodologies like Waterfall. [4] (Answer: ___________________________________________ ____________________________________________________)
A school is implementing a new cloud-based system to manage student records. (a) Discuss the legal implications of storing sensitive student data in a cloud environment. [4] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) Outline measures the school should take to ensure data protection compliance. [5] (Answer: ___________________________________________ ____________________________________________________)
A software engineer is developing an algorithm to find the shortest path in a graph for a navigation system. (a) Describe Dijkstra’s algorithm for finding the shortest path. [4] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) Apply Dijkstra’s algorithm to the graph shown below, calculating the shortest path from node A to node D. Use the edges: A-B (1), A-C (4), B-D (2), C-D (3). [5] (Answer: ___________________________________________ ____________________________________________________)
A school’s database system needs to execute queries for finding student information efficiently. (a) Explain how SQL can be used to retrieve data from a database. [3] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) The table below lists students and their corresponding grades. Complete the SQL command to retrieve data of students scoring above 70. | Student | Grade | |---------|-------| | John | 85 | | Sarah | 68 | | David | 72 | | Emma | 93 | (c) Write the SQL query for the above requirement. [2] (Answer: ___________________________________________ ____________________________________________________)
A software development team is analyzing the performance of two different data structures, an array and a linked list, for implementing a stack. (a) Compare the use of arrays and linked lists for implementing stacks, focusing on memory allocation and performance. [4] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) Discuss the implications of choosing linked lists over arrays for a stack data structure in a memory-constrained environment. [5]* (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________)
A programmer needs to implement error handling in an application processing user inputs. (a) What is the purpose of exception handling in programming? [2] (Answer: ___________________________________________ ____________________________________________________) (b) Give an example of how a try-catch block works in Python for handling division by zero. [4] (Answer: ___________________________________________ ____________________________________________________)
Students are learning about recursion in their programming course. (a) Define recursion and provide an example of a recursive function in pseudocode. [4] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) Discuss the advantages and disadvantages of using recursion in programming. [5]* (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________)
In creating a fitness tracker application, the developers implemented various object-oriented programming techniques. (a) What are classes and objects in OOP? [2] (Answer: ___________________________________________ ____________________________________________________) (b) Define encapsulation and explain its importance in the context of the fitness tracker application. [4] (Answer: ___________________________________________ ____________________________________________________)
In a tech company, a team is implementing a hash table for managing user sessions in an application. They consider implementing collision resolution techniques. (a) Define what is meant by "collision" in the context of hash tables. [2] (Answer: ___________________________________________ ____________________________________________________) (b) Describe two collision resolution methods and give an example for each. [4] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________)
A computer science class is given an assignment to analyze different searching algorithms. (a) Outline how a linear search algorithm works. [2] (Answer: ___________________________________________ ____________________________________________________) (b) Calculate the number of comparisons made when using a linear search to find the 25th element in an array of 50 elements. [2] (Answer: ___________________________________________ ____________________________________________________)
A student is tasked with implementing a tree data structure in a programming project. (a) Explain the properties of a binary search tree. [3] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) Draw a binary search tree after inserting the following values in the given order: 15, 10, 20, 5, 12, 17, 25. [4] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________)
A software developer is testing different sorting algorithms for organizing a list of student grades. (a) Explain the main differences between bubble sort and merge sort. [4] (Answer: ___________________________________________ ____________________________________________________ ____________________________________________________) (b) Describe a scenario where using bubble sort would be more appropriate than merge sort. [2] (Answer: ___________________________________________ ____________________________________________________)
A company is reviewing its software architecture to improve scalability. (a) Define what is meant by 'scalability' in the context of software systems. [2] (b) Differentiate between vertical and horizontal scaling. [4] (c) Assess the challenges associated with scaling software applications. [4*]
A network manager is configuring a new Wi-Fi network for an office. (a) Describe the purpose of SSID in wireless networks. [2] (b) Explain how WPA2 enhances wireless security. [3] (c) Assess the limitations of wireless networks compared to wired networks. [4*]
A company is developing a web-based application that needs to handle user interactions. (a) State what client-side processing is. [2] (b) Differentiate between client-side and server-side processing. [4] (c) Evaluate the implications of using server-side processing in web applications. [4*]
A cloud service provider needs to manage its data resources efficiently. (a) Define what is meant by 'cloud computing'. [2] (b) Explain the benefits of using cloud services for businesses. [3] (c) Assess the potential risks of relying on cloud computing. [4*]
A cybersecurity analyst is evaluating various methods for protecting information systems. (a) Define 'firewall' in the context of network security. [2] (b) Describe two different types of firewalls. [4] (c) Assess the effectiveness of firewalls in protecting from external threats. [4*]
A database administrator is implementing data integrity measures in a relational database. (a) Explain what is meant by 'data integrity'. [2] (b) Describe two methods for ensuring data integrity in a database. [4] (c) Assess the role of normalization in maintaining data integrity. [5*]
An analyst reviews a software application for performance and functionality. (a) Describe what is meant by 'testing' in software development. [2] (b) Identify the main types of software testing. [4] (c) Discuss the importance of performance testing in software development. [4*]
A team of engineers is assessing cloud infrastructures to host their applications. (a) Define 'IaaS'. [2] (b) Explain the features of IaaS compared to SaaS. [3] (c) Evaluate the advantages and disadvantages of IaaS for businesses. [4*]
A project manager needs to establish a schedule for software deliverables. (a) Define 'project management methodology'. [2] (b) Name and describe two common project management methodologies. [4] (c) Discuss the benefits of adopting Agile methodology in software projects. [4*]
A web developer is about to implement a responsive web design. (a) Define 'responsive web design'. [2] (b) Explain the benefits of using responsive design for websites. [3] (c) Assess the impact of user experience on website performance. [4*]
A researcher is examining the impact of legislative frameworks on digital technologies. (a) Describe the impact of the Computer Misuse Act 1990. [2] (b) Explain the importance of having adequate software licensing agreements. [4] (c) Discuss the implications of copyright infringement for software developers. [4*]
During a software implementation, a team must determine the roles of different components. (a) Define 'middleware'. [2] (b) Explain the function of middleware in application integration. [3] (c) Assess the impact of middleware on system scalability. [4*]
A database manager is restructuring an existing database schema. (a) Define 'schema' in the context of databases. [2] (b) Explain the difference between physical and logical schema. [4] (c) Discuss the importance of schema design in database management. [4*]
A project manager oversees the development of a new product that involves AI technology. (a) Define the ethical concerns associated with Artificial Intelligence. [2] (b) Explain the potential consequences of AI bias in software development. [4] (c) Discuss the societal implications of advanced AI systems. [4*]
A hardware technician is analyzing the architecture of modern CPUs. (a) Explain the concept of pipelining in CPU design. [3] (b) Describe how pipelining can improve CPU performance. [3] (c) Compare pipelining with superscalar architecture. [4*]
A database administrator is tasked with improving database performance. (a) Define what indexing means in database management. [2] (b) Explain the benefits of using indexes in databases. [3] (c) Discuss the potential downsides of indexing systems. [4*]
A computer system has several components that work in tandem to perform tasks. (a) Identify and explain the roles of the ALU and CU in the CPU. [4] (b) Describe what is meant by clock speed in terms of CPU performance. [2] (c) Assess how multiple cores impact CPU performance. [4*]
A software engineer visits a project that has legal implications related to data protection. (a) State the purpose of the GDPR. [2] (b) Explain what rights individuals have under the GDPR. [4] (c) Discuss the consequences for a company that fails to comply with GDPR regulations. [4*]
A team is examining issues related to ethical computing practices. (a) Describe the term 'open-source software'. [2] (b) Discuss the benefits and drawbacks of open-source licensing. [5] (c) Assess how proprietary software impacts innovation and competition. [4*]
A company is considering its hardware options while designing a new server. (a) Discuss the differences between SSD and HDD storage. [5] (b) Explain the advantages of using SSD in server environments. [4*]
A company needs to implement security measures in its network framework. (a) Define 'VPN'. [1] (b) Explain how VPN technology enhances security for remote workers. [3] (c) Assess the limitations of VPN technology. [4*]
A local gym uses a simple database to track members' information. (a) Define the term 'primary key' in a database. [2] (b) Explain the difference between flat-file databases and relational databases. [3] (c) Identify the advantages of using a relational database. [4*]
A developer is tasked with creating a simple software application. (a) Define 'software development methodology'. [2] (b) Describe the key phases of the Waterfall model. [5] (c) Compare agile and waterfall methodologies. [5*]
Consider the impact of legal regulations on computer use in the workplace. (a) State two key pieces of legislation that affect computer use in the UK. [2] (b) Explain the purpose of the Data Protection Act 2018. [4] (c) Assess the implications of the Computer Misuse Act 1990 for employees. [6*]
A systems analyst is evaluating system architectures for a new software product. (a) Define what is meant by 'client-server architecture'. [2] (b) List two characteristics of client-server architectures. [2] (c) Explain the advantages of client-server architecture. [4*]
A company is developing a mobile app that handles user data and transactions. (a) Explain the term 'data encryption'. [2] (b) Describe the importance of encryption for protecting sensitive information. [3] (c) Evaluate the trade-offs between using encryption and usability in applications. [4*]
A software developer is working on an application that requires efficient memory management. (a) Provide a brief definition of 'memory management'. [2] (b) Discuss the key functions of an operating system related to memory management. [5] (c) Assess how effective memory management impacts system performance. [4*]
A team is considering programming languages for a new development project. (a) Define 'high-level programming language'. [2] (b) Name and describe two features of high-level programming languages. [4] (c) Discuss the advantages of using high-level languages over low-level languages. [4*]
A database system must normalize data to eliminate redundancy. (a) State what is meant by 'normalization' in database terms. [2] (b) Explain the purpose of the first three normal forms (1NF, 2NF, 3NF) in a database. [6] (c) Provide an example of a table that is not in 1NF and convert it to 1NF. [5]
An online shopping platform uses various protocols for data transmission over the Internet. (a) Name two protocols used in transferring data over the Internet. [2] (b) Explain the differences between HTTP and HTTPS. [3] (c) Describe how TCP/IP ensures reliable data transmission. [4]
A company is analyzing the security of its data. They are particularly interested in encryption methods. (a) Name two types of encryption. [2] (b) Explain the difference between symmetric and asymmetric encryption. [3] (c) Discuss the implications of inappropriate data security measures. [4*]
A local university is upgrading its computer systems. They need to understand the role of memory in processing data. (a) Define the term 'volatile memory'. [2] (b) Explain the difference between RAM and ROM. [3] (c) Describe how cache memory can improve the performance of a CPU. [4]
A company develops an application that requires frequent updates. (a) Explain what a 'software release' is. [2] (b) Describe the difference between alpha and beta testing. [4] (c) Evaluate the importance of version control in software development. [4*]
A software engineer needs to efficiently store multiple records of customer feedback. (a) Define 'array' in programming. [2] (b) Explain how a two-dimensional array differs from a one-dimensional array. [3] (c) Describe a scenario where a stack data structure would be more useful than a queue. [4*]
A programming team is tracing an error in a piece of code. (a) Explain the purpose of using comments in programming. [2] (b) Identify three types of programming errors. [3] (c) Describe the importance of debugging in software development. [4*]
A software team is designing a new application for managing contacts. (a) Define a 'class' in object-oriented programming. [2] (b) Explain the concept of 'inheritance' in OOP. [3] (c) Describe the importance of encapsulation in software design. [4*]
An engineer is working on binary logic for a new digital circuit. (a) Define what is meant by Boolean algebra. [2] (b) Simplify the Boolean expression A + A'B. [2] (c) Draw the logic circuit for the expression (A + B)(C + D). [4]
A networking engineer is designing a system to describe and visualize network connections. (a) Define what a network topology is. [2] (b) Name and explain two different types of network topologies. [4] (c) Draw a simple diagram of a star topology with at least three devices. Label the components accordingly. [4]
A school is considering different types of data structures to manage student records. (a) Define the term 'data structure'. [1] (b) Name two types of data structures and provide a brief description of each. [4] (c) Explain the advantage of using a linked list over an array. [3]
A developer is using a programming language to create a sorting algorithm. (a) Define the term 'algorithm'. [1] (b) Name two common sorting algorithms. [2] (c) Describe the difference between insertion sort and bubble sort. [3] (d) Explain the Big O notation for the time complexity of merge sort. [4]
Define 'recursion' in programming and explain its uses, highlighting advantages and disadvantages. You should write around 100 words.
A network administrator is setting up a network. Define the term 'IP address' and outline its significance in networking.
Describe the differences between symmetric and asymmetric encryption. Provide at least one example of each.
Explain what is meant by encapsulation in Object Oriented Programming (OOP). You should write around 100 words.
Illustrate a basic network topology diagram for a peer-to-peer network and describe its key features.
Describe how TCP/IP protocols function in data transfer over the internet. Your response should be around 150 words.
Identify the major components of a CPU and their functions. You should write around 150 words to elaborate on each component's role in the processing cycle.
Evaluate the significance of cloud computing in modern software development, highlighting both benefits and risks involved. Your response should be around 250 words.
Create a flowchart to represent a simple login process involving username and password input. Include decision points for valid and invalid scenarios.
A network architect is designing a simple local area network (LAN) for a small office. Describe two advantages of a star topology compared to a bus topology.
Discuss the role of an Operating System in managing software and hardware resources. Your response should be around 250 words.
Analyze the effectiveness of various sorting algorithms in terms of Big-O notation and their performance in multiple scenarios.
Evaluate the effect of integrating AI systems into current software applications. Discuss both positive and negative impacts.
Given the following pseudocode, trace the output for the array 'values' containing [3, 1, 4, 2]. The pseudocode is as follows: 1. FOR i FROM 0 TO 3 DO 2. OUTPUT values[i] + ' ' 3. END FOR
A sorting algorithm requires a dataset of 1000 items. Calculate the approximate time it takes for the bubble sort algorithm to sort this dataset. Show your working on the Big-O complexity of bubble sort.
A fitness tracker application collects data about steps taken by users daily. Describe two advantages and two disadvantages of using Big Data in this context.
Identify the following data structures from the descriptions below. a) This structure uses a First In First Out (FIFO) mechanism. b) This structure uses the 'last' to enter as the first to leave (LIFO). c) This structure organizes data in a hierarchical manner with nodes.
Discuss how algorithms like Dijkstra's can optimize route calculations in navigation systems. Include specific details about its process.
A company wants to create a data model for their customer information. Describe how normalization helps in organizing data in relational databases and provide an example.
List and compare the main steps involved in the Agile and Waterfall development methodologies.
Consider the following algorithms: Binary Search and Linear Search. Perform a comparison of both focusing on time complexity and when to use each algorithm.
Explain the fetch-decode-execute cycle. You should write around 150 words to cover key points about what happens at each stage.
Write the pseudocode for the insertion sort algorithm for a list of integers. Make sure to include handling for the index of the current element.
List and explain the components of a Class in Object-Oriented Programming.
Identify and describe the purpose of three types of errors that may occur while programming.
A developer is using a data structure where elements can be added and removed from both ends. Identify this structure and describe its characteristics.
A company collects customer data and uses it for targeted advertising. Discuss the ethical implications of using this data without customer consent. Your response should be around 250 words.
Write a program in pseudocode to create a stack data structure. Include operations for push and pop.
Explain what a 'hash table' is and how it handles collisions. You should write around 150 words.
Expand on the implications of using cryptography for online transactions. Outline two advantages and two disadvantages.
You are tasked with implementing a binary search algorithm for a sorted array of integers. Write the pseudocode for this algorithm, including what the function should return if the target is not found.
Write a short comparison between a compiler and an interpreter focusing on at least two differences.
A stack data structure is used to store web page histories in a browser. Show the contents of the stack after each of the following operations: 1) Push('page1'), 2) Push('page2'), 3) Pop(), 4) Push('page3').
A software application uses a recursive function to calculate factorials. Explain the advantages and disadvantages of using recursion compared to iteration.
You are designing a new web application. Describe how you would ensure it is resistant to SQL injection attacks and provide two strategies.
Consider the following block of pseudocode. Identify any errors and correct them. 1. SET sum = 0 2. FOR i = 1 TO 10 DO 3. SUM = sum + i 4. END FOR 5. OUTPUT sum
A programmer creates a class named 'Car' which has attributes 'make', 'model', and 'year'. Write a constructor for this class along with a method 'displayInfo' that prints the car's details.
Write pseudocode to implement a linear search algorithm. The algorithm should find the target value from an array of integers. Assume the integers are stored in an array called 'numbers'.
Explain the terms 'lossy' and 'lossless' compression. Give one example for each type of compression used in digital media.
A school uses a database system to store student information. Define what a database is and outline two advantages of using a database system over a flat file system.
A computer program utilizes Dijkstra's algorithm to find the shortest path in a graph. The graph is represented as follows: A --1--> B A --4--> C B --2--> D C --1--> D (a) Illustrate the table that would represent the distances from node A to each node using Dijkstra’s algorithm. Begin with distances initialized to infinity, except for the distance to A (0). (b) Complete the table showing the working steps for the algorithm. Assume all edges have weights as provided. [8]
An online retailer wants to track user sessions to improve its website performance. Define what a session is in the context of a web application and list two methods for tracking user sessions. [3]
A software company is gathering data on user preferences by mining a large dataset. Discuss the ethical considerations of using big data in this context. You should write around 250 words. [9*]
A binary search tree (BST) is built using the following sequence of numbers: 15, 10, 20, 8, 12, 17, 25. (a) Draw the BST after all insertions are made. (b) What would be the result of performing an in-order traversal on this BST? [5]
Two students are discussing global and local variable scope in a programming project they are working on. (a) State the definition of a global variable. (b) Describe the key differences between global and local variables in terms of accessibility and lifetime. [4]
A network consists of several devices interconnected by various methods. Describe at least three different types of network devices and their functions. [6]
A school is implementing an online learning platform. Explain how object-oriented programming principles can be applied in the development of this platform, considering classes and inheritance. You should write around 250 words. [9*]
A computer scientist must organize a collection of 50 items that can be represented using an array. Each item has a unique ID and a value. Describe how to declare and populate this array in Python. [4]
The software development life cycle consists of several stages. (a) Name and briefly describe the stages involved in the waterfall model. (b) Discuss the main advantages of using the waterfall model in software development. [8*]
Consider the algorithm for linear search. (a) Define the linear search algorithm and explain its time complexity. (b) In what situations would linear search be preferred over binary search? [4]
A company uses both symmetric and asymmetric encryption to secure its data. Explain the key differences between these two encryption methods. [4]
A company's customer database is organized as a hash table with chaining for collision resolution. The table has a size of 10. The functions used are: - Hash Function: `hash(key) = key mod 10` Given the keys: [23, 33, 43], show how they would be stored in the hash table. [4]
A computational problem is solved using recursion. The pseudocode is as follows: ``` FUNCTION RecursiveSum(n: INTEGER) : INTEGER IF n == 0 THEN RETURN 0 ELSE RETURN n + RecursiveSum(n - 1) END FUNCTION ``` (a) Explain the base case in this recursive function and its significance. (b) What will be the outcome of RecursiveSum(5)? Provide a brief calculation to support your answer. [5]
A cloud storage solution is evaluated based on its scalability. Define scalability in the context of cloud computing and list two advantages of using scalable solutions. [3]
A smartphone application requires user input to analyze fitness data. Explain the role of user interface (UI) design in ensuring user satisfaction. [3]
An application is required to sort user comments based on their timestamps in a chat feature. Identify appropriate sorting algorithms for this task and justify your choice. You should write around 150 words. [4]
A corporate web application needs to store user sessions effectively. Identify three methods of storing sessions in web applications and discuss the pros and cons of each method. [6]
Evaluate the advantages and disadvantages of using an integrated development environment (IDE) versus using text editors for programming. You should write around 200-300 words. [12*]
A software engineer encounters a problem when attempting to implement a sorting algorithm. Outline the steps they should take to debug their code effectively. [3]
An online course platform allows users to rate courses. Discuss the implications of using algorithms to recommend courses based on user ratings. You should write around 200 words. [4]
Describe the common characteristics of dynamic and static websites. How do these characteristics affect their development and maintenance? [4]
A university is implementing a new web portal for students. Discuss how web technologies like HTML, CSS, and JavaScript work together to enhance user experience. You should write around 250 words. [9*]
A student is given a task to sort a list of integers using bubble sort. The list is: [5, 2, 9, 1, 5, 6]. Show each pass of the bubble sort algorithm until the list is sorted. [6]
A student must implement a simple ticket booking system. Design a flowchart to demonstrate the logical process of the booking task. [5]
Analyze how computational thinking is crucial in problem-solving within computer science. You should write around 200-300 words. [12*]
A programmer must evaluate the differences between procedural and object-oriented programming. Discuss the advantages and disadvantages of each paradigm. You should write around 250 words. [9*]
Describe the main functions of the CPU in a computer system. You should write around 150 words. [4]
Explain how a computer uses the fetch-decode-execute cycle to process instructions. Illustrate your answer with appropriate technical terminology. You should aim for around 200 words. [8*]
A database administrator is tasked with designing a normalized database for a library system. The requirements include tracking books, authors, and borrowing transactions. (a) Explain what is meant by data normalization and why it is important in this scenario. (b) Identify and describe the three normal forms in database normalization. [9*]
Within a school’s computer program, a stack is used to manage a series of commands. Initially, the stack is empty. The following operations are performed: 1. Push 5 2. Push 10 3. Push 15 4. Pop 5. Push 20 6. Pop What is the state of the stack after these operations? [3]
Define algorithm efficiency and explain two factors that affect it, providing examples for each factor. [4]
A school is reviewing its computer network and requires a secure way to transfer files. Discuss the protocols available for file transfer and recommend the best option based on security features. You should write around 200 words. [8*]
Explain the difference between vertical and horizontal scaling in the context of cloud computing. Provide one advantage and one disadvantage of each scaling method. [6*]
A company wishes to implement a network to connect geographically dispersed branches. Discuss the types of network topologies that could be utilized and evaluate which topology would be most suitable considering cost and effectiveness. You should write around 250 words. [9*]
An organization is implementing a peer-to-peer network for its employees. Describe the main characteristics of peer-to-peer networking. [3]
A variable declared as a constant in programming is essential for maintaining data integrity. Define the term constant and give two examples of constants used in a program. [3]
A programming task requires the use of a list data structure to store a sequence of numbers. Write a Python program to generate a list of squares of the first 10 integers (0-9) and then print that list. [4]
A school has a database system to manage student information. The database consists of tables for students, courses, and enrollments. (a) Define what a database is and state two benefits of using a database for this school. (b) Explain what is meant by normalization in the context of databases. [3]
A fitness tracker application uses algorithms to calculate various statistics from user input. Consider the following pseudocode: ``` FUNCTION CalculateCalories(steps: INTEGER, weight: REAL) : REAL CALORIES_PER_STEP = 0.05 RETURN steps * CALORIES_PER_STEP * weight END FUNCTION ``` (a) Identify the data types used for the parameters in the CalculateCalories function. (b) Determine the purpose of the CALORIES_PER_STEP constant within the function. [4]
A programming team is developing an e-commerce website. They need to implement a class to represent products. Write a Python class definition named `Product` that includes the following attributes: `name` (string), `price` (float), and `quantity` (integer). The class should also include a method `update_quantity` that takes an integer as a parameter and updates the quantity attribute. [6]
A peer-to-peer network has some advantages over a client-server network. Outline two advantages of peer-to-peer networks. [4]
A company has developed an artificial intelligence system that raises ethical concerns. Evaluate both the potential benefits and risks of using AI technologies in various sectors. [12]
Discuss the principles of Agile development methodology and how it contrasts with traditional sequential development methodologies, focusing on flexibility and user involvement. [8]
A network administrator needs to configure network security. Identify and explain two types of firewalls that can be used. [6]
Discuss the relevance of client-server architecture in modern applications, giving examples of where it is effectively utilized. [8]
Define the term 'user interface' and discuss two types of user interfaces commonly used in software applications. [6]
A customer service application implements error handling using try and catch statements. Explain how this works in programming context and the benefit of using this technique. [4]
Identify and explain two types of algorithms used for searching data in a list. Compare their performance. [6]
Different programming languages have various data types. (a) Define what a primitive data type is and provide two examples. [3] (b) Explain the difference between an array and a list data structure. [4]
Describe two methods of file handling in programming languages and explain their importance in data management. [8]
Calculate the hexadecimal representation of the decimal number 255. Show your working. [2]
A file storage system allows different types of file formats. Explain the differences between text files and binary files. [4]
A school is implementing an online examination system. Outline the security considerations that should be addressed to protect student data and maintain the integrity of the examination process. [8]
Consider the following set of Boolean expressions: 1. A + A'B 2. (A + B)(A' + C) 3. A + BC' (a) Simplify each expression using Boolean algebra laws. [6] (b) State an application where Boolean algebra is essential in computing. [2]
Explain the fetch-decode-execute cycle, detailing the roles of various CPU components involved in this process. [6]
Identify the roles of an operating system in managing hardware resources and discuss one of its responsibilities in scheduling tasks. [6]
Using Dijkstra's algorithm, find the shortest path from node A to node D in the following weighted graph: A - (1) - B A - (4) - C B - (2) - D C - (1) - D Show your workings as you calculate the shortest path. [6]
Consider the code snippet below: ``` function factorial(n) if n == 0 then return 1 else return n * factorial(n - 1) end if end function ``` Identify what this code implements and explain how recursion is used. [5]
Consider the following pseudocode for a simple sorting algorithm: ``` FOR i FROM 0 TO length(arr) - 1 FOR j FROM 0 TO length(arr) - i - 1 IF arr[j] > arr[j + 1] THEN swap(arr[j], arr[j + 1]) END IF END FOR END FOR ``` (a) Identify the sorting algorithm implemented in the pseudocode above. [1] (b) Explain the time complexity of this algorithm using Big-O notation. [3]
Explain collision handling in hashing and provide an example of a method used for collision resolution. [4]
You need to implement a search operation through a list of integers using a binary search algorithm. Describe the algorithm's requirements and provide an example of a suitable list of numbers. [5]
Given the hexadecimal number A3C, convert it to its equivalent binary representation. Show your working. [2]
Identify the difference between a compiler and an interpreter and discuss how they affect program execution. [6]
Discuss the significance of environmental issues in computing, particularly the impact of electronic waste and proposals for mitigating these effects. [12]
A software application uses selection processes to determine user input validation. Discuss how different types of selection structures can be implemented in programs and the implications of each. [9*]
A software development team is following the Agile methodology. (a) Outline two key features of Agile development. [4] (b) Describe one benefit and one drawback of using Agile over Waterfall methodology. [4]
Explain the difference between RAM and ROM memory types and their uses in a computer system. [5]
An online shopping website needs to implement security measures to protect user data. Discuss two common encryption techniques and their effectiveness in securing data during transmission. [9*]
A fintech application tracks transactions made by users. It uses a hash table for managing user IDs. (a) Explain the concept of hashing in data structures and its primary purpose. [3] (b) Discuss how collision handling is managed when using a hash table. [5]
A company needs to optimize their data storage solutions using different types of storage media. Compare and contrast the use of SSDs and HDDs in modern computing environments. [6]
Identify and explain two types of networks used in computer architecture, providing at least one example for each type. [5]
Explain what is meant by an open-source software license and discuss one advantage and one disadvantage of using open-source software. [6]
A computer's CPU has a clock speed of 3.0 GHz. Calculate the time taken for one clock cycle to complete. Show your working. [2]
In a programming context, what is meant by 'recursion'? Provide an example of a scenario where recursion is used effectively. [4]
Explain the concept of lossy and lossless compression algorithms, with suitable examples for each type. [6]
The fetch-decode-execute cycle is a fundamental concept in computer architecture. (a) Describe the key stages involved in the fetch-decode-execute cycle. [5] (b) Explain the role of the ALU in the CPU during this cycle. [3]
A health app allows users to track their fitness activities and health metrics. Describe how the app could use a stack data structure to manage its functionality. [4]
Explain the key differences between the Von Neumann and Harvard architectures. Use suitable examples to illustrate your points. [6]
A school uses a database system to manage students' records. The database needs to support querying for students' grades and attendance. (a) Describe two advantages of using a relational database over a flat-file database for this purpose. [4] (b) Explain what is meant by normalization in the context of databases, and describe its purpose. [5]
Evaluate the impact of the General Data Protection Regulation (GDPR) on businesses that handle personal data, focusing on their obligations and consequences of non-compliance. [12]
A school is designing a new computer system for its students. Describe the fetch-decode-execute cycle and explain the role of registers and buses within this process. You should use a diagram to illustrate your answer where appropriate.
Using a 4-bit signed integer, convert the decimal number -3 into two's complement representation. Show each step of your working. [3 marks]
Describe the purpose of an Integrated Development Environment (IDE) in software development. [3 marks]
Using the Boolean expression A OR (B AND C), apply De Morgan's theorem to rewrite this expression. [4 marks]
Using the provided class definition in Python, identify any errors and explain how to correct them: ```python class Animal: def __init__(self, name): self.name = name def sound(self): print("The animal makes a sound") cat = Animal("Whiskers") cat.sound()
A binary tree contains the following values: 10, 15, 5, 12. Construct the binary search tree (BST) by inserting the values in that order. Show the final tree structure. [4 marks]
A business wants to ensure compliance with the General Data Protection Regulation (GDPR). Identify and explain one key principle of GDPR that businesses must follow. [4 marks]
Identify and explain two characteristics of multi-core processors. [4 marks]
What is the significance of cache memory in a computer system? Explain how cache memory improves system performance. [4 marks]
Outline the differences between primary, secondary, and tertiary storage, providing one example for each storage type. [4 marks]
The Computer Misuse Act 1990 plays a significant role in the digital economy. Describe two protections that this act provides to individuals and businesses against online threats. [4 marks]
A new electronic health record system must comply with the Copyright Designs and Patents Act 1988. Discuss how this act affects software development and the rights of developers and users within this context. [9* marks]
Discuss the implications of the Data Protection Act 2018 on businesses that handle personal data. [6* marks]
Write a pseudocode algorithm to implement a linear search on a list. Show how the algorithm returns an index if the target value is found, or -1 if it is not found. [4 marks]
A coding function has An error on line 3. The Python pseudocode is as follows: ``` def calculate_area(length, width): area = length * width return area ``` Explain the purpose of this code and identify the error if no error exists. [3 marks]
Complete the table below to match the types of storage with their characteristics. [5 marks] | Storage Type | Characteristics | |--------------|----------------| | A | Fast read/write speeds | | B | Non-volatile memory, slower than RAM | | C | Used for temporary data storage | | D | Lifetime limited to device power | | E | Permanent data storage, slower access |
A smartphone application uses an asymmetric encryption algorithm for securing messages. Explain how asymmetric encryption works and provide an example of when it is typically used. [4 marks]
Construct a logic circuit for the Boolean expression A AND (B OR C). [5 marks]
A company is designing a new database and needs to use normalization. Explain the purpose of normalization and describe one normal form. [5 marks]
Discuss the role of ethics in the use of Artificial Intelligence (AI) in modern applications. Provide examples of potential ethical dilemmas. [9* marks]
Using Boolean algebra, simplify the following expression: A AND (B OR NOT A). Show each step in your working. [3 marks]
A hash table stores student IDs and names. Explain the concept of hashing and how a hash function is used within the table. [5 marks]
A digital device employs a two's complement representation with 8 bits. What is the range of decimal values that can be represented in this format? Show your working. [3 marks]
A developer is using an exception handling structure in Python. Which keyword is used to handle exceptions, and provide an example of its use? [2 marks]
Using the logic expression (A AND B) OR (A AND NOT C), apply simplification techniques to rewrite it in a simpler form. [4 marks]
An algorithm sorts an array using quicksort. Briefly explain how quicksort algorithm works. [4 marks]
Outline the role of the Operating System (OS) in managing hardware resources. Provide two examples of resources managed by the OS. [3 marks]
A code snippet written in Python has a logical error. Examine the following code and explain what the error is: ```python if x = 5: print("Five") ``` [3 marks]
Identify the four steps of the software development lifecycle and explain each step briefly. [4 marks]
An application requires user data to be stored using a relational database. Describe what a primary key is and why it is important in relational databases. [3 marks]
A company is implementing a new client-server architecture for its application. Explain the advantages of using a client-server model compared to peer-to-peer architecture. [4 marks]
A fitness application collects data when a user performs an activity. Identify and explain two ethical considerations when handling user data in such an application. [4 marks]
A developer is using a hash table to store data with a collision handling mechanism. Explain how collisions are resolved in a hash table. [3 marks]
A data structure using a stack is performing the following operations: 1. Push(10) 2. Push(20) 3. Pop() 4. Push(30) 5. Push(40) 6. Pop(). What are the contents of the stack after these operations? Show the contents after each operation. [5 marks]
Explain how dynamic memory allocation differs from static memory allocation in high-level programming languages. [4 marks]
Explain the significance of the fetch-decode-execute cycle in a CPU. Your answer should include the roles of the Control Unit (CU) and the Arithmetic Logic Unit (ALU). [4 marks]
A school uses a TCP/IP network. State two key functions of the transport layer in the TCP/IP model. [2 marks]
A microcontroller is designed using the Harvard architecture. State two main characteristics of Harvard architecture compared to Von Neumann architecture. [2 marks]
A user wants to compress a file for faster upload. Explain the difference between lossy and lossless compression, providing examples for each. [5 marks]
Identify the two main types of encryption algorithms. Provide one advantage of each type. [4 marks]
A developer is using an Agile development methodology for a software project. Discuss the benefits and drawbacks of using Agile compared to the Waterfall model. [9* marks]
A computer system's CPU architecture can be either Von Neumann or Harvard. (a) Define the Von Neumann architecture. [2] (b) Compare the features of Von Neumann architecture with Harvard architecture. [4]
An online retailer is concerned about data security and decides to use encryption for their customer data. Outline what asymmetric encryption is, and compare it with symmetric encryption in terms of key management. [5]
A high school is implementing a scheduling system for its computer lab. (a) Describe the role of an operating system in managing this scheduling system. [2] (b) Explain how an operating system uses scheduling algorithms to improve CPU utilization. [3]
An organization uses a lightweight operating system for IoT devices. Explain the significance of memory management in such systems, particularly in relation to resource limitations. [4]
A software development team is implementing an Agile development methodology. (a) Identify two key principles of Agile development. [2] (b) Explain how Agile differs from the Waterfall model in software development. [4]
Create a truth table for the Boolean expression `A AND (B OR NOT C)`. [4]
A company's website uses a relational database to store user information. (a) Describe what normalization is in the context of database design. [3] (b) Explain why normalization is important for database efficiency and integrity. [3]
Discuss the implications of the Computer Misuse Act 1990 on software development and ethical hacking practices in the context of recent cybersecurity incidents. You should write around 250 words. [12]
A programmer is analyzing a bitwise operation in a computing system that uses a 16-bit architecture. Calculate the result of the following operation: `A = 0b1010101010101010` and `B = 0b1111000011110000`. (Show your working). [3]
Consider the following pseudocode for a simple binary search algorithm: ```plaintext FUNCTION binarySearch(array, value): low = 0 high = size(array) - 1 WHILE low <= high: mid = (low + high) / 2 IF array[mid] == value: RETURN mid ELSE IF array[mid] < value: low = mid + 1 ELSE: high = mid - 1 RETURN -1 END FUNCTION ``` (a) Trace the execution of `binarySearch([2, 4, 6, 8, 10], 8)` and show the value returned. [4] (b) What is the time complexity of a binary search? Explain your answer. [2]
An organization uses a SQL database for managing client information. The client table includes fields: `Client_ID`, `Name`, `Email`, `Phone`. (a) Write a SQL query to retrieve the names and emails of all clients. [2] (b) Explain what normalization is and why it is used in databases. [3]
A game developer is implementing a binary search algorithm to find an item in a sorted list. (a) Explain the steps involved in a binary search. [3] (b) Compare binary search to linear search in terms of efficiency. [4]
You are given a list of programming languages: Python, C++, Java, and JavaScript. (a) Match each language to its primary application area in the table below. [4] | Language | Application Area | |---------------|-----------------------| | Python | [1] | | C++ | [2] | | Java | [3] | | JavaScript | [4] | (b) Identify one advantage of Python over C++ for beginner programmers. [2]
A student is learning about number systems. Convert the binary number 11010101 to hexadecimal. Show your working. [2]
A company is planning to upgrade its Computer systems. (a) Define the purpose of the Control Unit (CU) in a CPU and outline one of its functions. [2] (b) Explain the impact of increasing the clock speed of a CPU on system performance, considering heat generation. [3]
Consider a programming project that uses Agile methodology. (a) State two advantages of using Agile over Waterfall for software development. [2] (b) Discuss how iterative development in Agile can lead to a better final product. You should write around 250 words. [9]*
The Data Protection Act 2018 governs how personal data is processed by businesses. (a) Outline two key principles of this legislation. [2] (b) Evaluate the effectiveness of the Data Protection Act 2018 in today's digital landscape. You should write around 250 words. [9]*
A school network uses a client-server model to manage resources. (a) Describe one advantage and one disadvantage of using a client-server model in educational environments. [4]
Explain the fetch-decode-execute cycle. Include the roles of registers and buses in your answer. [4]
A storage engineer is comparing RAM and ROM. (a) Outline one key difference between RAM and ROM. [1] (b) Explain the role of RAM in a computer system. [3]
What is the significance of user authentication in software applications? Describe two common methods of user authentication. [5]
Convert the hexadecimal number 2F3 to binary. Show your calculations. [3]
In the context of software development methodologies, define 'Agile' and outline its main principles. [5]
Briefly outline the role of an Integrated Development Environment (IDE) in software development. [3]
A 16-bit binary number is given as 1010111100011011. Convert this binary number to hexadecimal. Show your working. [3]
Explain the concept of time complexity and how Big O notation is used to express it. Provide an example of an algorithm with a specific time complexity. [6]
Illustrate the differences between TCP and UDP protocols in terms of reliability and data transmission. [4]
Define the term 'algorithm' and explain the characteristics of a good algorithm. [4]
Demonstrate how to convert the decimal number 75 into binary using repeated division. Show your workings. [2]
A company wants to encrypt data for secure transmission over a network. Distinguish between symmetric and asymmetric encryption, mentioning one advantage of each. [4]
Discuss the environmental and ethical considerations involved in the development of artificial intelligence technologies. [10]*
Outline the basic roles and functions of an operating system in managing hardware resources. [5]
A programmer looks into different data structures for efficient data access. Explain why linked lists might be preferred over arrays in certain scenarios. [4]
Outline the uses and significance of hash tables in data storage. [4]
A database administrator needs to query data from a database. Explain what SQL is and give an example of a simple SQL statement to retrieve data from a single table. [4]
Assess the implications of copyright law on software development practices. Consider both positive and negative aspects. [6]*
What is the purpose of normalisation in databases? Outline the different normal forms up to 3NF. [5]
A company uses a proprietary software for document management. Discuss the potential ethical implications of this choice. [6]*
What are the main functions of an operating system? List four and briefly outline each. [4]
Different types of memory serve various purposes in a computer system. Identify two differences between RAM and ROM. [2]
Explain what is meant by 'object-oriented programming' and identify its key principles. [5]
In the context of algorithm efficiency, explain the differences in performance between bubble sort and merge sort. [5]
Define the term 'hash function' and explain its applications in computing. [3]
A stack data structure is used in an application. Show how the contents of the stack change after performing the following operations: 1. PUSH 10 2. PUSH 20 3. POP 4. PUSH 30 5. POP What are the final contents of the stack? [5]
Explain the concept of pipelining in CPU architecture and its benefits. [4]
In a client-server network, describe the roles of the client and the server, providing at least two functions for each. [4]
Identify three characteristics of a binary search algorithm and explain under what conditions it is more efficient than linear search. [5]
Use the following LMC code to trace how the contents of the mailbox change after execution: 1. IN 2. OUT 3. END What will be the final content of mailbox 0 if the user inputs '5'? [2]
Explain the difference between lossy and lossless data compression, providing one example of each. [4]
Compare the concepts of open source and proprietary software, highlighting two advantages and two disadvantages of each. [10]*
Match the following scheduling algorithms to their descriptions in the table below. [4]
Describe the impact of the Data Protection Act 2018 on data management for businesses. [5]
Define the term 'recursion' in the context of programming and provide an example of how it can be used. [2]
Explain the fetch-decode-execute cycle of a CPU. Use relevant terms such as registers and buses in your explanation. [4]
A fitness tracker application collects user data such as steps taken and heart rate. Describe how this data can be stored using data structures, mentioning at least two structures and their advantages. [5]
A computer engineer is designing a simplified instruction set architecture. Choose two different addressing modes and explain their functions. [4]
Using the Boolean expression (A AND B) OR (NOT A AND C), use truth tables to find the output for all combinations of inputs A, B, and C. Show your workings. [5]
In an online shopping website, users can retrieve their shopping cart information. Discuss the role of the database in this scenario, focusing on the differences between flat-file and relational databases. [10]*
State the primary purpose of a compiler in the software development process. [1]
A CPU consists of different parts that perform specific functions. Describe the roles of the Arithmetic Logic Unit (ALU) and the Control Unit (CU) in the CPU. [4]
With reference to the Big-O notation, compare the time complexities of a bubble sort and a merge sort algorithm. [6]
Describe the implications of using encryption techniques for data transmission over the Internet, including benefits and potential drawbacks. [8]
A company needs to store images in a way that balances quality size. (a) Explain the difference between lossy and lossless compression with examples. [4] (b) Discuss the implications of choosing each type for an online portfolio website. [6]
Describe the differences between the Von Neumann and Harvard architectures. [6]
A school is considering implementing a new computer system for managing student records. (a) Outline the main components of a CPU and their functions. [4] (b) Describe how the fetch-decode-execute cycle works, emphasizing the roles of registers and buses. [6]
Define and explain the term 'abstraction' in the context of computational thinking, providing an example of its application in programming. [4]
A digital communication company must implement security protocols for their network. (a) Explain how asymmetric encryption differs from symmetric encryption. [4] (b) Discuss scenarios where asymmetric encryption is more advantageous to use than symmetric encryption. [6]
Explain how tree data structures can be useful in representing hierarchical data. Provide an example. [4]
A programmer is developing a class in Python for a book, which includes attributes such as title, author, and a method to display book information. Write appropriate class definitions and a constructor. [6]
Discuss the advantages and disadvantages of proprietary software in comparison to open-source software. [9*]
Write Python code to demonstrate how to implement a basic class for managing a simple bank account. The class should include methods for deposit and withdrawal. [6]
Discuss the moral and ethical implications of artificial intelligence in modern society. [9*]
Explain the difference between a compiler and an interpreter, outlining the advantages and disadvantages of each. [8]
Using flowchart techniques, depict the processes involved in both a linear search and a binary search. Clearly indicate the decision points in your flowchart. [6]
Write pseudocode to illustrate a linear search algorithm that finds a specified value within an array of integers. Explain its time complexity. [5]
Explain the impact of Moore's Law on computer technology development and its implications for future hardware innovations. [9*]
A network administrator is configuring a small local network for an office. (a) Describe two types of network topologies, including their advantages and disadvantages. [4] (b) Explain the role of a router in networking. [2]
An online retailer needs to manage customer orders using a database. (a) Explain what is meant by data integrity and how it can be ensured within database management systems. [6] (b) Identify and explain two types of data anomalies that can occur in non-normalized databases. [4]
Explain how hashing works, including its role in data integrity. Provide an example of a commonly used hashing algorithm. [6]
Using Big-O notation, analyze the space complexity of a recursive function compared to an iterative function. [5]
A software company is evaluating the use of Agile vs Waterfall methodologies. Discuss their key differences and the scenarios where each might be effectively applied. [9*]
You are asked to normalize a table that includes student details such as names, courses, and tutors. (a) Define what is meant by database normalization. [2] (b) Explain how to transform this table into at least 2NF. [4]
Identify and describe the responsibilities of an operating system in managing both hardware and software resources. [6]
Explain two advantages and two disadvantages of using object-oriented programming over procedural programming. [8]
A transport management system uses a binary search tree to manage routes. (a) List the steps involved in inserting a new node into a binary search tree. [4] (b) Illustrate the structure of the tree after inserting nodes with values 50, 30, 70, 20, 40. Show the tree after each insertion. [6]
You are required to implement a simple operating system scheduling algorithm. (a) Define what is meant by 'context switching' in operating systems. [2] (b) Describe how round-robin scheduling operates with an example. [4]
Compare and contrast the client-server and peer-to-peer networking models. Use relevant examples to support your answer. [8]
Discuss the implications of the Data Protection Act 2018 on data storage and processing in a mobile app development context, including potential penalties for non-compliance. [9*]
A company utilizes a relational database to manage employee information. (a) Define normalization within the context of databases. [2] (b) Explain two advantages of normalizing a database. [4]
A fitness tracker application collects data from users about their daily activities. Describe how lossy and lossless data compression techniques can be beneficial for storing such data. [6]
Consider a code snippet written in Python that implements a simple Caesar cipher encryption. ```python def caesar_cipher(text, shift): encrypted_text = "" for char in text: if char.isalpha(): encrypted_text += chr((ord(char) - 65 + shift) % 26 + 65) else: encrypted_text += char return encrypted_text ``` (a) Identify and correct two errors in the code above. (b) What will be the output of the function `caesar_cipher('HELLO WORLD', 3)`?
A computer program needs to store and manipulate user names of members in a game club. Using a hash table and handling collisions using chaining: (a) Describe how a hash table works and how it provides efficient access to data. (b) Explain what is meant by 'chaining' in the context of hash tables and give an example of how it resolves collisions. Your answer should include an example of what happens when two different names hash to the same index.
A small business is evaluating its computer systems' performance and seeks to understand the difference between ROM and RAM. (a) State the primary function of RAM and ROM in a computer system. (b) Discuss the implications of insufficient RAM on a computer's performance during multitasking tasks.
A fitness tracker application collects data about users' physical activities and health metrics. (a) Identify and describe two common data types used for storing user data in such applications. (b) Explain how two different data structures, such as arrays and linked lists, can be used to store daily activity logs for users. You must provide examples in your answer.
A developer is working on a web application that will handle financial transactions. The team debates between using open-source software and proprietary software. (a) Define both terms and state one advantage and one disadvantage of each. (b) Discuss how ethical considerations affect the choice between open-source and proprietary software in commercial applications. You should write around 250 words in your response.
In a computer system, the fetch-decode-execute cycle is fundamental to how instructions are processed. Using diagrams: (a) Draw and label the components involved in the fetch-decode-execute cycle. (b) Explain the role of the ALU and CU in this cycle. You should write around 100 words for your response.
A local gym manages its membership details using a relational database system. Each member's information includes their name, contact number, membership type, and renewal date. (a) Outline two advantages of using a relational database over a flat-file database for managing this information. (b) Describe the process of normalisation and explain how it could benefit the gym's database. Your answer should include at least two benefits of normalisation.
A company has a policy for data protection that complies with the Data Protection Act 2018. (a) State three key principles of this Act. (b) Discuss the ethical considerations that companies must evaluate regarding data collection and usage. In your response, you should explore at least two ethical issues, writing around 150 words.
A software development team is debating between using Agile and Waterfall methodologies for their next project. (a) Describe two key differences between Agile and Waterfall development methodologies. (b) Assess the suitability of Agile methodology for a project requiring rapid changes based on user feedback. You must write around 150 words for your answer.
A school's computer network uses the TCP/IP protocol suite. (a) State two advantages of using TCP/IP over other networking protocols. (b) Describe how TCP differs from UDP and state in which situations UDP would be preferred.
A school is implementing Agile methodology for its software development process. Explain the key principles of Agile methodology and how they differ from Waterfall methodology.
A fitness tracker application collects user health data. Identify and describe two types of data structures that could be used to store this data efficiently.
Describe the roles of an operating system in memory management, and explain how paging helps in this process.
Discuss the environmental issues associated with the disposal of electronic waste (e-waste). You should structure your answer and write around 250 words.
A company is developing a new CPU. Explain the fetch-decode-execute cycle, including the role of the CPU registers and buses. You should write around 150 words.
Write a pseudocode function that takes an array of integers as input and returns the maximum value found in that array. Show your working and make sure your pseudocode is appropriately structured.
A school is using a relational database to manage student records. Identify two key characteristics of a relational database and explain how they improve data management.
Consider the following algorithm that sorts a list of integers using bubble sort. Show the contents of the list after each outer loop pass for the initial list [5, 3, 8, 6, 2].
Explain the difference between symmetric and asymmetric encryption methods. Provide an example of each.
Define the term 'cache memory' and describe two advantages of using cache memory in a computer system.
A digital circuit needs to implement the function: Y = A + B'C. (a) Implement this function using only NAND gates. Provide the circuit diagram. [4] (b) Explain each step of your design in the context of converting the expression to the NAND format. [2]
Consider the following Boolean expression: F = A'BC + AB'C' + ABC. (a) Use a Karnaugh map to simplify this expression. Show all your working. [4] (b) Write the simplified expression derived from your Karnaugh map. [1]
A logic circuit is designed to implement the function F = A'B + AB'. (a) Identify the logic gate that would best represent this function. Explain your answer. [2] (b) Create a circuit diagram implementing F using the appropriate gates. [4]
For a digital system, the following multiplication is required: Calculate the result of multiplying 3 (11 in binary) by 2 (10 in binary) using binary multiplication. Show your working. [4]
An engineer needs to minimize the following Boolean expression: Z = AB + A'C + AB'C. (a) Apply the Consensus theorem to simplify Z and state the final expression. [2] (b) Assume A = 1, B = 0, and C = 1; calculate the value of Z. Show your working. [2]
A school is evaluating different logic gates to design a simple digital circuit. (a) Describe the function of an AND gate and provide its truth table. [3] (b) A circuit that uses two inputs, A and B, is designed such that the output Y is true only when both A and B are true. Write the Boolean expression for Y. [1] (c) Simplify the Boolean expression: A + AB' + AC. [2]
A security system uses the following logical conditions to determine the state of alarm: A - door closed, B - window closed, C - motion detected. The alarm sounds if (A AND B) OR (C). (a) Write the complete Boolean expression for the alarm system using appropriate variables. [2] (b) Create the truth table for this system. [3] (c) Discuss the practicality of using this circuit in a real-world scenario. Write around 250 words. [6]*
Given the Boolean function: F = A + BC. (a) What is the output F when A=0, B=1, C=1? Show your working. [2] (b) State the number of literals in the function F. [1]
A circuit designer is analyzing a system with functions represented by F1 = A + B and F2 = A'. (a) Create a truth table for both functions. [3] (b) Compare the results of F1 and F2 and discuss if they can be used interchangeably. [2]
A student presented the following Boolean function to a group: F = A + A'B. (a) Prove using a truth table that this function simplifies to 1. [3] (b) Identify any possible logical errors in their reasoning if they had used this function in a circuit design. [2]
A programmer is trying to improve the performance of a CPU. Explain how increasing clock speed and adding cache memory could affect the performance. You should write around 200 words.
Convert the decimal number 45 into binary, hexadecimal, and two's complement (assuming 8 bits). Show your working for each conversion.
A company uses a client-server model for its web application. Explain the advantages of this model over a peer-to-peer model for data exchange. You should write around 150 words.
Provide an example of a scheduling algorithm used by an operating system. Describe how it works and outline its advantages and disadvantages. You should write around 200 words.
Discuss the impact of the Data Protection Act 2018 on how companies manage customer data. You should write around 250 words.
Using the fetch-decode-execute cycle, describe how a CPU processes an instruction. Provide a labelled diagram to accompany your answer. You should write around 150 words.
A software application needs to manage tasks using a priority queue structure. Define what a priority queue is and provide a pseudocode example of how to insert elements into a priority queue. You must ensure that the elements maintain their order based on priority after insertion.
A computer system uses a CPU structured with an Arithmetic Logic Unit (ALU), Control Unit (CU), and several registers. Explain the functions of each component of the CPU. You should write around 150 words.
Outline the main differences between a compiler and an interpreter. Give two advantages of using a compiler over an interpreter. You should provide your answer in bullet points.
A school uses a relational database to store student information. Explain what normalisation is and discuss its importance in the context of databases. You should write around 200 words.
A school is implementing a new network to support its digital learning initiatives. It wants to compare client-server and peer-to-peer network architectures for this purpose. (a) Describe the characteristics of client-server architecture, including an advantage and a disadvantage. (b) Describe the characteristics of peer-to-peer architecture, including an advantage and a disadvantage. (c) Compare the scalability of both network architectures and discuss security implications of using a client-server architecture compared to a peer-to-peer architecture. You should write around 250 words.
During a discussion, a group of students mentions the Data Protection Act 2018. Identify three key principles of the Act and explain their importance in protecting user data. Include relevant examples to illustrate your points.
A student is implementing Dijkstra's algorithm to find the shortest path in a graph presented in a table. Using the provided graph data, show the state of the distance table after each iteration until the shortest path to the target node is identified. Assume the target node is node ‘D’.
An online shopping website uses a client-server model. Explain the advantages and disadvantages of this architecture compared to a peer-to-peer model. Your answer should compare the two models’ performance and reliability. You should write around 250 words.
Consider a fitness tracker application that sends data to a server. Describe how data is transmitted over the internet, identifying relevant protocols that could be used in this scenario. Give two examples and briefly describe each protocol's role in data transmission.
A company stores its customer data in a relational database. Explain what normalisation is and why it is important in database management. Discuss at least two advantages of normalisation with relevant examples.
The diagram shows a basic network topology consisting of a router, switch, and five connected devices. Label the diagram with the correct names for each device type and explain the purpose of a topology diagram in networking.
You are tasked with comparing stack and queue data structures. Create a table comparing their properties, including how each structure manages data insertion and deletion. You must include at least three different properties.
The following pseudocode is intended to implement a binary search algorithm on a sorted array. Identify and correct the errors in the pseudocode. Show the corrected version and explain how your changes improve the algorithm.
A school is implementing a network for its classrooms. Explain the different roles of a router and a switch in a network, including how they manage data packets. You should write around 200 words.
Discuss the ethical implications of using AI in data analysis, especially regarding data privacy and security. You should write around 250 words, ensuring you cover both potential benefits and risks.
Illustrate and explain the structure of a binary search tree (BST) by adding the following numbers in order: 50, 30, 70, 20, 40, 60, 80. Show the final structure of the tree and explain the insertion rules followed.
Write pseudocode to implement a simple bubble sort algorithm that sorts an array of integers in ascending order. The input array is: [64, 34, 25, 12, 22, 11, 90].
A fitness tracker application uses an algorithm to calculate the average heart rate of a user from a list of recorded heart rates. Given the following heart rates (in bpm): [72, 75, 68, 82, 79], calculate the average heart rate. Show your working clearly.
Discuss the implications of the Data Protection Act 2018 on data handling in businesses. You should write around 250 words.
A computer program implements Dijkstra's algorithm to find the shortest path in a graph. Given the graph with vertices A, B, C, D, and the following edge weights: AB=1, AC=4, BC=2, BD=5, CD=1, find the shortest path from A to D and show your working in a table format.
Explain the difference between a compiler and an interpreter. In which scenarios might each be preferred? You should write around 150 words.
A school uses a database to manage student records. Explain the normalization process and its advantages in designing the database schema. You should write around 200 words.
A queue is implemented to process customer requests in an online helpdesk system. Describe the properties of queues and demonstrate their operations by showing the state of the queue after the following operations: Enqueue(‘Request 1’), Enqueue(‘Request 2’), Dequeue(), Enqueue(‘Request 3’).
A library management system allows users to borrow and return books. Describe how the principles of encapsulation and inheritance can be applied in the design of classes for this system. You should write around 250 words.
Explain the difference between linear search and binary search. In which scenario would one algorithm be preferred over the other? You should write around 150 words.
A fitness tracker application collects data about user activities such as steps taken and calories burned. Define the term 'data type' and give two examples of data types that could be used in this context. You must clearly identify the data types and their characteristics.
Evaluate the importance of recursion in programming, providing examples of at least two algorithms where recursion is utilized. Your answer should be around 250 words. You should consider both benefits and drawbacks in your discussion. [9*]
Consider the following pseudocode that implements a simple counter: ``` count = 0 FOR i FROM 1 TO 10 DO count = count + i END FOR ``` (a) Explain what this pseudocode does and the final value of 'count'. [2] (b) Rewrite the pseudocode using a 'while' loop instead of a 'for' loop. [3]
Consider the following incomplete code for a program to manage a queue of customer service requests: ``` def enqueue(queue, item): # Adds item to the end of the queue queue.append(item)\n def dequeue(queue): # Removes item from the front of the queue\n``` Identify and fix the error in `dequeue`. Explain your reasoning. [5]
In a school, a database is designed to keep track of students and their grades. Describe the advantages of using a table structure for storing student information compared to a linked list. You may consider efficiency and access time in your answer. [5*]
Draw a diagram representing a binary tree and perform an in-order traversal on it. Given the tree structure: ``` A / \ B C / \ \ D E F ``` List the nodes in the order they are visited during the traversal. [4]
A software system uses Dijkstra's algorithm to calculate the shortest path between various nodes in a transport network. Given the following graph: - A to B (4)\n- A to C (2)\n- B to C (5)\n- B to D (10)\n- C to D (3)\n- C to E (4)\n- D to E (6)\n (a) Show your working to determine the shortest path from A to E, including all relevant steps and distances in a table format. [7] (b) State the final shortest distance from A to E. [1]
A sorting algorithm functions as follows: - Take an unordered list of numbers: [5, 2, 9, 1, 7] - In the first pass, the smallest element is moved to the front. Describe how the bubble sort algorithm would sort this list. Show the contents of the list after each complete pass. You must detail each pass. [6]
Explain the concept of Big-O notation and its significance in algorithm analysis. Provide examples for two different algorithms with their time complexities expressed in Big-O notation. You should write around 200 words.
An online bookstore uses a binary search tree to manage its book inventory. Starting with the following book titles (nodes): 'Harry Potter', 'Wuthering Heights', 'Pride and Prejudice', '1984' and 'The Great Gatsby'. Insert these titles into the binary search tree. Show the structure of the tree after all insertions, including the appropriate left and right child nodes.
Consider the following C++ code snippet: ``` int arr[5] = {10, 20, 30, 40, 50}; int sum = 0; for(int i = 0; i < 5; i++) { sum += arr[i]; } ``` Trace the execution of the code and show the value of 'sum' after the loop executes. What will be the output if the following line is added: `sum += arr[5];`
A retail application uses both symmetric and asymmetric encryption to secure transactions. In a paragraph, compare the differences between symmetric and asymmetric encryption, providing at least two advantages of each.
A school wants to optimize its operating system's memory management to enhance performance. Compare the advantages and disadvantages of using paging versus segmentation for memory management.
A software company is developing a new mobile application that tracks fitness activities. Explain the main differences between the Waterfall and Agile development methodologies. You should outline at least two advantages and two disadvantages of each methodology.
An application was designed to illustrate the difference between stack and queue data structures. Identify the key differences between stacks and queues, and give one real-world example for each. You should state your answer in a table format.
Explain the roles of the Control Unit (CU) and the Arithmetic Logic Unit (ALU) in a CPU. You should outline their functions and the main differences between them in a concise answer.
A developer is implementing a basic encryption system using the Caesar cipher. Describe how the Caesar cipher works and demonstrate how the message 'HELLO' is encrypted with a shift of 3. Show your working and provide the final encrypted message.
A university maintains a relational database for student records. Describe the process of normalisation and its normal forms. Include the purpose of normalising data and mention at least two normal forms with their characteristics.
Consider a binary search tree (BST) implementation for managing a set of integer values. (a) State the property that defines a binary search tree. (b) Define the term 'in-order traversal' and describe the sequence of output values if the tree contains values 20, 10, 30, 5, 15 organized in a BST structure. (c) Write a pseudocode snippet for inserting a new value into a binary search tree.
Below is a series of operations performed on a stack: Push(10) Push(20) Push(30) Pop() Push(40) Pop() (a) Show the contents of the stack after each operation. (b) Explain the difference between a stack and a queue. Your answer should include two key characteristics of both data structures.
An online shopping website needs to implement an algorithm to sort products based on their price using the insertion sort method. (a) Describe how the insertion sort algorithm operates on a list of numbers. (b) If the initial list of product prices is [9.99, 12.49, 3.99, 5.00, 10.99], demonstrate the steps of the insertion sort algorithm to produce the correct sorted list. You must show your working.
A school is planning to implement a new database system to manage student records. (a) Define the term 'normalisation' in the context of databases. (b) Explain why normalisation is important in the design of a database, providing two specific advantages. You should write around 150 words for part (b).
A fitness tracker device collects data regarding users' physical activities. The data is structured in a list of records where each record contains the fields: Date, Activity type, Duration in minutes, and Calories burned. (a) Define what is meant by a 'record' in data structures. (b) Explain how this data could be stored using arrays and two advantages of this method.
Discuss the ethical considerations surrounding artificial intelligence (AI) development. You should present at least three concerns and analyze their implications in a societal context. Your response should be around 250 words.
Write pseudocode for the bubble sort algorithm that sorts an array in ascending order. You must demonstrate how the algorithm processes the array and indicate how many passes it requires to sort an array of 5 elements given as [5, 3, 8, 4, 2].
Explain how the use of cache memory can improve system performance. Include a discussion of types of cache memory if applicable, and their impact on program execution speed.
A company collects and processes customer data. Outline the key principles of the Data Protection Act 2018 that the company must adhere to when handling this data.
A local café offers free Wi-Fi to its customers. Explain the advantages and disadvantages of using a peer-to-peer network for sharing resources in this context.
A school database stores information about students, including names, grades, and contact details. Discuss how normalisation can improve this database design. Include an explanation of at least two normal forms and their benefits.
Consider the following data structure for a linked list and implement a function that adds a new node with value '5' to the end of the list. Write the pseudocode for the function and explain how it operates. You must define the structure of the linked list nodes.
A logic circuit has the following Boolean expression: A AND (B OR C) AND NOT D. Simplify the expression using Boolean algebra laws and show your working clearly. Your answer should be in its simplest form.
An online shopping platform uses both a web browser interface and a mobile application for customer interaction. Explain the differences between compilers and interpreters, and describe one advantage of each in the context of the development of this platform.
A primary school plans to enhance its computer lab by installing new computers. Describe the fetch-decode-execute cycle in the context of a CPU and identify the role of registers and the ALU in this cycle. You should clearly define each part and its function in your answer.
A university is discussing the implementation of a cloud-based student information system. (a) What are the benefits of using cloud storage for student data? (b) Evaluate potential risks associated with cloud data storage for sensitive information. You should write around 250 words. [4 + 6*]
A school is concerned about the ethical implications of using AI tools for grading students. (a) Discuss three ethical issues that might arise from this practice. [6]
A company is deciding between an Agile and a Waterfall development methodology for their software project. (a) Define both methodologies. (b) Discuss the advantages and disadvantages of using Agile over Waterfall in a development project. You should write around 250 words. [2 + 6*]
Below is the code for a bubble sort algorithm written in Python. Identify and correct the errors in the code below: ```python def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(n - 1): # Error line if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] return arr ``` What is the output if the input array is [5, 3, 8, 4]? [5]
A data structure is implemented in a programming language to hold student record information. (a) Define what a stack data structure is. (b) Explain how it differs from a queue data structure. [2 + 4]
Consider the following pseudocode where a user inputs a number: ``` num ← INPUT() IF num > 0 THEN PRINT "Positive" ELSEIF num < 0 THEN PRINT "Negative" ELSE PRINT "Zero" END IF ``` (a) Explain what the pseudocode does. (b) Identify the output if the user inputs -3. [4 + 1]
A fitness tracking application uses hash tables to store user data. (a) Explain how a hash table works. (b) Describe how collision handling techniques can help in maintaining the integrity of the data stored in a hash table. [4 + 3]
A company uses both symmetric and asymmetric encryption. (a) Define symmetric and asymmetric encryption. (b) Explain when each type of encryption should be used. [2 + 3]
A school implements a new student database using SQL. (a) Describe the difference between a flat-file database and a relational database. (b) Outline the advantages of using a relational database for storing student records. [2 + 4]
Consider the following code snippet that contains a bug: ```python def factorial(n): if n <= 1: return 1 else: return n * factorial(n) ``` (a) Identify the error in the code. (b) Explain how you would correct it. [2 + 3]
A gaming application uses Boolean variables to manage character states such as 'isAlive', 'isInvincible', and 'hasWeapon'. (a) Create a truth table reflecting all combinations of these character states. [4] (b) Discuss how Boolean logic could impact game design elements related to character states. You should write around 250 words. [9*]
An educational platform employs Boolean algebra to filter course results for students based on specific criteria such as subject, level, and duration. Design a Boolean expression that reflects the conditions: Courses must be either 'Mathematics' OR 'Science' AND must NOT be 'Introductory'. Show the expression and justify why this Boolean expression meets the specified conditions. [5]
A team of developers needs to implement a basic Boolean expression management system to handle user query reports for their application. (a) What are the advantages of using Boolean logic in search queries? State two advantages. [2] (b) Provide an example of a search engine query using Boolean operators. [2]
An automated sorting system uses Boolean logic to manage its sorting conditions based on user input criteria. (a) Explain how sorting algorithms can utilize Boolean expressions to optimize performance. Discuss in 150-200 words. [6*] (b) What role do comparisons play in the application of Boolean logic within sorting algorithms? [2]
An online quiz system evaluates user input for answers using Boolean conditions. Explain the significance of truth tables in evaluating the correctness of user responses to Boolean expressions in programming environments. You should write around 250 words. [9*]
A circuit requires the implementation of the Boolean expression: A AND (B OR C) using NAND gates only. (a) Explain how the expression can be transformed using De Morgan's Theorems to use only NAND operations. [3] (b) Write the equivalent NAND gate circuit representation. [2]
A software development team is tasked with creating a program that checks user eligibility based on age and employment status. The conditions are as follows: A user must be 18 or older AND must be employed. (a) Write a Boolean expression that represents the eligibility conditions. [1] (b) If a user is 20 years old and employed, what is the output of your Boolean expression? Show your working. [2]
In a networked environment, a router's decision-making can be influenced by various Boolean conditions regarding data packets. (a) Describe the role of logical operators (AND, OR, NOT) in determining packet forwarding. [5] (b) Give an example of a scenario where a packet would be forwarded based on a specific combination of these operators. [3]
In a digital system, you are required to design a logic circuit that uses AND, OR, and NOT gates based on a given Boolean expression: (A AND B) OR (C AND NOT D). (a) Construct a truth table for the expression including columns for each variable and the output. [4] (b) Draw a logic circuit diagram for the expression using the appropriate gates. [2]
A basic calculator application can perform operations including addition, subtraction, multiplication, and division. The application must evaluate arithmetic expressions using Boolean logic to determine operation precedence. (a) Define what is meant by Boolean algebra in the context of digital logic design. [2] (b) Use Boolean algebra to simplify the expression: (A AND B) OR (A AND NOT B). Present your final simplified expression. [2]
A company is creating a truth table for a logic gate arrangement that includes two inputs, X and Y, whose output Z is defined by the equation Z = NOT(X AND Y). (a) Complete the truth table below: [3] | X | Y | Z | |---|---|---| | 0 | 0 | | | 0 | 1 | | | 1 | 0 | | | 1 | 1 | | (b) Explain the significance of using NOT gates in digital circuit designs. [2]
A school is developing a simple logic circuit using AND and OR gates to control a warning light system. The light should turn on when either a fire alarm is triggered or when a door is opened. (a) Write the Boolean expression to represent this scenario. [1] (b) Simplify the following Boolean expression: A AND (B OR C). Show all steps required for simplification. [2]
A software developer is using an IDE for a project. (a) Define what an IDE is. (b) Explain two benefits of using an IDE for software development. [4]
Describe the purpose of the Arithmetic Logic Unit (ALU) within a CPU. Your answer should include examples of operations it performs. [4]
Write a brief overview of how the fetch-decode-execute cycle differs in a pipelined CPU compared to a non-pipelined CPU. [5]
Explain the difference between lossy and lossless compression algorithms. Provide one example for each. [4]
What is Boolean algebra and how is it applied in logic circuits? Provide an example of a simple Boolean expression and its corresponding logic circuit representation. [5]
Identify and explain two data structures besides arrays, including their key characteristics and use cases. [6]
A developer wants to implement a binary search algorithm. Explain the necessary conditions for this algorithm to function correctly. [4]
A company stores its data in a relational database. (a) Explain what is meant by a relational database. (b) Discuss one advantage and one disadvantage of using a relational database. [6]
Explain how hashing is used in data security. [4]
Describe the significance of fault tolerance in computing systems. [3]
Discuss the impact of the Data Protection Act 2018 on businesses that collect personal data. You should write around 250 words. [12]*
Explain how an operating system manages hardware resources to ensure optimal performance. You should include at least three different resource management techniques in your explanation. [8]
Outline the purpose of using compression techniques in software applications, providing reasons for when each type is preferred. [5]
Discuss the benefits and drawbacks of using proprietary software in a business environment. [9]*
A developer is exploring sorting algorithms. Explain the differences between bubble sort and merge sort algorithms in terms of efficiency and use cases. [5]
Identify two advantages of using open-source software compared to proprietary software. [2]
Explain the significance of using a version control system in software development. [4]
Using the principles of binary search, determine whether the number 7 exists in the following sorted array: [1, 3, 5, 7, 9, 11]. Show your working. [4]
Given the following code segment, identify the output when an input of 5 is provided, then explain why that output is produced: if (x > 3) print('greater than three'); else print('three or less'); [3]
Using a memory addressing mode of your choice, explain how it is used in a CPU. [3]
Outline one significant difference between symmetric and asymmetric encryption methods. Provide an example of where each might be used. [4]
Define the term 'normalisation' in the context of SQL databases, and explain why it is important. [4]
A school is implementing measures to protect students' personal data. Discuss the various legal frameworks available to ensure data protection. You should write around 250 words. [12]*
A programming task requires using recursion. Define recursion and provide an example of a recursive function in pseudocode. [4]
Evaluate the impact of the Computer Misuse Act 1990 on individuals who breach computer security. Your answer should include both legal and ethical considerations. [9]*
A computing ethics course covers various issues regarding the use of technology in society. Describe two ethical considerations when implementing AI technologies. [4]
Explain the advantages of using hashing in data security and provide examples of its usage. [4]
A student wants to sort a list of numbers. (a) Explain how the insertion sort algorithm works. (b) Compare its efficiency with that of the merge sort algorithm. [6]
What is the role of the control unit (CU) in a computer architecture? Describe how it contributes to the overall functionality of the CPU. [5]
A programmer is learning about data types. List and define three different data types commonly used in Python programming. [6]
Identify and explain two common types of network topologies along with their advantages and disadvantages. [6]
Outline the steps involved in the software development life cycle (SDLC). Provide a brief description of each step. [6]
Convert the following binary number to decimal: 11010101. Show your working. [2]
Differentiate between procedural and object-oriented programming paradigms. [4]
Using the registers R0 to R3, perform the following operations: R0 = 5, R1 = 10, R2 = R0 + R1, R3 = R1 - R0, then write down the final values of all registers. Show your working. [5]
Explain the difference between memory and storage in a computer system. Provide examples of both. [4]
Create a flowchart representing an algorithm that finds the maximum number in a list of integers. [5]
The following SQL statement is used to retrieve data from a database: SELECT name, age FROM Students WHERE age > 18. Explain the purpose of this SQL statement. [3]
Discuss the ethical implications of data mining in social media applications. Consider privacy concerns in your response. You should write around 250 words. [12]*
An operating system manages computer hardware resources. Outline three roles of an operating system in a computer system. [3]
A fitness tracker application collects data from users about their daily activity. (a) Identify two types of data that might be collected by this application. (b) Explain why this data is important for the application’s functionality. [4]
Write down a pseudocode algorithm for a simple queue implementation using an array. Should include enqueue and dequeue operations. [5]
A local café has a client-server network setup. (a) Explain what is meant by a client-server network. (b) List two advantages of using a client-server network over a peer-to-peer network. [4]
A software development project was conducted using the agile methodology. (a) Define agile methodology. (b) Discuss one advantage and one disadvantage of using agile methodology in software development. [6]
What is the purpose of a logic gate in digital electronics? Provide two examples of basic logic gates and their functions. [4]
Explain how the principles of object-oriented programming (OOP) are applied in software development. [5]
A CPU consists of several components including the ALU, CU, and registers. (a) Define the role of the ALU in the CPU. (b) Describe the role of the CU in the CPU. [5]
Explain the fetch-decode-execute cycle in relation to registers and buses. Your answer should demonstrate an understanding of each part of the cycle. [6]
A school uses a database system to keep track of student records. (a) Differentiate between flat file databases and relational databases. (b) State one advantage of using a relational database over a flat file database. [6]
Explain the differences between the Von Neumann and Harvard architectures. You should include at least two key differences in your explanation. [4]
A software development team follows the Waterfall methodology for project management. Identify two advantages of using the Waterfall model compared to Agile. [2]
Describe the purpose of an operating system in a computer. You should outline at least three roles. [4]
An online shopping website uses SQL databases to manage product information. Explain how normalisation improves database efficiency. You should discuss at least two advantages of normalisation. [6]
Consider the following pseudocode that implements a stack using an array: ``` Stack = Array[5] Top = -1 Procedure Push(x) If Top < 4 Then Top = Top + 1 Stack[Top] = x End If End Procedure ``` (a) What will be the value of `Top` after three integers have been pushed onto the stack? (b) What will happen if a fourth integer is pushed onto the stack? Explain your answer. [4]
Explain the fetch-decode-execute cycle of a CPU, including the roles of registers and buses. You should provide a clear, step-by-step explanation. [4]
List two differences between Von Neumann and Harvard architectures. [2]
A programming team is based on Agile methodology. Compare Agile and Waterfall development methodologies, discussing their advantages and disadvantages.
Discuss the ethical implications of AI in decision-making processes. You should write around 250 words.
List and describe three types of operating system services and give an example of each service.
Using the High-Level Programming language, write pseudocode to implement a function that counts how many times a specific integer appears in a list. Assume the integer and the list are provided as parameters. Show your working.
A school uses a database system to manage the details of its students and courses. Define what a relational database is and give two advantages of using a relational database over a flat file database.
Using Boolean algebra laws, simplify the expression A AND (B OR A) and show each step.
A fitness tracker application records users' physical activity data. Explain the concept of lossy and lossless compression. Provide one example scenario for each type of compression regarding the application.
A computer's CPU performs a fetch-decode-execute cycle. Describe each stage in this cycle and identify the key components involved in each stage. You should include at least one register used in your explanation.
Consider the following pseudocode snippet. What would the stack contain after each operation? Assume the initial stack is empty. 1. PUSH 10 2. PUSH 20 3. POP 4. PUSH 30 5. POP 6. PUSH 40 Show your working.
Identify and explain three different memory addressing modes, and provide an example for each.
Assume a computer follows the Harvard architecture. Explain how this differs from the Von Neumann architecture, with a diagram to illustrate your answer.
Match the following scheduling algorithms with their descriptions. | Algorithm | Description | |---------------------|----------------------------------------| | Round Robin | a. Assigns priority to processes based on their urgency. | Shortest Job First | b. Each process gets an equal time slice. | Priority Scheduling | c. Executes the job with the least execution time first. Complete the table above.
A digital library system tracks users and their borrowing histories. Discuss the importance of data normalization in relational databases. You should write around 250 words.
Convert the decimal number 45 to binary and then represent it in hexadecimal.
Explain the difference between symmetric and asymmetric encryption. Provide one context where each type is preferably used.
Identify three components of a computer system and describe the role of each component.
Explain the differences between one-dimensional and two-dimensional arrays and provide a suitable application for each type of array.
A company is implementing memory management in their operating system. Describe two strategies for memory management and provide the advantages and disadvantages of each.
A web application must comply with the Data Protection Act 2018. Identify three key principles of this legislation and briefly explain each.
What is a hash function? Describe its importance in data integrity. Provide an example of where hashing is used in practice.
An online shopping website uses a database to handle user information and orders. (a) Define what is meant by normalization in relational databases. Explain why normalization is important. [3] (b) Write an SQL query to select all columns from the 'Products' table where the 'Price' is greater than 20. [2]
A fitness tracker application collects user data and implements an algorithm to sort this data for analysis. (a) Briefly explain the difference between linear search and binary search algorithms. [3] (b) Using pseudocode, outline how a binary search algorithm works assuming the data is stored in a sorted array. [4]
The school board is reviewing its policies regarding data protection laws under the Data Protection Act 2018. Discuss the implications of this legislation on how the school handles personal data of its students. You should write around 250 words. [12]
A school is implementing a new Computer Science curriculum that requires A-level students to learn about the CPU architecture. (a) Describe the functions of the components of the CPU, including the ALU, CU, and registers. [3] (b) Explain the difference between the Von Neumann and Harvard architectures. Provide one advantage of each. [4]
You are tasked with implementing a simple database system for a library. Design a relational database that includes two tables: one for 'Books' and another for 'Borrowers.' Include appropriate fields for each table and define the primary and foreign keys. Then write an SQL query to find the names of borrowers who have borrowed a book titled '1984'. Part A: Create a table structure [5 marks] ; Part B: Write the SQL query [3 marks]
A gaming application uses a CPU with a von Neumann architecture. Explain the fetch-decode-execute cycle, including the roles of the ALU, CU, and registers in this process. Your answer should include details about how data is processed within the CPU and how instruction fetching occurs. You should write around 250 words.
Consider a sorting algorithm being applied to an array of numbers. (a) Explain the time complexity of the bubble sort algorithm and how it compares to insertion sort. (b) Describe a situation where a more efficient algorithm like merge sort should be used over bubble sort. (a) [3 marks] (b) [3 marks]
A school database tracks student information including grades and attendance. (a) State two differences between a flat-file database and a relational database. [2] (b) Explain how SQL can be used to manage data within a relational database. Give an example SQL query for retrieving student grades. [4] (c) Discuss the implications of using a relational database versus a flat-file database for storing large volumes of data. [8]*
In a programming assignment, students are tasked with implementing a simple queue using a linked list. The code below is incompletely written. ``` class Node: def __init__(self, data): self.data = data self.next = None class Queue: def __init__(self): self.front = None self.rear = None def enqueue(self, data): # Complete the enqueue method to add an element to the rear def dequeue(self): # Complete the dequeue method to remove an element from the front ``` (a) Complete the methods for `enqueue` and `dequeue`. [5] (b) Explain what happens if the `dequeue` method is called on an empty queue. [3] (c) Write a brief comparison of queues and stacks in terms of their data handling principles. [4]
A software development team uses an Agile methodology for their project. (a) Identify two characteristics of the Agile development methodology. [2] (b) Describe how Agile differs from the Waterfall model in terms of project flexibility and client feedback. [4] (c) Explain the advantages of using an Integrated Development Environment (IDE) in software development. [4]
A computer system uses a CPU with a fetch-decode-execute cycle to process instructions. (a) Define what is meant by the fetch-decode-execute cycle. [2] (b) Describe the purpose of the Arithmetic Logic Unit (ALU) and the Control Unit (CU) within this cycle. [3] (c) Explain how cache memory improves the performance of the CPU during this cycle. [4]
Describe the merge sort algorithm. Outline how it works and detail its time complexity in Big-O notation.
Draw a flowchart to illustrate the process of a binary search in a sorted array. Label all parts of the flowchart.
Given the following code snippet: ``` function sum(a, b) return a + b end function result = sum(5, 10) print result ``` What is the output of this code?
Write a Python class named `Car` that has attributes for make, model, and year. Include an `__init__` method and a method `display_info` to print these details in a user-friendly format.
A list contains the following integer values: [3, 1, 4, 1, 5]. Show the steps of the bubble sort algorithm to sort this list in ascending order. Indicate the state of the list after each pass.
A programming language has two types of variables: integer and string. Give one example of each type and explain why they are considered different data types.
Discuss the advantages and disadvantages of using global variables in programming. You should write around 250 words.
Design a pseudocode algorithm to find the maximum value in an array of integers. Specify how your algorithm handles an empty array and any assumptions you make.
Consider the following pseudocode snippet: ``` initialize total to 0 for i from 1 to 5 do total = total + i end for print total ``` What will be printed after executing this code?
Rewrite the following `while` loop as a `for` loop: ``` count = 0 while count < 10 do print count count = count + 1 end while ```
Evaluate the differences between open-source and proprietary software. You should write around 250 words. [12]*
A data analyst wants to measure the time complexity of the following algorithm: Algorithm A: 1. For i from 1 to n do: 2. Print(i) (a) Determine the time complexity of Algorithm A in Big-O notation. [2] (b) Justify how you derived at your answer. [3]
A programmer is implementing a binary search tree for storing names. (a) Explain the properties of a binary search tree. [4] (b) Given the following numbers, in which order will they be inserted: 7, 4, 9, 2, 6, 8, 10. Show the structure of the tree after all numbers are inserted. [5]
A school network uses both client-server and peer-to-peer architectures. (a) Compare and contrast client-server and peer-to-peer architectures in terms of their uses in a school setting. [6] (b) State two protocols used for data transmission over the internet and describe their functions. [4]
A software engineer is tasked with implementing a simple sorting algorithm. (a) Describe how bubble sort works step by step. [4] (b) For the array [5, 3, 8, 6, 2], show the array after each pass of bubble sort until the array is sorted. [5]
Discuss the implications of the Data Protection Act 2018 on data storage and processing in businesses. You should write around 250 words. [12]*
An application is designed to process user input with different data types. (a) Define the difference between primitive and non-primitive data types, and give two examples of each. [4] (b) Demonstrate the declaration of an array in Python that can hold 5 integers and assign the first value to 10. [3]
Consider a fitness tracking application. (a) Define symmetric and asymmetric encryption and give one advantage of each type. [4] (b) Illustrate how asymmetric encryption works using a public and private key example. [3]
A web application is using a SQL database to store user data. (a) Describe the process of normalisation and its advantages. [5] (b) Explain how SQL queries can be used to retrieve data from related tables. Provide an example SQL query that retrieves names of all users who made a purchase. [4]
A company is developing a compression algorithm for reducing file sizes. (a) Explain the difference between lossy and lossless compression. [4] (b) Provide an example of a scenario where lossy compression would be acceptable and justify your answer. [3]
A fitness tracker application stores user data including heart rate, step count, and calories burned as records in an array. Describe what a record is in the context of this application. Give your answer in 2-3 sentences.
Consider a queue that supports the operations "enqueue" and "dequeue". Show the state of the queue after the following operations: 1. Enqueue 5 2. Enqueue 8 3. Dequeue 4. Enqueue 3 5. Dequeue You must indicate the state after each operation.
A school uses an algorithm to sort student grades in descending order. The quicksort algorithm is employed. Describe the main steps involved in the quicksort algorithm. Your answer should be around 150 words.
You are tasked to create a simple program to search for a number in a sorted array using binary search. Write pseudocode for this algorithm. You must include the base case and the recursive case.
A game development company collects player data to improve game design. Discuss ethical considerations related to data protection in this scenario. Your answer should be around 250 words.
Rewrite the following code snippet to use a while loop instead of a for loop: ```python for i in range(5): print(i) ``` You must show the modified code.
Explain the difference between lossy and lossless compression with real-world examples. Your answer should be around 150 words.
Consider the following code that implements a stack: ```python def push(stack, item): stack.append(item) def pop(stack): return stack.pop() ``` If the following operations are performed: `push(stack, 1)`, `push(stack, 2)`, `pop(stack)`, `push(stack, 3)`, show the state of the stack after each operation. You must show your working in a table format.
A technology company is analyzing the performance of its sorting algorithms. Discuss the differences between bubble sort and merge sort in terms of efficiency and practical application. Your answer should be around 250 words.
A manager of an online shopping website wants to implement a binary search tree (BST) to store products based on their IDs. If the following IDs are added in this order: 50, 30, 70, 20, 40, 60, 80, show the resulting structure of the BST. Draw the tree using text characters.
Given the following Boolean expression: A AND (B OR NOT C) (a) Simplify this expression using Boolean algebra laws, showing all steps. [4] (b) Draw a logic circuit diagram that represents your simplified expression. [3]
A school uses a database system to manage student records. The database comprises tables for student information, courses, and grades. (a) Define what is meant by a relational database. [2] (b) Explain the advantages of using a relational database compared to a flat file database in this context. [3] (c) The school wants to normalize their database structure. What is normalization, and why is it important? Provide at least two reasons. [5]
A company is developing a new software system using the Agile methodology. (a) Outline the key features that characterize Agile development. [5] (b) Discuss the potential challenges that teams may face when using Agile as a development methodology. [6]*
A web server hosts a shopping website, utilizing the HTTP protocol for communication. Describe two advantages of using HTTP. [4]
In a computer system, data is transferred between the CPU and main memory. Explain what buses are in a computer system and describe the roles of the address bus, data bus, and control bus. [6]
Explain the implications of the Data Protection Act 2018 on organizations collecting personal data. You should write around 250 words. [9*]
Define the term 'algorithm' and explain the characteristics that make an algorithm effective. [5]
A binary search algorithm is implemented on a sorted list of numbers. Explain how the binary search method works and provide pseudocode for the algorithm. [5]
A fitness tracker application collects user data over time. The application uses algorithms to process the collected data. (a) Describe the differences between lossy and lossless compression. Provide an example of when each might be used. [4] (b) Calculate the file size for a data file initially 20 MB if it undergoes a lossless compression of 30%. Show your working. [3]
Consider the roles of an operating system (OS). Outline two main functions of an OS and describe the importance of each in managing computer resources. [6]
Describe two types of compression techniques, explaining the difference between them. [4]
Evaluate the trade-offs between using flat-file databases and relational databases in applications. [9*]
Convert the binary number 11010110 to hexadecimal. [2]
List and describe the roles of two types of data structures commonly used in programming. [4]
Discuss the implications of the Data Protection Act on personal data usage by organizations. [9*]
State two types of memory addressing modes and explain their uses. [3]
Match the following scheduling algorithms with their descriptions. [5] | Algorithm | Description | |----------------------|-----------------------------------| | Round Robin | | | First-Come-First-Served | | | Shortest Job First | | | Priority Scheduling | | | Multilevel Queue | |
Explain the importance of algorithms in programming and their role in computational thinking. [6]
Compare primary storage (RAM) and secondary storage (HDD/SSD) in terms of speed, volatility, and purpose. [6]
Explain the difference between normalized and unnormalized floating-point representation. [3]
Identify and explain the key concepts of moral and ethical issues surrounding the use of computing technologies. [6]
Evaluate the effectiveness of hashing as a method of data integrity. [12*]
What is a client-server model and how does it facilitate data exchange? [5]
What ethical concerns arise from the use of AI in data processing? [8*]
Describe the function of a compiler and how it differs from an interpreter. [4]
Simplify the Boolean expression: A + AB. [2]
Draw a logic gate circuit that represents the expression: (A AND B) OR (NOT C). [5]
Describe the fetch-decode-execute cycle including the roles of registers and buses in this process. [4]
List and explain the main roles of an operating system. [5]
Given the following LMC code, identify any errors and correct it or complete the missing parts. [5] LOAD 05 ADD 06 STORE 07 HALT ...
Outline and explain the key concepts of the Data Protection Act related to the use of personal data. [3]
Compare ROM and RAM in terms of their types, uses, and volatility. [6]
State and explain two memory addressing modes and their uses. [3]
Discuss the roles of an operating system and explain two different scheduling algorithms. [12*]
Using Boolean algebra, simplify the expression: A AND (B OR NOT C) AND (A OR C). [2]
Explain the difference between normalized and unnormalized floating point representation. [4]
Trace the following LMC code and determine the output. If the code is incorrect, identify the error. ``` LDA 01 ADD 02 STA 03 LDA 03 OUT HLT ``` Memory: 01=5, 02=10, 03=0 [5]
Design a logic circuit for the Boolean expression: A AND B OR NOT C. Include a truth table. [5]
Convert the decimal number 18 to binary and to hexadecimal. [2]
Explain the fetch-decode-execute cycle in the context of a CPU, including the role of registers and buses. [4]
Discuss the roles of an operating system and explain two scheduling algorithms it may use. [5*]
Calculate the result of converting the decimal number 42 into binary. Show your working. [3]
Match the following networking hardware with their functions: 1. Router 2. Switch 3. Modem 4. Hub A. Connects devices in a network to route data between them. B. Converts digital data to analog signals. C. Connects multiple computers together and forwards data based on MAC addresses. D. Broadcasts data to all devices in a network. Match in the table below: | Networking Hardware | Functions | |--------------------|-----------| | | | | | | | | | | | |
Identify and describe two types of software development methodologies, highlighting their strengths and weaknesses. [4*]
Explain the purpose of the Data Protection Act and its implications for organizations handling data. [3]
Compare two different data types in programming, detailing their usage, strengths, and weaknesses. [4*]
Define the term 'Moral and Ethical Issue' in computing and provide two examples. [3]
Compare and contrast RAM and ROM memory types, focusing on their uses and characteristics. [4]
Describe how an operating system uses scheduling algorithms to manage CPU time. [4]
Design a logic circuit for the Boolean expression (A AND B) OR (NOT C). [5] Draw the logic circuit diagram below: _________________________________________________ | | | | | | |_______________________________________________|
Discuss the moral implications of AI technology in society. [7*]
Explain the difference between normalized and unnormalized floating point representation with examples. [4]
Write a short LMC program that reads an integer, doubles it, and outputs the result. [5]
Simplify the Boolean expression A + AB using Boolean algebra laws. [2]
Show how to carry out a binary addition calculation of the numbers 1101 and 1011. Show your working. [3]
List and explain two types of memory addressing modes. [3]
Convert the binary number 11011001 to hexadecimal. [2]
Discuss the differences between flat file databases and relational databases. [10*]
Explain the concept of SEO (Search Engine Optimization) and its importance for web technologies. [4*]
Evaluate the impact of the Computer Misuse Act on computing practices today. [6*]
a) Describe the fetch-decode-execute cycle in a CPU. [3] b) Identify and explain the purpose of the following registers: (i) Program Counter (PC) (ii) Memory Address Register (MAR) (iii) Memory Data Register (MDR) [3]