Computer Programming Design Final Exam Review

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

1/128

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 7:44 AM on 5/6/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

129 Terms

1
New cards

Primitive Type

Basic data types like int, float, char, and boolean that store simple values directly in memory.

2
New cards

Reference Type

Data types that refer to objects (e.g., arrays, classes) and store memory addresses, not actual values.

3
New cards

Runtime Heap

Memory area where objects are dynamically allocated during runtime.

4
New cards

Runtime Stack

Memory structure that keeps track of method calls, including local variables and method invocations.

5
New cards

Activation Record (Stack Frame)

Represents a single method call in the runtime stack, containing its local variables and return address.

6
New cards

Call by Value

Passing a copy of the variable's value to a method. Changes in the method don't affect the original variable.

7
New cards

Call by Reference

Passing a reference (address) to the variable, allowing modifications within the method to affect the original object.

8
New cards

Method Abstraction

Hides the implementation details of a method, focusing on its purpose or usage.

9
New cards

Method Header

The declaration line of a method (e.g., public void myMethod(int x)).

10
New cards

Method Body

The code block inside a method that defines its functionality.

11
New cards

Method Signature

Includes the method's name and parameter list; used to identify the method uniquely.

12
New cards

Formal Parameter

Variables listed in the method's header.

13
New cards

Actual Parameter/Argument

Values or expressions passed to the method during a call.

14
New cards

Java Virtual Machine (JVM)

Executes Java bytecode, providing platform independence.

15
New cards

.java (Source File)

File containing Java source code.

16
New cards

.class (Bytecode)

Compiled Java code, executed by the JVM.

17
New cards

Bytecode

Intermediate, platform-independent code generated by the Java compiler.

18
New cards

Flushing

Forcing the output buffer to write its contents to the destination (e.g., System.out.flush()).

19
New cards

GPS / Driver / Car Analogy

Explains abstraction, encapsulation, and modularity (e.g., user interacts with GPS without knowing internals).

20
New cards

User / Application / Computer

Highlights the layered interaction of software and hardware.

21
New cards

Compiler (javac)

Translates Java source code into bytecode.

22
New cards

Operating System

The platform running the JVM (e.g., Windows, Linux, macOS).

23
New cards

Hardware

The physical machine executing the JVM and application.

24
New cards

JDK (Java Development Kit)

Includes tools like compiler, libraries, and JVM for developing Java applications.

25
New cards

SDK (Software Development Kit)

A set of tools for building software in a specific environment.

26
New cards

Block

A set of code enclosed in braces {}.

27
New cards

Access Modifiers

Control visibility (public, protected, default, private).

28
New cards

Return Statement

Specifies the output of a method and ends its execution.

29
New cards

Assertions

Used for debugging to validate assumptions (assert x > 0).

30
New cards

Test Harness

Framework to test software components in isolation.

31
New cards

Void

Indicates a method doesn't return a value.

32
New cards

Unit Testing

Testing individual components or methods.

33
New cards

Stub

A minimal implementation used for testing.

34
New cards

Modular Development

Dividing software into independent, reusable modules.

35
New cards

Incremental Development

Building and testing software in small, manageable increments.

36
New cards

Testbench

Simulates inputs/outputs to test code.

37
New cards

Test Vector

Set of inputs and expected outputs for testing.

38
New cards

Assert Operator

Used in assertions to verify conditions.

39
New cards

Class

A blueprint for objects, defining fields (properties) and methods.

40
New cards

Object

An instance of a class, combining data and behavior.

41
New cards

Encapsulation

Hiding internal details and exposing only what's necessary via getters/setters.

42
New cards

Getter/Setter (Mutator/Accessor)

Methods to read/write object fields.

43
New cards

Overloading

Multiple methods with the same name but different parameter lists.

44
New cards

Overriding

Redefining a method in a subclass.

45
New cards

This

A reference to the current object.

46
New cards

Inheritance

Subclasses inheriting behavior and properties from a superclass.

47
New cards

Polymorphism

The ability to process objects of different types through a common interface.

48
New cards

UML Class Diagram

Visual representation of classes, relationships, and structure.

49
New cards

ArrayList vs. Array

ArrayList is dynamic; arrays have fixed size.

50
New cards

Perfect Size Array

An array sized to exactly fit its elements.

51
New cards

Oversize Array

An array with extra capacity to avoid resizing.

52
New cards

PrintStream

Writes data to an output destination.

53
New cards

Buffer

Temporary storage area for data.

54
New cards

System.out

Default output stream.

55
New cards

InputStream

Reads data from a source.

56
New cards

PrintWriter

Writes formatted output to text files.

57
New cards

FileInputStream/FileOutputStream

Reads/writes binary data from/to files.

58
New cards

Try/Catch Block

Handles runtime exceptions.

59
New cards

Throw Statement

Explicitly throws an exception.

60
New cards

Throws

Declares exceptions a method can throw.

61
New cards

Finally Block

Executes code regardless of whether an exception occurred.

62
New cards

Checked vs. Unchecked Exceptions

Checked (compile-time); Unchecked (runtime).

63
New cards

Wrapper Classes

Convert primitives to objects (e.g., Integer for int).

64
New cards

Autoboxing/Unboxing

Automatic conversion between primitives and wrappers.

65
New cards

Static

Indicates one copy of a variable/method exists for all instances.

66
New cards

Instance Method

A method that operates on an object instance.

67
New cards

Deep Copy

Deep copy duplicates all fields

68
New cards

Garbage Collection

Automatic memory management by JVM.

69
New cards

Java Collections Framework

Classes and interfaces for data structures.

70
New cards

Constructor Chaining

Calling one constructor from another in the same class.

71
New cards

GUIs (Graphical User Interfaces)

Visual interfaces for users to interact with the application.

72
New cards

Application

A base JavaFX class that must be extended to create a JavaFX program. The start(Stage primaryStage) method is overridden to define the main UI.

73
New cards

Stage

Represents the primary window or a secondary window in a JavaFX application. is a top level container that contains all content within a window (exit button, maximize, minimize)

74
New cards

Scene

Represents the content inside a Stage. It can contain a hierarchical arrangement of nodes.

75
New cards

Pane

A base class for layout managers (e.g., GridPane, VBox, HBox) used to arrange UI components.

76
New cards

TextField

A GUI component for text input.

77
New cards

Button

A clickable UI component that can trigger actions.

78
New cards

Label

Displays non-editable text or content in the GUI.

79
New cards

GridPane

A layout that arranges components in a grid of rows and columns.

80
New cards

ActionEvent

Represents an event triggered by user interaction, such as clicking a button.

81
New cards

EventHandler

An interface for handling events, often implemented via lambda expressions.

82
New cards

Alerts

Predefined pop-ups for showing messages, warnings, or errors.

83
New cards

AlertType(s)

Enum defining the types of alerts (INFORMATION, WARNING, ERROR, etc.).

84
New cards

Canvas

A node for drawing custom graphics via the GraphicsContext.

85
New cards

GraphicsContext

Provides methods for drawing shapes, images, and text on a Canvas.

86
New cards

VBox

Places the nodes in a single column

87
New cards

Hbox

Places the nodes in a single row

88
New cards

BorderPane

Places the nodes in the top, right, bottom, left, and center regions.

89
New cards

StackPane

JavaFX pane that automatically centers children and lays them out by setting one on top of another.

90
New cards

GridPane

a JavaFX Pane component that positions graphical components in a two-dimensional grid

91
New cards

Dynamic binding

type of object is not determined until run-time

92
New cards

Method Binding

the process of matching a method call with the correct method

93
New cards

API (Application Programming Interface)

Software definition that describes operating system calls for application software; conventions defining how a service is invoked.

94
New cards

Shallow Copy

Creating a copy of an object by copying only the data members' values

95
New cards

String Buffer

Class used to create + manipulate mutable strings (is sync'd + used for multi thread enviroments)

96
New cards

Mouse Listener

an interface used to handle mouse motion event; i.e. when the mouse is moved or dragged within a computer

97
New cards

Lambda Expression

shorthand notation for writing anonymous methods (i.e. methods that don't have a name)

98
New cards

JavaFx

a set of packages and APIs for developing programs with graphical user interfaces, 3D graphics, etc

99
New cards

Interning

refers to the process of storing only one copy of each distinct string value in memory

100
New cards

Concrete

isn't abstract + can be instantiated