1/50
Comprehensive vocabulary flashcards covering the history of programming, SDLC models, basic terminology, language types, and the pillars of Object-Oriented Programming.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Ada Lovelace
Regarded as the first programmer, she wrote the first algorithm intended for a machine (the Analytical Engine) in the 1840s.
Analytical Engine
The machine for which Ada Lovelace wrote the first machine algorithm.
Machine Code (1GL)
The first generation of programming languages consisting of raw binary (0s and 1s) executed directly by the CPU.
Assembly Language (2GL)
A low-level language that introduces mnemonics like ADD and MOV, requiring an assembler to map them to machine instructions.
FORTRAN
The first widely-used high-level language, released in 1957.
Dennis Ritchie
The creator of the C language at Bell Labs in 1972.
Object-Oriented Programming (OOP)
A paradigm that became mainstream in the 1980s with C++, modelling code as interacting objects that bundle data and behavior.
Computer Programming
The process of translating a real-world problem into a precise, unambiguous set of instructions a computer can execute.
Program
A set of instructions written in a programming language that directs a computer to perform a specific task via the Input → Process → Output cycle.
Algorithm
A finite, ordered sequence of well-defined steps that solves a problem, independent of any specific programming language.
Pseudocode
An informal, structured description of an algorithm in plain language meant for human reading rather than computer execution.
Flowchart
A visual diagram representing an algorithm using specific shapes: ovals for start/end, rectangles for processes, and diamonds for decisions.
Application Development Life Cycle (SDLC)
A disciplined, repeating six-phase cycle (Requirement Analysis, Design, Implementation, Testing, Deployment, Maintenance) used by teams to build and maintain software.
Software Requirements Specification (SRS)
A document produced during the Requirement Analysis phase that validates what the software must do by consulting stakeholders.
Waterfall Model
An SDLC model where phases are completed strictly in sequence; it is simple to manage but inflexible to changes.
Agile Model
A modern SDLC model where work is done in short, repeated cycles called 'sprints' with continuous feedback and adaptation.
Sprint
A short cycle in the Agile model, typically lasting 1−4 weeks, that delivers a working increment of the product.
Spiral Model
An SDLC model suited for large, high-risk projects that combines iterative development with structured risk analysis at each cycle.
DevOps Model
A model that merges Development (DEV) and Operations (OPS) with heavy automation for rapid, reliable releases through a CI/CD pipeline.
CI/CD Pipeline
Automated pipeline for Continuous Integration and Continuous Deployment, involving stages like Commit, Build, Test, Package, Deploy, Verify, and Release.
Source Code
Human-readable instructions written by a programmer in a programming language before translation into machine code.
Compiler
A program that translates an entire program's source code into machine code before execution, producing a standalone executable file.
Interpreter
A program that reads and executes source code directly, line by line, without producing a separate executable.
Syntax
The set of rules (the 'grammar') that define correctly structured combinations of symbols in a language.
Semantics
The meaning behind syntactically correct code; describes what the instructions actually do.
Variable
A named storage location in memory that holds a value which can change while the program runs.
Constant
A named storage location whose value is fixed and cannot be changed once it is set.
Data Type
A classification specifying what kind of value a variable can hold (e.g., int, float, bool, string) and the valid operations on it.
Keyword (Reserved Word)
A word with a predefined meaning in a language's syntax (such as 'if' or 'while') that cannot be used as an identifier.
Identifier
A name chosen by the programmer for a variable, function, class, or other program element.
Operator
A symbol that performs an operation on one or more values (operands), such as +, −, ==, or &&.
Expression
A combination of variables, values, and operators that evaluates to a single value, such as a+b×2.
Statement
A single complete instruction that performs an action, such as a variable declaration (x=10) or a function call.
Function / Method
A named, reusable block of code that performs a specific task, optionally accepting input parameters and returning an output.
Compile-time
The period when source code is translated into machine code (or another target language).
Run-time
The period during which the program is actually executing on the CPU.
Integrated Development Environment (IDE)
Software that bundles a code editor, compiler/interpreter, and debugger into one application (e.g., VS Code, IntelliJ IDEA).
Library / API
A collection of pre-written, reusable code (library) and the defined set of rules for using it (Application Programming Interface).
3GL (High-Level Languages)
Languages like C, Java, and Python that use human-readable syntax and are hardware-independent, requiring translation via compiler or interpreter.
4GL (Very High-Level)
Domain-specific languages (e.g., SQL, MATLAB) focused on specific tasks like databases or analytics with minimal procedural detail.
5GL (Al-Oriented)
Constraint-based and logic-based languages (e.g., Prolog) where the programmer states goals and the system determines the solution.
Hybrid / JIT-Compiled Execution
An execution model where source code is compiled to intermediate bytecode and then converted to native machine code by a Just-In-Time compiler at runtime.
Bytecode
Intermediate, platform-independent code (e.g., .class or .dll files) produced by hybrid languages like Java or C#.
Procedural Paradigm
A programming style where code is organized as a sequence of steps and functions operating on data.
Functional Paradigm
A style where computation is treated as the evaluation of pure functions, avoiding changing state or mutable data.
Declarative Paradigm
A style that focuses on stating 'what' the result should be rather than 'how' to compute it step-by-step (e.g., SQL).
Class
The blueprint or template from which objects are created in Object-Oriented Programming.
Encapsulation
One of the four pillars of OOP; bundling data and methods within a class and restricting direct access to internal details using private fields.
Abstraction
One of the four pillars of OOP; hiding complex implementation details and exposing only what is necessary through a simple interface.
Inheritance
One of the four pillars of OOP; allowing a subclass to acquire the attributes and methods of an existing superclass to promote code reuse.
Polymorphism
One of the four pillars of OOP; allowing objects of different classes to respond to the same method call in their own way through a common interface.