1/47
Traditional vocabulary flashcards covering key terms, languages, historical figures, and paradigms from Lesson 1.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Survey
A systematic examination or overview of a subject or field.
Programming
The process of creating instructions that tell a computer how to perform tasks.
Language (in computing)
A formal system of notation with syntax and semantics used to communicate instructions to a computer.
Survey of Programming Languages (SPL)
An academic study that compares and contrasts multiple programming languages and their paradigms.
Programming Language (PL)
A notation that provides rules for specifying, organizing and reasoning about computations.
Programming Paradigm (PP)
A philosophical style or model that guides the design and use of programming languages.
Assembly Language
Low-level symbolic code that maps directly to machine instructions; first widely used computer language (1940s).
Plankalkül
The first high-level programming language, designed by Konrad Zuse (1943-1954).
Autocode
Early 1950s compiled language by Alick Glennie; automatically translated to machine code.
FLOW-MATIC
English-like language (1955-1959) led by Grace Hopper; major influence on COBOL.
FORTRAN
Formula Translation language (1957); first widely used general-purpose high-level PL.
LISP
List Processing language (1958) by John McCarthy; pioneering functional language.
ALGOL
ALGOrithmic Language (1958/1960); introduced structured programming concepts.
COBOL
COmmon Business-Oriented Language (1959); designed for business data processing.
Grace Hopper
Computer pioneer who championed FLOW-MATIC and contributed to COBOL development.
Turing Machine
Abstract machine model forming the theoretical basis of computation and stored programs.
John von Neumann Architecture
Computer design that stores program instructions and data in the same memory.
Compiler
A program that translates high-level source code into machine code or another lower-level form.
High-Level Programming Language
Language whose syntax is closer to human reasoning than to machine code, easing development.
Imperative Programming
Paradigm that describes computation as sequences of statements that change program state.
Procedural Programming
Imperative subtype focused on procedures/functions to structure programs.
Object-Oriented Programming (OOP)
Paradigm organized around objects, classes, encapsulation, inheritance, and polymorphism.
Functional Programming
Declarative paradigm where computation is the evaluation of mathematical functions without state change.
Logic Programming
Paradigm that expresses programs as logic facts and rules, executed via inference (e.g., Prolog).
Declarative Programming
Style that specifies what result is wanted rather than how to obtain it.
Structural Programming
Programming style emphasizing control-flow constructs (sequence, selection, iteration) and modularity.
Literate Programming
Approach that combines code and documentation in a single, readable narrative.
Recursion
Technique where a function calls itself to solve a problem by reducing it to sub-problems.
Encapsulation
OOP principle of bundling data with methods that operate on that data, hiding implementation details.
Polymorphism
OOP ability for different types to be treated through a uniform interface, enabling code reuse.
Abstraction
OOP concept of modeling essential features while hiding unnecessary details.
Inheritance
OOP mechanism by which one class acquires properties and behavior of another.
Multi-Paradigm / Hybrid Language
A language supporting features from multiple programming paradigms (e.g., Python, Scala).
Naming and Binding
Rules governing how identifiers are associated with program entities and when those associations occur.
Ada Lovelace
19th-century mathematician credited with writing the first algorithm intended for a machine.
Charles Babbage
Inventor of the Analytical Engine, an early mechanical general-purpose computer.
ENIAC
Electronic Numerical Integrator and Computer (1946); one of the first electronic general-purpose computers.
Konrad Zuse
German engineer who built the Z3 computer and designed Plankalkül.
John Mauchly
Co-designer of ENIAC; authored an early high-level language in 1949.
Van Wijngaarden Grammar
Formal notation (ALGOL 68) for defining complex language syntax and semantics.
SQL
Structured Query Language (1978); declarative language for relational database queries.
C
Systems programming language (1972) designed by Dennis Ritchie; influential in later PLs.
C++
Extension of C with OOP features, created by Bjarne Stroustrup (1983).
Java
Object-oriented, platform-independent language released by Sun Microsystems in 1995.
Python
High-level, multi-paradigm scripting language created by Guido van Rossum (1991).
Scheme
Minimalist dialect of Lisp (1975) emphasizing functional programming and tail recursion.
Haskell
Purely functional language (1990) featuring lazy evaluation and strong static typing.
Prolog
PROgramming in LOGic (1972); principal logic programming language.