Loading subject…
Array
A fixed-size, ordered collection of elements that all share the same data type. Each element is reached by an integer index that starts at 0, and the length is set when the array is created.
Breakpoint
A marker set on a line of code that makes a debugger pause the program just before that line runs, so the value of every variable in scope can be read.
Call stack
Call stack is the area of memory a running program uses to track active function calls, pushing a frame holding the local variables and return address each time a function is called and popping that frame when the function returns.
Circular queue
An array-backed queue whose front and rear indices wrap back to 0 using the modulo operator, so slots freed by earlier dequeues are reused instead of being left unusable.
Concatenation
Concatenation is joining two or more strings end to end to produce one new, longer string.
Contiguous memory allocation
Contiguous memory allocation places every element of a structure in one unbroken block of memory, so the address of any element can be calculated from the start address and the index.
Debugging
The process of locating the cause of incorrect program behaviour and then removing it. Locating the cause is separate from, and usually harder than, correcting it.
Delimiter
A delimiter is the character or sequence of characters that marks the boundary between fields inside one string, such as the comma in a line read from a CSV file.
Dynamic data structure
A dynamic data structure can change size while the program runs, requesting memory from the operating system as elements are added and releasing it as elements are removed.
Exception
An error condition raised while a program is running, in code that started up without fault. It interrupts the normal flow of execution at the statement that raised it, and the program either handles it or stops there.
Exception handler
The block of code that runs in place of the normal flow when a matching exception is raised. It is written as a catch clause in Java and an except clause in Python, and each one names the exception type it responds to.
Immutability
Immutability means a value cannot be changed once it has been created. Strings in Java and Python are immutable, so every string operation returns a new string and leaves the original one as it was.
List
An ordered, resizable collection of elements whose length can change while the program runs. Python provides it as the built-in list, and Java provides it as the ArrayList class.
Logic error
A fault that lets a program translate and run to completion but produce an incorrect result. No error message is reported, so only testing against an expected output reveals it.
Modularization
Modularization is the process of dividing a program into independent, interchangeable modules.
Queue
A linear data structure in which elements are added at the rear and removed from the front, so the first element added is the first one removed.
Recursion
Recursion is a programming technique where a function calls itself to solve a problem. It is particularly useful for problems that can be broken down into smaller, similar subproblems.
Stack
Stack is a linear data structure in which every insertion and every removal happens at one end, called the top, so the most recently added item is always the first one removed.
Stack trace
The report a runtime prints when an exception is left unhandled, naming the exception type, the statement that raised it, and the sequence of method calls that led to that statement.
Static data structure
A static data structure has a size that is fixed when it is created and cannot change while the program runs, so its memory is reserved as one unbroken block up front.
substring
A substring is a portion of a string, obtained using an index or slicing operation.
Task scheduling
Task scheduling is the process of determining the order and timing of process execution.
Trace table
A table used to record what happens as an algorithm is executed by hand, with a column for the step, a column for the action, and one column for every variable. A new row is written whenever a value changes.
Traversal
Visiting every element of a data structure in order, once each. A for-each loop traverses a list without needing an index, while a counted loop traverses it by index.