cse-2315 Flashcards

cse

1
Q

OOP

A

A style of programming focused on the use of classes and class hierarchies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Polymorphism

A

The provision of a single interface to multiple subclasses, enabling the same method call to invoke different subclass methods to generate different results.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Inheritance

A

Reuse and extension of fields and method implementations from another class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Encapsulation

A

Definition: Bundling data and code into a restricted container.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Abstraction

A

Definition: Specifying a general interface while hiding implementation details.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Term: Primitive type

A

Definition: A data type that can typically be handled directly by the underlying hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Term: Enumerated type

A

Definition: A data type that includes a fixed set of constant values called enumerators.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Term: Class

A

Definition: A template encapsulating data and code that manipulates it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Term: Instance

A

Definition: An encapsulated bundle of data and code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Term: Object

A

Definition: An instance of a class containing a set of encapsulated data and associated methods.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Term: Variable

A

Definition: A block of memory associated with a symbolic name that contains a primitive data value or the address of an object instance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Term: Operator

A

Definition: A short string representing a mathematical, logical, or machine control action.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Term: Field

A

Definition: A class member variable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Term: Constructor

A

Definition: A special class member that creates and initializes an object from the class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Term: Destructor

A

Definition: A special class member that cleans up when an object is deleted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Term: Method

A

Definition: A function that manipulates data in a class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Term: Friend

A

Definition: A class or a function that is granted access to its friend class’ private class members.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Term: Operator Overloading

A

Definition: Providing a user-defined meaning to a pre-defined operator for a user-defined type.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Term: Getter

A

Definition: A method that returns the value of a private field.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Term: Setter

A

Definition: A method that changes the value of a private field.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Term: Multiple Inheritance

A

Definition: A subclass inheriting class members from two or more superclasses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Term: Superclass

A

Definition: The class from which members are inherited.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Term: Subclass

A

Definition: The class inheriting members.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Term: Abstract Method

A

Definition: A method declared with no implementation.

25
Term: Abstract Class
Definition: A class that cannot be instantiated.
26
Term: Override
Definition: A subclass replacing its superclass’ implementation of a virtual method.
27
Term: Namespace
Definition: A named scope.
28
Term: Declaration
Definition: A statement that introduces a name with an associated type into a scope.
29
Term: Definition
Definition: A declaration that also fully specifies the entity declared.
30
Term: Shadowing
Definition: A variable declared in a narrower scope than that of a variable of the same name declared in a broader scope.
31
Term: Stack
Definition: Scratch memory for a thread of execution.
32
Term: Heap
Definition: Memory shared by all threads of execution for dynamic allocation.
33
Term: Global
Definition: Memory for static fields and non-scoped variables.
34
Term: Code
Definition: Read-only memory for machine instructions.
35
Term: Generic Programming
Definition: Writing algorithms in terms of types that are specified as parameters during instantiation or invocation.
36
Term: Template
Definition: A C++ construct representing a class, method, or function in terms of generic types.
37
Term: Standard Template Library
Definition: A library of well-implemented algorithms focused on organizing code and data as C++ templates.
38
Term: Container
Definition: An object that stores and manages other objects.
39
Term: Algorithm
Definition: A procedure for solving a specific problem, expressed as an ordered set of actions.
40
Term: Iterator
Definition: A pointer-like standard library abstraction for objects referring to elements of a container.
41
Term: Concurrency
Definition: Performing 2 or more algorithms simultaneously.
42
Term: Process
Definition: A self-contained execution environment including its own memory space.
43
Term: Thread
Definition: An independent path of execution within a process, running concurrently with other threads within a shared memory space.
44
Term: Reentrant
Definition: An algorithm that can be paused while executing, and then safely executed by a different thread.
45
Term: Mutex
Definition: An object that prevents two properly written threads from concurrently accessing a shared resource.
46
Term: Exception
Definition: An object created to represent an error or other unusual occurrence and then propagated via special mechanisms until caught by special handling code.
47
Term: Assertion
Definition: An expression that, if false, indicates a program error.
48
Term: Invariant
Definition: Code for which specified assertions are guaranteed to be true.
49
Term: Data Validation
Definition: Ensuring that a program operates on clean, correct and useful data.
50
Term: Validation Rules
Definition: Algorithmically enforceable constraints on the correctness, meaningfulness, and security of input data.
51
Term: Version Control
Definition: The task of keeping a system consisting of many versions well organized.
52
Term: Branch
Definition: A second distinct development path within the same organization and often within the same version control system.
53
Term: Fork
Definition: A second distinct and independent development path undertaken to create a unique product.
54
Term: Baseline
Definition: A reference point in a version control system, usually indicating completion and approval of a product release.
55
Term: Unified Modeling Language (UML)
Definition: The standard visual modeling language used to describe, specify, design, and document the structure and behavior of object-oriented systems.
56
Term: Class Hierarchy
Definition: Defines the inheritance relationships between a set of classes.
57
Term: Class Library
Definition: A collection of classes designed to be used together efficiently.
58
Term: Principle of Least Astonishment
Definition: A user interface component should behave as the users expect it to behave.