1Algorithm
step-by-step procedure to solve a problem
2Abstraction
removing unnecessary detail to focus on important features
3Decomposition
breaking a problem into smaller parts
4Flowchart
diagram that shows the steps of an algorithm
5Pseudocode
structured English used to describe an algorithm
6Trace table
table used to follow the values of variables in an algorithm
7Variable
named storage location for data
8Constant
value that does not change during program execution
9Assignment
storing a value in a variable
10Iteration
repeating a set of instructions
11Count-controlled loop
loop that repeats a fixed number of times
12Condition-controlled loop
loop that repeats until a condition changes
13Selection
choosing between different paths in an algorithm
14Condition
expression that is either true or false
15Boolean
data type with values true or false
16Validation
checking if data is sensible and acceptable
17Verification
checking if data is copied correctly
18Dry run
testing an algorithm manually with sample data
19Syntax error
error caused by breaking language rules
20Logic error
error that causes incorrect output
21Runtime error
error that occurs while a program is running
22Data type
classification of data values
23Integer
whole number data type
24Real
data type for decimal numbers
25Character
single letter, digit, or symbol
26String
sequence of characters
27Array
collection of elements stored under one name
28One-dimensional array
array with a single list of elements
29Two-dimensional array
array arranged in rows and columns
30Record
group of related data items
31Field
individual item of data in a record
32File
collection of related data stored together
33Pointer
variable that stores a memory address
34Queue
ADT where items are processed first in first out
35Stack
ADT where items are processed last in first out
36Linear queue
queue with insertion at one end and deletion at the other
37Circular queue
queue where the end connects back to the beginning
38Push
adding an item to a stack
39Pop
removing an item from a stack
40Peek
viewing the top item of a stack without removing it
41Enqueue
adding an item to a queue
42Dequeue
removing an item from a queue
43Abstract data type
data model defined by operations and behavior
44Linked list
data structure where elements point to the next element
45Node
individual element in a linked list
46Dynamic data structure
structure that can change size during execution
47Static data structure
structure with fixed size
48Software development
process of creating and maintaining software
49Analysis
stage of identifying the problem and requirements
50Design
stage of planning the solution to a problem
51Implementation
stage of writing the program code
52Testing
checking a program for errors
53Maintenance
modifying software after release
54Evaluation
checking if a solution meets requirements
55Specification
description of what a system should do
56Success criteria
conditions used to judge if a solution works
57Prototype
early model of a system for testing ideas
58Modular programming
dividing a program into separate modules
59Module
independent section of a program
60Library routine
prewritten program code that can be reused
61Parameter
value passed into a procedure or function
62Procedure
subprogram that performs a task without returning a value
63Function
subprogram that returns a value
64Local variable
variable only accessible inside a module
65Global variable
variable accessible throughout a program
66Testing strategy
planned method for testing software
67Test data
data used to test a program
68Normal data
valid data that should be accepted
69Boundary data
data at the edge of acceptable limits
70Abnormal data
invalid data that should be rejected
71Debugging
finding and fixing program errors
72Translator
software that converts source code into machine code
73Compiler
translator that converts the whole program at once
74Version control
system for managing changes to files
75Documentation
written information about a system or program