NMBU REALTEK, INF205, 2024 (spring semester): Glossary

Abstract class

We agreed on 12.3. to add this to the glossary on the content from calendar week 10.

Amdahl's law

From calendar week 12.

Asynchrony

We agreed on 22.4. to add this to the glossary on the content from calendar week 16.

Backtracking

From calendar week 17.

Class (entity type, concept)

Definition: A class is a type that is instantiated by objects; in object-oriented programming, class definitions and the members of a class are the main tool for organizing both the code and the data.

See also: Object-oriented programming, ownership, pointer, relation, typing.

Compilation

Definition: Compilation (or compiling) is the process of transforming a human-readable source code into a lower-level machine code. It is done by a compiler.

See also: Namespace, typing.

Computational complexity

From calendar week 17.

Command-line argument

We agreed on 26.2. to add this to the glossary on the content from calendar week 8.

compile-time

We agreed on 12.2. to add this to the glossary on the content from calendar week 6.

Concurrency

From calendar week 12.

Configuration space

We agreed on 15.4. to add this to the glossary on the content from calendar week 15.

Constant expression

From calendar week 8.

Constructor

Definition: Method that is called in order to allocate an object.

See also: Destructor, object-oriented programming, typing.

Container

Definition (Stroustrup): "A class with the main purpose of holding objects is commonly called a container."

See also: Object-oriented programming, ownership, pointer, queue.

Dangling pointer

We agreed on 26.2. to add this to the glossary on the content from calendar week 8.

We agreed on 15.4. to add this to the glossary on the content from calendar week 15.

Destructor

Definition: Method that is called upon deallocating an object.

See also: Constructor, object-oriented programming.

Distributed system

From calendar week 16.

Domain decomposition

From calendar week 15.

Dynamic library

From calendar week 8.

Embarrassing parallelism

From calendar week 15.

Graph

From calendar week 11.

Hasse diagram

We agreed on 22.4. to add this to the glossary on the content from calendar week 16.

Heap [memory management]

We agreed on 19.2. to add this to the glossary on the content from calendar week 7.

Interface

We agreed on 12.3. to add this to the glossary on the content from calendar week 10.

Load balancing

From calendar week 17.

Memory leak

We agreed on 26.2. to add this to the glossary on the content from calendar week 8.

Message passing

We agreed on 8.4. to add this to the glossary on the content from calendar week 12.

Middleware

We agreed on 22.4. to add this to the glossary on the content from calendar week 16.

Namespace

Definition: A namespace is a collection of names, i.e., rigid designators for functions, variables, classes, etc.; namespaces and the names they contain can be accessed globally, from anywhere in the source code.

See also: Compilation, object-oriented programming, procedural programming.

Object-oriented programming

Definition: Object-oriented programming (OOP) is the programming paradigm where classes are the highest-level device for structuring code, data, and the program control flow.

See also: Class, container, destructor, namespace, procedural programming, relation.

Operator overlading

From calendar week 11.

Ownership [memory management]

Definition: In the context of manual memory management, one object x taking ownership of another object y means that the memory use of y is managed through x. It usually implies that x acts as a container for y.

See also: Class, container.

pass-by-reference

Definition: "Passing by reference" can refer to any mode of passing an argument to a function that permits the called function to access the original data item, at the same address in memory, rather than receiving only a copy.

See also: Pass-by-value, pointer.

pass-by-value

Summary: When an argument is passed by value to a function, a copy of the argument values is created in memory (on the stack, in the stack frame of the called function). The function works with its own copy; it cannot access the original variable.

See also: Pass-by-reference, procedural programming.

Petri net

From calendar week 16.

Pointer

Definition: A pointer is a variable that has a memory address as its value.

See also: Class, container, pass-by-reference, reference, static array, wild pointer.

Procedural programming

Definition: Procedural programming is the programming paradigm where procedures are employed as the highest-level device for structuring code and the program control flow.

See also: Namespace, object-oriented programming, pass-by-value.

Queue

Definition: A queue is a sequential (list-like) dynamic data structure that functions by the principle first in, first out (FIFO).

See also: Container, static array.

Rank [MPI]

We agreed on 8.4. to add this to the glossary on the content from calendar week 12.

Reference

Definition: A reference is an alias for the data item stored at a given memory address; the address remains hidden from the programmer, who can use the reference as if it was the data item itself.

See also: Pointer.

Relation (object property, relationship type)

Summary: A relation specifies how objects from given classes can be connected to each other.

See also: Class, object-oriented programming.

Rule of three

We agreed on 12.3. to add this to the glossary on the content from calendar week 10.

Rule of five

From calendar week 11.

Runtime

We agreed on 12.2. to add this to the glossary on the content from calendar week 6.

Sampling [of a high-dimensional space]

We agreed on 15.4. to add this to the glossary on the content from calendar week 15.

Static array

Definition: An array is a variable referring to a contiguous region in memory that can hold the content of multiple elementary variables or objects. A static array is just that, without any special additional functionality, as opposed to a dynamic array which provides the additional functionality that it can be resized.

See also: Pointer, queue, wild pointer.

Stack [data structure]

From calendar week 10.

Stack [memory management]

We agreed on 19.2. to add this to the glossary on the content from calendar week 7.

State space

From calendar week 15.

Strong scaling

We agreed on 8.4. to add this to the glossary on the content from calendar week 12.

Synchronization

From calendar week 12.

Trace (Mazurkiewicz trace)

From calendar week 16.

Typing

Definition: Typing is the mechanism by which a data type is assigned to data items.

See also: Class, compilation.

Wild pointer

Definition: A wild pointer is a pointer that unintentionally holds an invalid memory address as its value.

See also: Pointer, static array.

Referenced literature

Index