Modularity, Objects, and State

E173599

"Modularity, Objects, and State" is a chapter in the classic computer science textbook *Structure and Interpretation of Computer Programs* that explores how to structure programs using modular design, data abstraction, and mutable state, including object-oriented techniques.

All labels observed (1)

Label Occurrences
Modularity, Objects, and State canonical 1

How this entity was disambiguated

Statements (46)

Predicate Object
instanceOf book chapter
educational resource
appearsInEdition first edition of Structure and Interpretation of Computer Programs
second edition of Structure and Interpretation of Computer Programs
field computer science
programming languages
software engineering
focusesOn assignment and side effects
data abstraction
encapsulation of state
local state variables
message passing
modular interfaces
modular program design
mutable state
object-oriented programming techniques
procedural data abstraction
representation independence
simulation of objects
stateful abstractions
time and state in computation
hasAuthor Gerald Jay Sussman
Hal Abelson
surface form: Harold Abelson
hasContributor Julie Sussman
hasExampleDomain simple object systems built in Scheme
simulated bank accounts
simulated queues and tables
hasPedagogicalGoal to explain the implications of mutable state for program reasoning
to introduce object-based design without requiring a special object-oriented language
to show how modularity improves program design
influences teaching of modular and object-based design in functional languages
language Scheme
partOf Structure and Interpretation of Computer Programs
publisher MIT Press
relatedTo data abstraction and generic operations
metalinguistic abstraction
teaches how mutation affects reasoning about programs
how to hide implementation details behind interfaces
how to model objects with internal state in Scheme
how to structure programs using modules
usedIn undergraduate computer science curricula
usesConcept closures
environment model of evaluation
lexical scoping
message-passing objects
state variables stored in closures

How these facts were elicited

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

Structure and Interpretation of Computer Programs chapter Modularity, Objects, and State