Subprogram Function
Procedure Return Statement
Call Statement Modularity
Reusability Maintainability

 

A named section of code that performs a specific task and returns a value when executed. A program module that performs a specific task within a larger program.
A command in a subprogram that specifies the value sent back to the main program after execution A callable code block within a program that performs a specific task without returning a value.
The principle of breaking down a program into smaller, manageable sections. A command in a program that activates a subprogram allowing it to run and perform its tasks.
The ease with which modifications can be made to a codebase. The ability to use existing code in multiple programs or contexts.

 

Abstraction Testing
Readability Efficiency
Data Abstraction Abstract Data Type
Abstraction Layer Procedural Abstraction

 

The process of running software to find and locate defects or errors in its behavior. The reduction of complexity by hiding implementation details.
The ability to execute tasks with optimal resource usage. The ease with which humans can interpret and comprehend the structure and logic of code.
A data type that specifies only the functionality and not the specific way it is implemented. A method of hiding complex data details by providing a simplified, high-level interface for interaction.
A method that hides detailed steps of a process, showing only necessary information to use it effectively. A simplified interface is provided to hide the complexity of lower-level components.

 

Class Object
Encapsulation Inheritance
Polymorphism

 

An instance of a class that contains both data and methods. A blueprint for creating objects that encapsulates data and behavior.
A mechanism to create a new class using properties and behaviors of an existing class. The bundling of data and methods that operate on that data within a single unit.
The ability to present the same interface for different underlying data types.