1. Abelson, H., & Sussman, G. J. (1996). Structure and Interpretation of Computer Programs (2nd ed.). MIT Press. Chapter 3, "Modularity, Objects, and State." Section 3.1 discusses the concept of assignment and local state, which leads to the object-oriented paradigm of grouping state and operations.
2. Guttag, J. V. (2021). 6.0001 Introduction to Computer Science and Programming in Python. Massachusetts Institute of Technology: MIT OpenCourseWare. Lecture 8: Object Oriented Programming. Defines OOP as a style of programming that involves bundling data and functions that work on that data into objects.
3. Weisfeld, M. (2019). The Object-Oriented Thought Process (5th ed.). Addison-Wesley Professional. Chapter 1, "Introduction to Object-Oriented Concepts." "The fundamental concept of object-oriented (OO) development is to view a system as a set of interacting objects."