Subprogram Function
Procedure Return Statement
Call Statement Modularity
Reusability Maintainability

 

A subroutine that executes specific tasks within a program and provides a returned value when called. A program module that performs a specific task within a larger program.
A command used in a subprogram to show the specific value that will be given back to the main program A subprogram that is callable within a program and executes a specific task, but does not return 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 executing a program to identify errors. The reduction of complexity by hiding implementation details.
The ability to execute tasks with optimal resource usage. How easily the code can be understood by humans.
A data type that specifies only the functionality and not the specific way it is implemented. The technique of simplifying intricate data by offering a high-level interface.
A technique that conceals the inner workings of a procedure and reveals only the essential information. 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.