Programming Concepts and Paradigms

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/33

flashcard set

Earn XP

Description and Tags

A comprehensive set of vocabulary flashcards covering programming paradigms, language features, performance metrics, historical figures, and language generations as categorized in the lecture transcript.

Last updated 3:41 PM on 8/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

34 Terms

1
New cards

Programming paradigm

A set of principles, concepts, and methods that describe how computation or algorithms are expressed.

2
New cards

Imperative Programming

A paradigm, also known as procedural programming, that expresses computation by manipulating named data step by step, based on the stored-program concept (Von Neumann architecture).

3
New cards

Object-Oriented Programming (OOP)

A paradigm that organizes data and operations into objects containing variables and methods, supporting concepts like classes, inheritance, and polymorphism.

4
New cards

Functional Programming

Also called applicative programming, it expresses computation through mathematical functions based on Lambda Calculus with no concept of memory locations or variables.

5
New cards

Logic Programming

Also known as declarative programming, it expresses computation through logic predicates using facts, rules, and questions.

6
New cards

Prolog

The only major logic programming language, which determines answers (Yes/True or No/False) by comparing questions against facts and rules.

7
New cards

Orthogonality (Simplicity)

A language feature representing simplicity and consistency in combining diverse language features, affecting all five aspects of program performance.

8
New cards

Control Structures

Language constructs that control the flow of execution, such as sequence, selection, and iteration.

9
New cards

Abstraction

The process of hiding implementation details while exposing only essential features to improve readability, writeability, reusability, and reliability.

10
New cards

Expressiveness

The ability of a language to express ideas easily and concisely, which improves writeability but may reduce reliability.

11
New cards

Type Checking

The process of verifying that operations use compatible data types; strong checking improves reliability while weak checking offers more flexibility.

12
New cards

Exception Handling

A mechanism for handling runtime or semantic errors to prevent a program from crashing and allow it to recover gracefully.

13
New cards

Reliability

The ability of a program to operate correctly without errors.

14
New cards

Efficiency

A performance aspect measuring how well a program uses computer resources such as time and memory.

15
New cards

Program

A set of structured activities used to instruct machines and a formal notation for algorithms.

16
New cards

Syntax

The rules that define the correct structure or grammar of a program, usually specified by a Context-Free Grammar (CFG).

17
New cards

Semantics

The meaning of syntactic constructs, describing what a program actually does.

18
New cards

Compilation

The process of translating an entire source program into machine code before execution begins.

19
New cards

Interpretation

The process of translating and executing a program one statement at a time during runtime.

20
New cards

Portability

The ability of a program to run on different hardware or operating systems with little or no modification.

21
New cards

Machine Language

The lowest-level native computer language consisting of binary strings (0s0s and 1s1s) that require no translation.

22
New cards

Assembly Language

A low-level language invented in the 1950s1950s that uses English-like mnemonics (such as MOV, ADD, PUSH) instead of binary.

23
New cards

Assembler

A program that converts mnemonic-based Assembly Language into binary Machine Language.

24
New cards

Third-Generation Languages (3GL3GL)

The first group of languages to use true English-like syntax and provide portability, such as Fortran, COBOL, CC, and Java.

25
New cards

Hybrid Languages

Advanced 3GLs3GLs like Python, Ruby, and Perl that are typically interpreted and do not require variable type declarations.

26
New cards

Fourth-Generation Languages (4GL4GL)

Languages designed for ease of use in text-based or visual environments, including SQL, MATLAB, and Visual Basic.

27
New cards

Fifth-Generation Languages (5GL5GL)

Languages like Prolog that focus on solving problems using artificial intelligence and constraints rather than traditional algorithms.

28
New cards

Type Safety

A language's ability to prevent type-related errors during execution, thereby increasing reliability.

29
New cards

Engineering Trade-Offs

The design necessity of choosing to improve one feature (like speed) while sacrificing another (like memory) due to hardware limitations.

30
New cards

Short Code

The first high-level programming language that was actually used in an electronic computing device was developed in 1949. There was no compiler designed for the language, and programs written in the language had to be hand-compiled into the machine code.

31
New cards

Grace Hopper

The invention of the compiler was credited to _________ , who designed the first widely known compiler, called A0, in 1951.

32
New cards

A0

First widely known compiler.

33
New cards

Structured programming 

A technique for organizing programs in a hierarchy of modules.

34
New cards

Smalltalk

One of the object-oriented successors of Simula