1/126
110 vocabulary flashcards summarizing foundational terms from Weeks 1-6, including software design, OOP, data types, debugging, control structures, data structures, algorithms, networking, hardware, security, and common applications.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Application Programming Interface (API)
A documented set of methods and parameters that lets one software component interact with another.
Black Box
A system viewed only by its inputs and outputs without knowledge of internal workings.
Bottom-up Design
Creating a system by reusing existing libraries and APIs first, then integrating them.
Decision Diamond
The flow-chart symbol representing a program decision yielding true or false.
Flowchart
A visual diagram showing the control flow of a program with boxes, diamonds, and arrows.
Modular Programming
Design technique that splits functionality into independent, interchangeable modules.
Software Systems Life Cycle
Standard stages—requirements, design, development, testing, maintenance—of a software project.
Stepwise Refinement
Incrementally breaking a problem into smaller pieces until each piece is simple.
Top-Down Design
Designing by starting with a high-level overview and repeatedly decomposing into smaller tasks.
Unified Modeling Language (UML)
Standard visual language for describing and designing software systems.
Agile Development
Iterative methodology emphasizing short sprints, working software, and responsiveness to change.
Camel Case
Writing compound identifiers with each word capitalized, e.g., myVariableName.
Catch
The part of a try/catch block that handles exceptions thrown in the try section.
Comments
Non-executable lines in code that document or explain logic to humans.
Convention (Coding)
Agreed-upon style rules that improve readability, such as indentation and naming.
Robust Program
Software designed to avoid crashes under bad input or adverse conditions.
Unit Testing
Verifying individual program units work correctly under all relevant conditions.
Input Protection
Code constructs that guard against invalid or malicious user input.
Data Validation
Checking that data conforms to expected format and constraints before use.
Exception
An error object thrown when something goes wrong during program execution.
Exception Handling
Code that anticipates and manages exceptions to keep programs running.
Incremental Development
Building software in small, functional pieces that are integrated over time.
Postcondition
A condition that should be true after a method completes.
Precondition
A requirement that must be true before a method is invoked.
Programming Style
Practices that make source code easy to read, understand, and maintain.
Readability
Ease with which humans can read and comprehend source code.
Spiral Development
Risk-driven model combining elements of incremental and waterfall processes in cycles.
Waterfall Design
Sequential development model progressing through distinct phases with little iteration.
"Has-a" Relationship
OOP concept where one object contains another (composition).
"Is-a" Relationship
OOP inheritance relationship where a subclass extends a superclass.
Abstraction
Hiding internal details while exposing only essential features of an object.
Encapsulation
Bundling data and methods inside a class and restricting direct access.
Inheritance
Mechanism where a class derives attributes and behavior from another class.
Polymorphism
Ability of different classes to be treated through the same interface.
Overloading Methods
Defining multiple methods with the same name but different parameters.
Overriding Methods
Redefining an inherited method to provide specialized behavior.
Functional Programming
Paradigm emphasizing immutable data and computation as evaluations of functions.
Imperative Programming
Paradigm where code specifies exact steps the computer must execute.
Artificial Intelligence (AI)
Intelligence exhibited by machines performing tasks that normally require human intellect.
CISC
Complex Instruction Set Computing architecture with many specialized instructions.
RISC
Reduced Instruction Set Computing architecture featuring a small, optimized instruction set.
Operating System (OS)
Software that manages hardware resources and provides services for programs.
Assembler
Program translating assembly language into machine code.
Assembly Language
Low-level, mnemonic programming language closely tied to machine instructions.
Bytecode
Platform-independent code executed by a virtual machine, e.g., Java class files.
Compiler
Software that translates high-level source code into machine or object code.
Interpreter
Program that executes code line-by-line instead of producing an executable file.
Pseudocode
Informal, language-independent description of program logic.
Syntax
Formal rules governing the structure of valid statements in a programming language.
Void Method
A method declared to return no value.
Boolean
Data type with only two possible values: true or false.
Constant
Named memory location whose value cannot change during execution.
Double
64-bit floating-point numeric data type.
Float
32-bit floating-point numeric data type.
Integer (int)
Whole-number data type without fractional part.
String
Sequence of characters treated as text.
Variable
Named, changeable memory location in a program.
Bug
Error or flaw causing a program to produce incorrect results.
Debugging
Systematic process of finding and fixing program errors.
Runtime Error
Error occurring while the program is executing.
Syntax Error
Error resulting from code that violates language grammar rules.
Integrated Development Environment (IDE)
Software suite combining code editor, compiler/interpreter, and debugger.
AND (Logical)
Boolean operator true only when both operands are true.
OR (Logical)
Boolean operator true when at least one operand is true.
NOT
Unary Boolean operator that negates its operand.
Modulus Operator (%)
Returns the remainder after integer division.
Order of Operations
Precedence rules that determine evaluation order in expressions.
Actual Parameter
Value or variable passed to a method when it is called.
Formal Parameter
Variable in method declaration that receives a passed argument.
Pass by Value
Parameter passing where method gets a copy; original is unchanged.
Pass by Reference
Parameter passing where method gets the variable’s address; originals can change.
Conditional Statement
Program statement that executes code based on a Boolean condition.
If Statement
One-way conditional executing code only when condition is true.
If/Else Statement
Two-way conditional with separate branches for true and false outcomes.
Switch Statement
Multi-branch conditional selecting code blocks based on matching cases.
Loop
Control structure that repetitively executes code while a condition holds.
For Loop
Count-controlled pre-test loop specifying initialization, condition, and increment.
While Loop
Pre-test loop that repeats while a Boolean expression is true.
Do While Loop
Post-test loop that executes body then tests condition to repeat.
Recursion
Method calling itself to solve smaller instances of a problem.
Base Case
Non-recursive condition that ends a recursive process.
Array (1D)
Contiguous collection of elements of the same type, indexed by position.
Two-Dimensional Array
Array organized as rows and columns (array of arrays).
Stack
LIFO data structure supporting push, pop, and peek operations.
Queue
FIFO data structure where elements are enqueued at back and dequeued from front.
Linked List
Linear collection of nodes where each node points to the next; non-contiguous memory.
Node
Element of a linked data structure containing data and references.
Binary Tree
Hierarchical structure where each node has at most two children.
Binary Search Tree (BST)
Binary tree where left child ≤ parent and right child > parent.
Heap (Min)
Tree where every parent is less than its children; root is smallest.
Tree Traversal
Systematic visiting of all nodes in a tree (pre-order, in-order, post-order).
Graph
Set of vertices connected by edges, representing relationships or paths.
Complete Graph
Undirected graph where every pair of vertices shares an edge.
Breadth First Search (BFS)
Traversal exploring neighbor nodes level by level.
Depth First Search (DFS)
Traversal exploring as far as possible along each branch before backtracking.
Big O Notation
Mathematical notation describing algorithm growth rate relative to input size.
Constant Time O(1)
Algorithm whose execution time does not depend on input size.
Linear Time O(N)
Algorithm whose time grows proportionally with input size.
Logarithmic Time O(log N)
Algorithm time growing proportionally to logarithm of input size.
Quadratic Time O(N²)
Algorithm whose time grows with the square of input size.