editor
tutorials
tutorials
algorithms & data structures
help
challenges
pseudocode
sql
monthly
exam qs
questions
past papers
resources
tutorials
algorithms & data structures
slides
homework
past papers
data
grade thresholds
PSEUDOCODE
PRO
download
search
buy ($2)
contact
account
login/signup
my favourites
Computer Science IGCSE 0478 0984 & O-Level 2210 Definitions
--- Chapter 1: Data Representation --- Binary A number system with base 2, using digits 0 and 1, used by computers to represent all forms of data. Denary A number system with base 10, using digits 0-9, commonly used by humans for everyday counting. Hexadecimal A number system with base 16, using digits 0-9 and letters A-F, often used as a human-friendly representation of binary data. Positive Binary A binary number representing a non-negative integer. Positive Denary A decimal number representing a non-negative integer. Conversion (Number Base) The process of changing a number from one base or representation to another, e.g., denary to binary. Binary Addition The process of adding two binary numbers according to binary arithmetic rules. Overflow An error that occurs when a calculation produces a result that exceeds the maximum value that can be stored in a given number of bits. 8-Bit Register A storage location in a computer capable of holding 8 bits (1 byte) of data, with a maximum value of 255 for unsigned numbers. 16-Bit Number A binary number that uses 16 bits, with a maximum unsigned value of 65,535. Use Of Hexadecimal Hexadecimal is used in computing to simplify the representation of binary numbers, making them easier to read and write for humans. Logic Gates Electronic circuits that perform basic logical operations (AND, OR, NOT) on binary data. Register A small, fast storage location within a CPU used to temporarily hold data during processing. Logical Binary Shift An operation that moves all bits in a binary number to the left or right by a specified number of positions, filling the emptied positions with zeros. Logical Left Shift A binary shift operation that moves bits to the left, multiplying the number by 2 for each position shifted, with zeros filled in from the right. Logical Right Shift A binary shift operation that moves bits to the right, dividing the number by 2 for each position shifted, with zeros filled in from the left. Two's Complement A method of representing positive and negative integers in binary, where negative numbers are obtained by inverting all bits of the positive number and adding 1. Two's Complement 8-Bit Integer An 8-bit binary number using the two's complement system to represent both positive and negative integers, with the most significant bit indicating the sign. Conversion To Two's Complement The process of converting a positive or negative denary or binary number into an 8-bit two's complement representation. Conversion From Two's Complement The process of converting an 8-bit two's complement binary number back into a positive or negative denary or binary number. Character Sets Systems used by computers to represent text as binary data, including ASCII and Unicode. ASCII (American Standard Code for Information Interchange) A character encoding standard using 7 or 8 bits per character, representing letters, digits, and common symbols. Unicode A character encoding standard capable of representing a wide range of characters and symbols from multiple languages and emoji, requiring more bits per character than ASCII. Text Representation The process of converting text into binary for processing and storage by a computer. Sound Representation The process of converting an analogue sound wave into binary data for processing by a computer. Sample Rate The number of times per second a sound wave is measured during digital conversion, affecting the accuracy and file size. Sample Resolution The number of bits used to store each sampled value of a sound wave, affecting the precision and file size. Pixel The smallest unit of a digital image, representing a single point of colour. Image Resolution The total number of pixels in an image, usually expressed as width × height, affecting image quality and file size. Colour Depth The number of bits used to represent the colour of a single pixel, affecting image quality and file size. Image Representation The process of converting an image into binary data, either as a bitmap of pixels or vector graphics, for processing by a computer. Bit The smallest unit of data in a computer, representing a single binary value (0 or 1). Nibble A group of 4 bits, equal to half a byte. Byte A group of 8 bits, used as a basic unit of data storage. Kibibyte (KiB) A unit of data storage equal to 1024 bytes. Mebibyte (MiB) A unit of data storage equal to 1024 kibibytes. Gibibyte (GiB) A unit of data storage equal to 1024 mebibytes. Tebibyte (TiB) A unit of data storage equal to 1024 gibibytes. Pebibyte (PiB) A unit of data storage equal to 1024 tebibytes. Exbibyte (EiB) A unit of data storage equal to 1024 pebibytes. File Size Calculation The process of determining the amount of storage a file requires, based on parameters such as image resolution, colour depth, or sound sample rate, resolution, and track length. Data Compression The process of reducing the size of a file to save storage space, reduce bandwidth requirements, and shorten transmission time. Lossy Compression A compression method that reduces file size by permanently removing some data, potentially affecting quality, e.g., reducing image resolution or sound sample rate. Lossless Compression A compression method that reduces file size without losing any data, e.g., using run-length encoding (RLE). --- Chapter 2: Data Transmission --- Packet A unit of data formatted for transmission over a network, consisting of a header, payload, and trailer. Packet Header The part of a packet that contains control information, including the destination address, packet number, and originator's address. Payload The part of a packet that contains the actual data being transmitted. Packet Trailer The part of a packet that may contain error checking and control information to ensure data integrity. Packet Switching A method of transmitting data in which data is broken into packets that may take different routes to reach the destination and are reassembled in order upon arrival. Serial Transmission A method of transmitting data one bit at a time over a single channel or wire. Parallel Transmission A method of transmitting multiple bits simultaneously across multiple channels or wires. Simplex Transmission A communication method in which data flows in only one direction between devices. Half-Duplex Transmission A communication method in which data can flow in both directions, but only one direction at a time. Full-Duplex Transmission A communication method in which data can flow in both directions simultaneously. Universal Serial Bus (USB) A standard interface for connecting peripherals to a computer, allowing data transfer, power supply, and communication using a serial transmission method. Error Detection The process of checking transmitted data for mistakes or corruption that may have occurred during transmission. Parity Check An error detection method that adds a parity bit to a group of bits to make the total number of 1s either even (even parity) or odd (odd parity). Parity Byte A group of 8 bits including a parity bit for error detection. Parity Block Check An error detection method that applies parity checks over a block of data, rather than individual bytes. Checksum An error detection method that calculates a value based on the sum of all data bits or bytes, which is sent along with the data and checked by the receiver. Echo Check An error detection method in which the receiver sends back the received data to the sender to verify accuracy. Check Digit A digit added to data (such as a barcode or ISBN) to detect errors in data entry, calculated from the other digits. Automatic Repeat Request (ARQ) A protocol that ensures data is received correctly by using positive and negative acknowledgements and timeouts to request retransmission of corrupted data. Data Corruption Errors that occur during data transmission due to interference, leading to data loss, data gain, or data change. Encryption The process of converting data into a coded form to prevent unauthorized access during transmission. Symmetric Encryption An encryption method where the same key is used for both encryption and decryption. Asymmetric Encryption An encryption method that uses a pair of keys, a public key for encryption and a private key for decryption. --- Chapter 3: Hardware (Computer Architecture) --- Central Processing Unit (CPU) The primary component of a computer that processes instructions and data, coordinating input, processing, and output. Microprocessor An integrated circuit on a single chip that contains the CPU, capable of performing all processing tasks. Arithmetic Logic Unit (ALU) A CPU component that performs arithmetic and logical operations on data. Control Unit (CU) A CPU component that directs the operation of the processor, coordinating the fetch, decode, and execute cycle. Program Counter (PC) A register that holds the address of the next instruction to be executed. Memory Address Register (MAR) A register that stores the address of memory locations to read from or write to. Memory Data Register (MDR) A register that holds the data being transferred to or from memory. Current Instruction Register (CIR) A register that holds the instruction currently being executed. Accumulator (ACC) A register in the CPU used to store intermediate results of calculations. Address Bus A bus that carries memory addresses from the CPU to memory or input/output devices. Data Bus A bus that carries actual data between the CPU, memory, and peripherals. Control Bus A bus that carries control signals to coordinate CPU operations. Fetch-Decode-Execute (FDE) Cycle The sequence in which the CPU retrieves an instruction from memory (fetch), interprets it (decode), and carries out the operation (execute). Core An individual processing unit within a CPU capable of executing instructions independently. Cache A small, fast memory located close to the CPU that stores frequently used data and instructions to improve performance. Clock A timing device that synchronizes CPU operations, determining the speed at which instructions are processed. Instruction Set The complete list of commands that a CPU can execute, represented in machine code. Embedded System A specialized computer system designed to perform dedicated functions within devices, such as domestic appliances, cars, security systems, lighting systems, or vending machines. Input Device A hardware component used to provide data or control signals to a computer, allowing the user to interact with the system. Output Device A hardware component used to present data or information from a computer to the user or another system. Sensor A device that detects changes in the physical environment and converts them into signals that can be measured and processed by a computer. Barcode Scanner An input device used to read barcodes and convert them into digital data. Digital Camera An input device that captures images or video and converts them into digital format. Keyboard An input device that allows users to enter text and commands into a computer. Microphone An input device that captures sound and converts it into digital signals. Optical Mouse An input device that detects motion relative to a surface to control the pointer on a screen. QR Code Scanner An input device that reads QR codes and converts them into digital information. Touch Screen An input device that allows users to interact with a computer by touching the display; types include resistive, capacitive, and infra-red. 2D Scanner An input device that captures two-dimensional images of objects or documents. 3D Scanner An input device that captures three-dimensional data of objects, used for modeling and design. Actuator A device that performs an action in response to a control signal, such as moving a mechanical component or turning on a light. Digital Light Processing (DLP) Projector An output device that projects images or video using digital micromirror technology. Inkjet Printer An output device that sprays ink onto paper to produce images or text. Laser Printer An output device that uses a laser beam to produce high-quality printed documents. LED Screen An output device that displays visual information using light-emitting diodes. LCD Projector An output device that projects images or video using liquid crystal display technology. LCD Screen An output device that displays visual information using liquid crystal display technology. Speaker An output device that converts digital audio signals into sound. 3D Printer An output device that creates three-dimensional objects by depositing material layer by layer. Acoustic Sensor A sensor that detects sound waves. Accelerometer A sensor that measures acceleration or changes in velocity. Flow Sensor A sensor that measures the flow rate of liquids or gases. Gas Sensor A sensor that detects the presence or concentration of gases. Humidity Sensor A sensor that measures the moisture content in the air. Infra-Red Sensor A sensor that detects infrared radiation, often used for motion or heat detection. Level Sensor A sensor that measures the height or level of liquids or solids. Light Sensor A sensor that measures light intensity. Magnetic Field Sensor A sensor that detects the presence and strength of magnetic fields. Moisture Sensor A sensor that measures the water content in soil or materials. pH Sensor A sensor that measures the acidity or alkalinity of a solution. Pressure Sensor A sensor that measures force per unit area applied on a surface. Proximity Sensor A sensor that detects the presence or absence of an object near it. Temperature Sensor A sensor that measures the temperature of an environment or object. Primary Storage Memory that is directly accessed by the CPU for immediate read and write operations, including RAM and ROM. Secondary Storage Non-volatile memory used for long-term data storage that is not directly accessed by the CPU, such as hard drives or SSDs. Random Access Memory (RAM) Volatile memory used by the CPU to store data and instructions temporarily during operation. Read Only Memory (ROM) Non-volatile memory that stores permanent instructions and data essential for booting and system operation. Magnetic Storage A storage method using magnetized platters divided into tracks and sectors, with data read and written using electromagnets; examples include hard disk drives (HDDs). Optical Storage A storage method that uses lasers to read and write data as pits and lands on a disc; examples include CD, DVD, and Blu-ray. Solid-State (Flash) Memory A storage method using NAND or NOR technology, with transistors as control and floating gates; examples include solid-state drives (SSDs), SD cards, and USB drives. Virtual Memory A portion of secondary storage used to extend RAM, where pages of data are swapped between RAM and storage as needed. Cloud Storage A storage method that allows data to be stored on remote servers and accessed via the internet, rather than on local devices. Advantages of Cloud Storage Includes remote accessibility, scalability, and reduced need for local storage infrastructure. Disadvantages of Cloud Storage Includes dependency on internet connectivity, potential security concerns, and ongoing service costs. --- Chapter 4: Software --- System Software Software that provides essential services for the computer, managing hardware and supporting the execution of application software; examples include operating systems and utility programs. Application Software Software designed to help the user perform specific tasks or applications, such as word processors, web browsers, or games. Operating System (OS) System software that manages computer hardware and software resources, providing a platform for application software and essential services. Managing Files The operating system function that controls the creation, storage, retrieval, and deletion of files on a computer. Handling Interrupts The operating system function that manages signals from hardware or software indicating an event that needs immediate attention. Providing an Interface The operating system function that allows users and applications to interact with the computer, either via graphical user interfaces (GUI) or command-line interfaces (CLI). Managing Peripherals and Drivers The operating system function that controls and communicates with external devices, using device drivers to translate OS instructions. Managing Memory The operating system function that allocates and tracks memory usage for processes and ensures efficient utilization of RAM. Managing Multitasking The operating system function that allows multiple applications or processes to run simultaneously, sharing CPU time and resources effectively. Providing a Platform for Running Applications The operating system function that offers essential services and an environment for application software to execute. Providing System Security The operating system function that protects data and resources from unauthorized access and ensures safe operation. Managing User Accounts The operating system function that handles creation, authentication, permissions, and access control for individual users. Hardware The physical components of a computer system, such as the CPU, memory, and input/output devices, which provide the foundation for running firmware and software. Firmware Permanent software programmed into read-only memory (ROM) that provides low-level control for the hardware and initiates the boot process. Applications Software Execution The process by which application software is run on a computer, requiring hardware, firmware, and an operating system to function. Interrupt A signal that temporarily halts the normal sequence of execution in the CPU to allow immediate attention to a specific event. Hardware Interrupt An interrupt generated by hardware devices, such as pressing a key on a keyboard or moving a mouse. Software Interrupt An interrupt generated by software, such as division by zero or two processes attempting to access the same memory location simultaneously. Interrupt Generation The process by which an event triggers an interrupt signal to the CPU. Interrupt Handling The process by which the CPU responds to an interrupt, temporarily suspending current operations and executing an interrupt service routine. Interrupt Service Routine (ISR) A specialized set of instructions executed in response to an interrupt to address the cause of the interrupt. Result of an Interrupt The outcome after an interrupt is handled, which may include resuming the suspended process, correcting an error, or executing a specific task triggered by the interrupt. High-Level Language A programming language that is close to human language, easy to read and write, and generally machine-independent; examples include Python, Java, and C++. Low-Level Language A programming language that is close to machine code, allowing direct manipulation of hardware but harder to read and write; includes assembly language and machine code. Assembly Language A low-level programming language that uses mnemonics to represent machine code instructions, requiring an assembler to convert it into executable machine code. Assembler A software tool that translates assembly language programs into machine code so that they can be executed by the CPU. Compiler A software tool that translates the entire high-level program into machine code before execution, producing an executable file; provides an error report for the whole program. Interpreter A software tool that translates and executes high-level code line by line, stopping execution if an error is encountered. Advantages of High-Level Language Includes ease of reading and writing code, ease of debugging, and machine independence. Disadvantages of High-Level Language Slower execution and less direct control over hardware compared to low-level languages. Advantages of Low-Level Language Provides direct hardware manipulation and efficient execution. Disadvantages of Low-Level Language Harder to read, write, and debug; less portable between different machines. --- Chapter 4: Software (Compilers, Interpreters, and IDEs) --- Compiler Advantages Translates the entire program at once, producing an executable file that can run multiple times without retranslation; provides a full error report for the program. Compiler Disadvantages Translation must be completed before execution, which can be time-consuming during development; debugging can be slower since errors are reported for the whole program at once. Interpreter Advantages Translates and executes code line by line, allowing immediate testing and easier debugging during development. Interpreter Disadvantages Slower execution because each line must be translated at runtime; stops execution immediately when an error occurs. Integrated Development Environment (IDE) A software application that provides a comprehensive environment for writing, testing, and debugging program code. Code Editor A component of an IDE that allows users to write and edit program code with features such as syntax highlighting. Run-Time Environment A component of an IDE that allows code to be executed and tested within the development environment. Translators Tools within an IDE, such as compilers or interpreters, that convert high-level code into machine code. Error Diagnostics A feature of an IDE that identifies and highlights errors in code to assist in debugging. Auto-Completion A feature of an IDE that predicts and completes code as the programmer types to increase efficiency and reduce errors. Auto-Correction A feature of an IDE that automatically corrects common coding errors or suggests fixes. Prettyprint A feature of an IDE that formats code in a consistent and readable style, improving code clarity and maintainability. --- Chapter 5: The Internet and Its Uses (Internet and the World Wide Web) --- Internet The global network infrastructure that connects millions of computers and devices, allowing data and resources to be shared. World Wide Web (WWW) A collection of interlinked web pages and websites accessed via the internet. Uniform Resource Locator (URL) A text-based address used to identify and locate a web page or resource on the internet, typically including the protocol, domain name, and file or page name. Hypertext Transfer Protocol (HTTP) A protocol used for transmitting web pages over the internet in a standard format that web browsers can interpret. Hypertext Transfer Protocol Secure (HTTPS) A secure version of HTTP that encrypts data exchanged between a web browser and a web server to protect privacy and integrity. Web Browser A software application used to access, retrieve, and render web pages for display on a device. Web Page Retrieval The process by which a web browser locates, retrieves, and displays a web page, involving the browser, IP addresses, the Domain Name Server (DNS), the web server, and HTML content. Cookies Small pieces of data stored by a web browser to remember user information and preferences. Session Cookies Cookies that exist only for the duration of a browsing session and are deleted when the browser is closed. Persistent Cookies Cookies that are stored on a device for an extended period to remember information such as login details, preferences, or items in an online shopping cart. Storing Bookmarks and Favourites The function of a web browser that allows users to save links to preferred or frequently visited web pages for quick access. Recording User History The function of a web browser that keeps a record of the websites and pages a user has visited, enabling easy retrieval and tracking of browsing activity. Allowing Multiple Tabs The function of a web browser that enables users to open and view multiple web pages simultaneously within a single window. Storing Cookies The function of a web browser that saves small pieces of data from websites, such as user preferences or login information, for future sessions. Providing Navigation Tools The function of a web browser that offers features like back, forward, refresh, and home buttons to help users move easily between web pages. Providing an Address Bar The function of a web browser that allows users to enter a URL to access a specific web page directly. Digital Currency A form of currency that exists only in electronic form and can be used to make digital transactions over the internet. Blockchain A digital ledger consisting of a time-stamped series of records (blocks) that track transactions and cannot be altered, providing security and transparency for digital currency. Brute-Force Attack A cyber attack that attempts all possible combinations of passwords or encryption keys until the correct one is found. Data Interception The unauthorized capture of data as it is transmitted over a network, often for malicious purposes. Distributed Denial of Service (DDoS) Attack A cyber attack in which multiple compromised systems flood a target system with traffic to disrupt its normal operation. Hacking The unauthorized access to computer systems or networks to steal, modify, or destroy data. Malware Malicious software designed to harm or exploit computer systems, including viruses, worms, Trojan horses, spyware, adware, and ransomware. Pharming A cyber attack that redirects users from legitimate websites to fraudulent websites to steal sensitive information. Phishing A cyber attack that uses deceptive emails, messages, or websites to trick users into providing personal or financial information. Social Engineering A cyber attack that manipulates people into revealing confidential information or performing actions that compromise security. Access Levels Security measures that control what data or resources a user can view or modify based on their permissions. Anti-Malware Software designed to detect, prevent, and remove malicious software, including anti-virus and anti-spyware programs. Authentication The process of verifying a user's identity, often using methods such as usernames and passwords, biometrics, or two-step verification. Automating Software Updates A security measure that ensures software is kept up to date automatically to protect against known vulnerabilities. Checking Spelling and Tone of Communications A precautionary method to identify suspicious or fraudulent communications that may indicate phishing or social engineering attempts. Checking the URL Attached to a Link A security practice to verify that a hyperlink directs to a legitimate and intended website before clicking. Firewall A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules. Privacy Settings Configurations that allow users to control who can access their personal information and how it is shared online. Proxy Server An intermediary server that separates users from the websites they browse to provide anonymity, security, and content filtering. Secure Socket Layer (SSL) Security Protocol A protocol that encrypts data transmitted between a web browser and a server to ensure confidentiality and integrity. Network Interface Card (NIC) A hardware component that allows a computer to connect to a network and communicate with other devices. Media Access Control (MAC) Address A unique identifier assigned to a network interface card, typically written in hexadecimal, consisting of a manufacturer code and a serial code. Internet Protocol (IP) Address A unique numerical label assigned to a device on a network to identify it and facilitate data routing. Static IP Address An IP address that is permanently assigned to a device and does not change over time. Dynamic IP Address An IP address that is temporarily assigned to a device by a network server, which can change over time. IPv4 A version of the Internet Protocol that uses 32-bit addresses, allowing approximately 4.3 billion unique addresses. IPv6 A version of the Internet Protocol that uses 128-bit addresses, allowing a vastly larger number of unique addresses. Router A network device that directs data packets to their destination, can assign IP addresses, and connects local networks to the internet. --- Chapter 6: Automated and emerging technologies --- Automated System A system that uses sensors, microprocessors, and actuators working together to perform tasks without direct human intervention. Sensor A device that detects changes in the environment, such as temperature, pressure, or light, and sends signals to a microprocessor. Microprocessor A small computer that processes data from sensors and decides what actions actuators should perform. Actuator A device that performs a physical action based on signals from a microprocessor, such as moving, turning, or controlling machinery. Advantages of Automated Systems Benefits may include increased efficiency, accuracy, consistency, safety, and the ability to perform repetitive or hazardous tasks without human intervention. Disadvantages of Automated Systems Drawbacks may include high initial cost, complexity in maintenance, potential job displacement, and dependency on technology. Industry Automation Use of automated systems to improve manufacturing, assembly lines, and quality control processes. Transport Automation Use of automated systems in vehicles or traffic control, such as driverless cars or automated trains. Agriculture Automation Use of automated systems for planting, irrigation, harvesting, or monitoring crops. Weather Automation Use of automated systems for data collection, forecasting, or monitoring environmental conditions. Gaming Automation Use of automated systems in video games or simulations to control game mechanics or user interactions. Lighting Automation Use of automated systems to control lighting based on sensors, schedules, or user presence. Science Automation Use of automated systems in laboratories or research to conduct experiments, collect data, or operate equipment. Robotics A branch of computer science that involves the design, construction, and operation of robots. Robot A programmable machine with a mechanical structure, electrical components such as sensors, microprocessors, and actuators, capable of performing tasks autonomously or semi-autonomously. Characteristics of a Robot Includes a mechanical framework, electrical components, programmability, and the ability to interact with the environment. Roles of Robots Tasks that robots can perform across various sectors, including industry, transport, agriculture, medicine, domestic settings, and entertainment. Advantages of Robots Benefits may include increased precision, efficiency, safety, consistency, and the ability to perform hazardous or repetitive tasks. Disadvantages of Robots Drawbacks may include high initial cost, maintenance requirements, reduced human employment in certain roles, and reliance on technology. Examples of Robots Factory equipment, domestic robots such as vacuum cleaners, and drones for surveillance or delivery. Artificial Intelligence (AI) A branch of computer science focused on creating computer systems that can simulate intelligent behaviour. Characteristics of AI Includes the collection of data, rules for using that data, the ability to reason, and in some cases the ability to learn and adapt. AI System Components The elements required to simulate intelligent behaviour, such as data inputs, processing rules, reasoning mechanisms, and adaptive learning processes. Expert System A type of AI that uses a knowledge base, a rule base, an inference engine, and an interface to provide expert-level decisions or recommendations. Machine Learning A type of AI where a program can automatically adapt its own processes and/or data based on experience, improving performance over time. --- Chapter 7: Algorithm Design and Problem-Solving --- Program Development Life Cycle (PDLC) A structured process for creating software, including the stages of analysis, design, coding, and testing. Analysis Stage The stage in the PDLC where the problem is understood, abstracted, decomposed into sub-problems, and requirements are identified. Design Stage The stage in the PDLC where a solution is planned using methods such as decomposition, structure diagrams, flowcharts, and pseudocode. Coding Stage The stage in the PDLC where program code is written and iterative testing is performed to ensure functionality. Testing Stage The stage in the PDLC where program code is tested with various test data to identify and correct errors. Sub-System A component of a computer system that forms part of a larger system, which can itself be decomposed into smaller sub-systems. Problem Decomposition The process of breaking a complex problem into smaller, more manageable components to facilitate solution design. Algorithm Purpose The reason for which an algorithm is designed, typically to solve a specific problem or perform a defined task. Standard Methods of Solution Common techniques used to solve problems, including linear search, bubble sort, totalling, counting, and finding maximum, minimum, or average values. Validation Check A process used to ensure that input data meets predefined criteria, such as range check, length check, type check, presence check, format check, or check digit verification. Verification Check A process used to ensure that input data has been entered correctly, including visual checks and double entry checks. Test Data Sample inputs used to test the correctness and reliability of an algorithm, including normal, abnormal, extreme, and boundary data. Trace Table A tool used to document a dry-run of an algorithm by recording the values of variables, outputs, and user prompts at each step. Error Identification and Correction The process of finding mistakes in algorithms and suggesting methods to fix them. Algorithm Construction The process of writing or amending algorithms for given problems or scenarios using pseudocode, program code, or flowcharts. Extreme Data The largest or smallest acceptable input value used for testing an algorithm. Boundary Data The largest or smallest acceptable input value and the corresponding smallest or largest rejected value used for testing an algorithm. Precision in Algorithms The requirement to write algorithms clearly and unambiguously, using precise conditions such as "x > y" rather than "x is greater than y". --- Chapter 8: Programming (Programming Concepts) --- Variable A named storage location in a program that can hold data which may change during program execution. Constant A named storage location in a program that holds data that cannot be changed during program execution. Data Types The classification of data that determines the kind of values a variable can hold, including integer, real, char, string, and Boolean. Input The process of receiving data from the user or an external source for use in a program. Output The process of displaying or sending data from a program to the user or an external system. Sequence The concept in programming where instructions are executed in the order they appear. Selection A programming concept that allows decisions to be made using conditional statements, such as IF and CASE statements. Iteration The concept of repeating a set of instructions using loops, including count-controlled loops, pre-condition loops, and post-condition loops. Totalling A process in programming where values are summed incrementally during execution. Counting A process in programming where occurrences or iterations are tracked during execution. String Handling Operations performed on text data, including determining length, extracting substrings, and changing case with upper or lower functions. Arithmetic Operators Symbols used to perform mathematical calculations, including +, -, *, /, ^ (power), MOD, and DIV. Relational Operators Symbols used to compare values, including =, <, <=, >, >=, and <> (not equal to). Logical Operators Symbols used to perform logical operations, including AND, OR, and NOT. Nested Statements Control structures placed inside other control structures, allowing multiple levels of selection or iteration. Procedure A named block of code that performs a specific task and may or may not accept parameters. Function A named block of code that performs a task and returns a value; it may accept parameters. Parameters Values passed into procedures or functions to provide input for execution. Local Variable A variable that is defined and accessible only within the block or procedure in which it is declared. Global Variable A variable that is accessible from any part of the program. Library Routines Predefined functions or procedures provided by a programming language to perform common tasks, such as MOD, DIV, ROUND, or RANDOM. Maintainable Program A program designed for easy understanding, modification, and extension, using meaningful identifiers, comments, and appropriate procedures and functions. Meaningful Identifier A descriptive name given to variables, constants, arrays, procedures, or functions to make code easier to understand and maintain. Comment A note within a program that explains code or logic, ignored by the compiler or interpreter, used to improve readability and maintainability. Array A collection of elements, all of the same data type, stored under a single variable name and accessible using an index. One-Dimensional Array (1D) An array with a single row of elements, accessible using a single index. Two-Dimensional Array (2D) An array with rows and columns of elements, accessible using two indexes. Use of Arrays Arrays are used to store multiple values of the same type efficiently, enabling easy access and manipulation of data. Array Index A variable or number used to specify the position of an element within an array. Indexing can start at zero or one. Iteration in Arrays The process of using loops to read from or write values to each element of an array, including nested iteration for 2D arrays. File A collection of data stored on a storage device that can be accessed and used by a program. Purpose of File Storage To store data persistently so it can be accessed, modified, or used by a program at a later time. File Operations Actions performed on files, including opening a file for reading or writing, reading single items or lines of data, writing data, and closing the file. --- Chapter 9: Databases --- Single-Table Database A database consisting of only one table used to store related data in rows (records) and columns (fields). Field A single piece of data or attribute in a database table, representing one type of information. Record A collection of related fields in a database table, representing a single entry or item. Basic Data Types Categories used to define the kind of data a field can hold, including text/alphanumeric, character, Boolean, integer, real, and date/time. Primary Key A unique identifier for each record in a database table, used to ensure that each entry can be uniquely distinguished. Structured Query Language (SQL) A programming language used to manage and query data stored in relational databases. SQL SELECT Statement Used to retrieve specific data from a database table. SQL FROM Clause Specifies the table from which to retrieve data. SQL WHERE Clause Used to filter records based on specified conditions. SQL ORDER BY ASC Sorts query results in ascending order. SQL ORDER BY DESC Sorts query results in descending order. SQL SUM Function Calculates the total of a numeric field for selected records. SQL COUNT Function Counts the number of records that meet specified criteria. SQL Logical Operators Used to combine or refine conditions in queries, including AND and OR. Validation Rules applied to fields in a database to ensure the data entered is correct and meets required constraints. --- Chapter 10: Boolean Logic --- Logic Gate A digital circuit that performs a specific Boolean function based on one or more binary inputs to produce a single binary output. Standard Logic Gate Symbols Graphical representations used to denote logic gates in circuit diagrams, including NOT, AND, OR, NAND, NOR, and XOR (EOR). NOT Gate A logic gate with a single input that produces the opposite binary output of the input. AND Gate A logic gate with two inputs that produces a binary output of 1 only if both inputs are 1. OR Gate A logic gate with two inputs that produces a binary output of 1 if at least one input is 1. NAND Gate A logic gate with two inputs that produces the opposite output of an AND gate; 0 only if both inputs are 1. NOR Gate A logic gate with two inputs that produces the opposite output of an OR gate; 1 only if both inputs are 0. XOR Gate (EOR) A logic gate with two inputs that produces a binary output of 1 only if the inputs are different. Logic Circuit A combination of logic gates connected to perform a specific Boolean function, derived from a problem statement, logic expression, or truth table. Truth Table A table listing all possible binary inputs for a logic circuit and the corresponding outputs. Logic Expression A symbolic representation of the function of a logic circuit using Boolean algebra. Circuit Design from Problem Statement The process of creating a logic circuit directly from a described problem without simplification. Circuit Design from Logic Expression The process of converting a Boolean expression into a logic circuit diagram. Circuit Design from Truth Table The process of designing a logic circuit based on the outputs defined in a truth table.