<p>I can remember when I first read an early book about C++, and (knowing C) I wondered: &quot;What is this all about? Just a more complicated way of doing things?&quot;</p>
<p>Years later I read the early C++ language specification (with much more stuff added), and I learned a lot of things to do,</p>
<p>ELLIS, Margaret A. und Bjarne STROUSTRUP, 1990. The annotated C++ Reference Manual. 1. Murray Hill, New Jersey, U.S.A.: Addison-Wesley Publishing Company. ISBN 0-201-51459-1</p>
<p><strong>but</strong> I really had no idea what OOP is really about until I had read (German):</p>
<p>MEYER, Bertrand, 1990. Objektorientierte Softwareentwicklung. München Wien: Prentice-Hall International Inc. ISBN 3-446-15773-5</p>
<p>and later (2nd edition):</p>
<p>MEYER, Bertrand, 1997. Object-Oriented Software Construction. 2. Upper Saddle River, NJ 07458, U.S.A.: Prentice-Hall, Inc. ISBN 0-13-629155-4</p>
<p>Also nice:</p>
<p>MEYER, Bertrand, 1994. Reusable Software. 1. Hemel Hempstead, Hertfordshire, U.K.: Prentice-Hall International (UK) Ltd. Prentice Hall Object-Oriented Series. ISBN 0-13-245499-8202</p>
<p>In summary: You can do quite a lot of things with OO languages, but many things are <em>not</em> OOP.</p>
<p>Of course Eiffel is somewhat exotic.</p>

CC BY-SA 4.0
2021-11-24T22:57:29.257Z
2021-11-24T22:57:29.257Z
U. Windl
<p>My suggestion is &quot;Object Oriented Programming in Python&quot; by Goldwasser &amp; Letscher
<a href="https://cs.slu.edu/%7Egoldwamh/oopp/" rel="nofollow noreferrer">https://cs.slu.edu/~goldwamh/oopp/</a>
It's a free PDF download, or you can buy a paper copy.
They have a companion graphics module that is simple to understand for rudimentary GUI applications.
Hope this helps.</p>

CC BY-SA 4.0
2020-09-07T00:35:52.803Z
2020-09-07T00:35:52.803Z
Louis B.
<p>I'm looking for a text for a course in object oriented programming.  Most of the students will have done some programming courses in the past, but the background of the students is varied so the purpose of this course is to ensure that they are all well grounded in basic programming and object-oriented ideas such as abstraction, design by contract, polymorphic code, generic code, etc.  The language of the course is probably Java, but could also be Python.</p>
<p>I had suggested Barbara Liskov's textbook, <em>Program Development in Java: Abstraction, Specification, and Object-Oriented Design</em>.  But unfortunately it is out of print.  (Although still available as an e-book.)</p>
<hr />
<p>This is graduate level for a professional masters in computer engineering. However the educational background of the students is quite varied and some are, quite frankly, not competent at programming when they arrive. Hence this fairly low-level course.</p>

CC BY-SA 4.0
2020-09-01T15:31:03.610Z
I should have said this is graduate level for a professional masters in computer engineering.  However the educational background of the students is quite varied and some are, quite frankly, not competent at programming when they arrive.  Hence this fairly low-level course.
Theodore Norvell
CC BY-SA 4.0
2020-09-01T15:48:05.100Z
Do you need to project "seriousness" or can it also be a bit of fun, though excellent, and complete?
Buffy
CC BY-SA 4.0
2020-09-01T17:16:55.957Z
@Buffy I am not against fun.  I do find that some books try too hard to be fun and end up with silly examples that don't give insight into how an idea might be applied in situations that are likely to come up in the real world.
Theodore Norvell
CC BY-SA 4.0
2020-09-02T15:00:42.370Z
For all of the years I've taught OO, I've never used a textbook as a primary resource.  I think *Liang* has a pretty good one, but I am locked out of my institution (where my books are), so I can't check whether it has good (any?) exercises.  Hence, my hesitation to create an answer.
Ben I.
CC BY-SA 4.0
2020-09-02T15:46:27.437Z
@BenI. Thanks.  I guess that's Introduction to Java Programming and Data Structures by Y. Daniel Liang.
Theodore Norvell
<resource-request><object-oriented-paradigm>
Looking for a text book on object-oriented concepts and programming
# Looking for a text book on object-oriented concepts and programming

(Asked by: username_0 on 2020-09-01)

I'm looking for a text for a course in object oriented programming. Most of the students will have done some programming courses in the past, but the background of the students is varied so the purpose of this course is to ensure that they are all well grounded in basic programming and object-oriented ideas such as abstraction, design by contract, polymorphic code, generic code, etc. The language of the course is probably Java, but could also be Python.

I had suggested Barbara Liskov's textbook, *Program Development in Java: Abstraction, Specification, and Object-Oriented Design*. But unfortunately it is out of print. (Although still available as an e-book.)

---

This is graduate level for a professional masters in computer engineering. However the educational background of the students is quite varied and some are, quite frankly, not competent at programming when they arrive. Hence this fairly low-level course.

**Tags:** resource-request, object-oriented-paradigm

> **Comments:**
> **username_0**: I should have said this is graduate level for a professional masters in computer engineering.  However the educational background of the students is quite varied and some are, quite frankly, not competent at programming when they arrive.  Hence this fairly low-level course.  
> **username_1**: Do you need to project "seriousness" or can it also be a bit of fun, though excellent, and complete?  
> **username_0**: @username_1 I am not against fun.  I do find that some books try too hard to be fun and end up with silly examples that don't give insight into how an idea might be applied in situations that are likely to come up in the real world.  
> **username_2**: For all of the years I've taught OO, I've never used a textbook as a primary resource.  I think *Liang* has a pretty good one, but I am locked out of my institution (where my books are), so I can't check whether it has good (any?) exercises.  Hence, my hesitation to create an answer.  
> **username_0**: @BenI. Thanks.  I guess that's Introduction to Java Programming and Data Structures by Y. Daniel Liang.  

---

## 2 answers

### Answer by username_4 on 2020-09-07. Score: 3 | Accepted answer

My suggestion is "Object Oriented Programming in Python" by Goldwasser & Letscher
[https://cs.slu.edu/~goldwamh/oopp/](https://cs.slu.edu/%7Egoldwamh/oopp/)
It's a free PDF download, or you can buy a paper copy.
They have a companion graphics module that is simple to understand for rudimentary GUI applications.
Hope this helps.


---

### Answer by username_3 on 2021-11-24. Score: 1

I can remember when I first read an early book about C++, and (knowing C) I wondered: "What is this all about? Just a more complicated way of doing things?"

Years later I read the early C++ language specification (with much more stuff added), and I learned a lot of things to do,

ELLIS, Margaret A. und Bjarne STROUSTRUP, 1990. The annotated C++ Reference Manual. 1. Murray Hill, New Jersey, U.S.A.: Addison-Wesley Publishing Company. ISBN 0-201-51459-1

**but** I really had no idea what OOP is really about until I had read (German):

MEYER, Bertrand, 1990. Objektorientierte Softwareentwicklung. München Wien: Prentice-Hall International Inc. ISBN 3-446-15773-5

and later (2nd edition):

MEYER, Bertrand, 1997. Object-Oriented Software Construction. 2. Upper Saddle River, NJ 07458, U.S.A.: Prentice-Hall, Inc. ISBN 0-13-629155-4

Also nice:

MEYER, Bertrand, 1994. Reusable Software. 1. Hemel Hempstead, Hertfordshire, U.K.: Prentice-Hall International (UK) Ltd. Prentice Hall Object-Oriented Series. ISBN 0-13-245499-8202

In summary: You can do quite a lot of things with OO languages, but many things are *not* OOP.

Of course Eiffel is somewhat exotic.


---

