Introduction to Programming Concepts

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/50

flashcard set

Earn XP

Description and Tags

Comprehensive vocabulary flashcards covering the history of programming, SDLC models, basic terminology, language types, and the pillars of Object-Oriented Programming.

Last updated 5:12 AM on 7/13/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

51 Terms

1
New cards

Ada Lovelace

Regarded as the first programmer, she wrote the first algorithm intended for a machine (the Analytical Engine) in the 1840s.

2
New cards

Analytical Engine

The machine for which Ada Lovelace wrote the first machine algorithm.

3
New cards

Machine Code (1GL)

The first generation of programming languages consisting of raw binary (0s0s and 1s1s) executed directly by the CPU.

4
New cards

Assembly Language (2GL)

A low-level language that introduces mnemonics like ADD and MOV, requiring an assembler to map them to machine instructions.

5
New cards

FORTRAN

The first widely-used high-level language, released in 1957.

6
New cards

Dennis Ritchie

The creator of the C language at Bell Labs in 1972.

7
New cards

Object-Oriented Programming (OOP)

A paradigm that became mainstream in the 1980s with C++, modelling code as interacting objects that bundle data and behavior.

8
New cards

Computer Programming

The process of translating a real-world problem into a precise, unambiguous set of instructions a computer can execute.

9
New cards

Program

A set of instructions written in a programming language that directs a computer to perform a specific task via the Input \rightarrow Process \rightarrow Output cycle.

10
New cards

Algorithm

A finite, ordered sequence of well-defined steps that solves a problem, independent of any specific programming language.

11
New cards

Pseudocode

An informal, structured description of an algorithm in plain language meant for human reading rather than computer execution.

12
New cards

Flowchart

A visual diagram representing an algorithm using specific shapes: ovals for start/end, rectangles for processes, and diamonds for decisions.

13
New cards

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.

14
New cards

Software Requirements Specification (SRS)

A document produced during the Requirement Analysis phase that validates what the software must do by consulting stakeholders.

15
New cards

Waterfall Model

An SDLC model where phases are completed strictly in sequence; it is simple to manage but inflexible to changes.

16
New cards

Agile Model

A modern SDLC model where work is done in short, repeated cycles called 'sprints' with continuous feedback and adaptation.

17
New cards

Sprint

A short cycle in the Agile model, typically lasting 141-4 weeks, that delivers a working increment of the product.

18
New cards

Spiral Model

An SDLC model suited for large, high-risk projects that combines iterative development with structured risk analysis at each cycle.

19
New cards

DevOps Model

A model that merges Development (DEV) and Operations (OPS) with heavy automation for rapid, reliable releases through a CI/CD pipeline.

20
New cards

CI/CD Pipeline

Automated pipeline for Continuous Integration and Continuous Deployment, involving stages like Commit, Build, Test, Package, Deploy, Verify, and Release.

21
New cards

Source Code

Human-readable instructions written by a programmer in a programming language before translation into machine code.

22
New cards

Compiler

A program that translates an entire program's source code into machine code before execution, producing a standalone executable file.

23
New cards

Interpreter

A program that reads and executes source code directly, line by line, without producing a separate executable.

24
New cards

Syntax

The set of rules (the 'grammar') that define correctly structured combinations of symbols in a language.

25
New cards

Semantics

The meaning behind syntactically correct code; describes what the instructions actually do.

26
New cards

Variable

A named storage location in memory that holds a value which can change while the program runs.

27
New cards

Constant

A named storage location whose value is fixed and cannot be changed once it is set.

28
New cards

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.

29
New cards

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.

30
New cards

Identifier

A name chosen by the programmer for a variable, function, class, or other program element.

31
New cards

Operator

A symbol that performs an operation on one or more values (operands), such as ++, -, ====, or &&\&\&.

32
New cards

Expression

A combination of variables, values, and operators that evaluates to a single value, such as a+b×2a + b \times 2.

33
New cards

Statement

A single complete instruction that performs an action, such as a variable declaration (x=10x = 10) or a function call.

34
New cards

Function / Method

A named, reusable block of code that performs a specific task, optionally accepting input parameters and returning an output.

35
New cards

Compile-time

The period when source code is translated into machine code (or another target language).

36
New cards

Run-time

The period during which the program is actually executing on the CPU.

37
New cards

Integrated Development Environment (IDE)

Software that bundles a code editor, compiler/interpreter, and debugger into one application (e.g., VS Code, IntelliJ IDEA).

38
New cards

Library / API

A collection of pre-written, reusable code (library) and the defined set of rules for using it (Application Programming Interface).

39
New cards

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.

40
New cards

4GL (Very High-Level)

Domain-specific languages (e.g., SQL, MATLAB) focused on specific tasks like databases or analytics with minimal procedural detail.

41
New cards

5GL (Al-Oriented)

Constraint-based and logic-based languages (e.g., Prolog) where the programmer states goals and the system determines the solution.

42
New cards

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.

43
New cards

Bytecode

Intermediate, platform-independent code (e.g., .class or .dll files) produced by hybrid languages like Java or C#.

44
New cards

Procedural Paradigm

A programming style where code is organized as a sequence of steps and functions operating on data.

45
New cards

Functional Paradigm

A style where computation is treated as the evaluation of pure functions, avoiding changing state or mutable data.

46
New cards

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).

47
New cards

Class

The blueprint or template from which objects are created in Object-Oriented Programming.

48
New cards

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.

49
New cards

Abstraction

One of the four pillars of OOP; hiding complex implementation details and exposing only what is necessary through a simple interface.

50
New cards

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.

51
New cards

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.