1/72
Vocabulary flashcards for A-level Computer Science.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
Pointer/Reference
A data type that stores the memory address of another object.
Iteration
The repetition of a block of code.
Selection
A statement that executes different blocks of code based on a condition.
Relational Operations
Operations that compare two values (equal to, not equal to, less than, etc.).
Stack Frames
Data structures used to manage subroutine calls, storing return addresses, parameters, and local variables.
Recursive Techniques
A programming technique where a subroutine calls itself.
Procedural Programming
A programming paradigm based on procedures or subroutines.
Object-Oriented Programming
A programming paradigm based on objects, which are instances of classes.
Class
A blueprint for creating objects, defining their properties and methods.
Object
An instance of a class.
Instantiation
The process of creating an object from a class.
Encapsulation
Bundling data and methods that operate on that data within a class.
Inheritance
A mechanism where a class inherits properties and methods from another class.
Aggregation
A relationship where one class contains an instance of another class.
Composition
A strong form of aggregation where the contained class instance cannot exist independently.
Polymorphism
The ability of an object to take on many forms.
Overriding
Replacing a method inherited from a parent class with a new implementation in a child class.
Data Structures
Ways of organizing and storing data in a computer so that it can be used efficiently.
Single-Dimensional Arrays
A linear array where elements are accessed using a single index.
Multi-Dimensional Arrays
An array where elements are accessed using multiple indices.
Fields
Data members of a class or record.
Records
A collection of fields, possibly of different data types.
Files
A collection of data stored on a storage device.
Abstract Data Types (ADTs)
A data type whose implementation is hidden from the user.
Graph
A data structure consisting of nodes (vertices) and edges.
Tree
A hierarchical data structure consisting of nodes connected by edges, with no cycles.
Hash Table
A data structure that maps keys to values using a hash function.
Vector
A one-dimensional array, often used to represent a geometric point in space.
Graph
A data structure used to represent complex relationships with vertices and edges.
Weighted Graph
A graph where each edge has a weight or cost associated with it.
Vertex/Node
A fundamental unit in a graph, representing an object or entity.
Adjacency Matrix
A matrix representation of a graph where the entry at (i, j) indicates whether there is an edge between vertex i and vertex j.
Adjacency List
A list representation of a graph where each vertex has a list of its adjacent vertices.
Tree
Connected, undirected graph with no cycles.
Rooted Tree
A tree in which one vertex has been designated as the root and has parent-child relationships between nodes.
Binary Tree
A rooted tree in which each node has at most two children.
Hashing Algorithm
A function used to map keys to indices in a hash table.
Collision (Hash Table)
Occurs when two key values compute the same hash.
Rehashing
Strategy for handling collisions in hash tables.
Breadth-First Search (BFS)
A graph traversal algorithm that explores all the neighbors of a node before moving to the next level of neighbors.
Depth-First Search (DFS)
A graph traversal algorithm that explores as far as possible along each branch before backtracking.
Pre-Order Traversal
A tree traversal algorithm that visits the root node before its left and right subtrees.
In-Order Traversal
A tree traversal algorithm that visits the left subtree, then the root node, then the right subtree.
Post-Order Traversal
A tree traversal algorithm that visits the left and right subtrees before the root node.
Reverse Polish Notation (RPN)
A mathematical notation in which operators follow their operands.
Infix Notation
Conventional notation in which operators are placed between operands.
Linear Search
A search algorithm that sequentially checks each element in a list until the target element is found or the list is exhausted.
Binary Search
A search algorithm that repeatedly divides a sorted list in half until the target element is found or the search space is empty.
Binary Tree Search
A search algorithm that uses the structure of a binary search tree to efficiently find a target element.
Bubble Sort
A simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order.
Merge Sort
sorting algorithm that divides the list into smaller sublists, recursively sorts them, and then merges them back together.
Dijkstra’s Shortest Path Algorithm
Graph algorithm for finding the shortest paths between nodes in a graph.
Algorithm
A sequence of steps that can be followed to complete a task and that always terminates.
Abstraction
Simplifying a complex system by removing unnecessary details.
Representational Abstraction
Representation arrived at by removing unnecessary details.
Generalisation Abstraction
Grouping by common characteristics to arrive at a hierarchical relationship.
Information Hiding
Process of hiding all details of an object that do not contribute to its essential characteristics.
Procedural Abstraction
Representing a computational method.
Functional Abstraction
Hiding the particular computation method.
Data Abstraction
Hiding details of how data are actually represented.
Problem Abstraction/Reduction
Removing details until the problem reduces to one that has already been solved.
Decomposition
Breaking a problem into a number of sub-problems.
Composition
Building abstractions by combining procedures or data objects.
Automation
Putting models (abstraction of real world objects/phenomena) into action to solve problems.
Finite State Machine (FSM)
A model of computation consisting of a finite number of states and transitions between those states.
Regular Expression
A way of describing a set of strings using a pattern.
Regular Language
A language that can be represented by a regular expression.
Backus-Naur Form (BNF)
A notation for defining the syntax of a formal language.
Big-O Notation
A mathematical notation used to classify algorithms according to how their running time or space requirements grow as the input size grows.
Tractable Problem
Problems that have a polynomial (or less) time solution .
Intractable Problem
Problems that have no polynomial (or less) time solution.
Halting Problem
The unsolvable problem of determining whether any program will eventually stop if given particular input.
Turing Machine
A theoretical model of computation consisting of a tape, a read-write head, and a set of states and transition rules.