1/25
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
What is procedural programming?
A form of structured programming organized around procedures/functions that accept data, process it, and return results.
What are other names for procedures?
Functions, routines, or subroutines.
What usually drives a procedural program?
A main procedure executing statements and procedure calls in sequence.
Procedural programming is sometimes also called what?
Imperative programming.
Name some examples of procedural languages.
BASIC, Fortran, Pascal, C, and Go.
Can Python and Rust be procedural?
Yes, though they can also support other paradigms including object-oriented programming.
What is object-oriented programming structured around?
Objects.
What are objects instances of?
Classes.
What do objects accept from other objects?
Messages.
In OOP, what do messages essentially do?
They call methods in the receiving object.
What is a method?
A procedure/function encapsulated inside a class.
What are examples of object-oriented languages?
Java, Objective-C, Swift, C#, and C++.
What do objects combine in one unit?
Data and functionality.
What is the data inside an object called?
Data members.
What is the functionality inside an object called?
Methods or member functions.
How is object-oriented programming different from procedural programming?
OOP bundles data and functionality together in classes/objects, while procedural programming keeps them separate around procedures.
What is one benefit of object-oriented programming?
Better modeling of real-world elements.
What software engineering ideas are emphasized as OOP benefits?
Information hiding, encapsulation, abstraction, and modularization.
What is information hiding?
Hiding implementation details so the rest of the program only uses a published interface.
What is encapsulation?
Bundling data and functionality together into one package with a well-defined interface.
What is abstraction?
Showing only the important characteristics and omitting irrelevant details.
What is modularization?
Designing software as independent units/subsystems that communicate only necessary information.
What does low coupling mean?
Subsystems depend on each other as little as possible.
What does high cohesion mean?
A unit performs one specific task or a set of closely related tasks.
Is object orientation the best solution for every programming problem?
No.
Why do OOP benefits sometimes fail in practice?
Because achieving those theoretical benefits well can be difficult.