Reported Errors in

An Introduction to Object-Oriented Programming (3nd Ed)

by Timothy A. Budd

(Last modified )

Short Errors

The following lists errors that can be easily described. In some cases the table refers to more lengthy explanations that follow. Positive line numbers count from the top of page, negative numbers from the bottom.

ChapterPage, LineExplanationReporter
228, 4proving a service=>providing a service(an)
349, -8poliferation => proliferation(jl)
370, 8I are not => I am not(sk)
480, -18suit => suitValue rank => rankValue(ps)
484, -15suit should be suit()(ps)
497,-1repeated sentence. repeated sentence.(rz)
5108, 7caret should be up-arrow
6142Curly braces in Smalltalk code (see note below)
7153Direct Manipulation of Ball (see note below)(rg)
8185, 13langauges=>languages(al)
9187, -5writen=>written(al)
9197, -3add if (! topCard.isFaceUp) return false;(jd)
9205, 6solitare=>solitaire(al)
10259, 3If return type is void, why is it returning a value?(bp)
12245, 7deep Copy, wrong font, two words (should match line above)(nm)
12250, -11langauges=>languages(al)
15288, 5Previous definition (page 113) didn't include return type(jl)
15305Curly braces in Smalltalk code (see note below)
15307Question 12, What=>How (al)
16314Curly braces in Smalltalk code (see note below)
16318middle of page, anAchor.printAnchor()=>anAnchor.printAnchor()(nm)
16318http= quote marks have migrated to wrong place(js)
16321,13caret should be up arrow
16325Change Class Labels (see below)
16325,4effect of changing=>effect of changing the type of a(rz)
17340Curly braces in Smalltalk code (see note below)
17337, 5layoutManager => LayoutManager(bp)
18353,9, 13B.firstValue => collection.firstValue, similarly nextValue(dc)
19374, -9saw in Chapter 17=>saw in Chapter 18(nm)
21410, 8Description does not match code(en)
21410,17parameter data=>v(dc)
21422, -8question 4, first sentence, not a question?
21422, -7should be ``permit *a different style of reuse*..*than*(en)
24469Curly braces in Smalltalk code (see note below)
25480,2typeinfo => type_info(dc)
25481,14typeinfo => typeid(dc)
25487, 7facilities also exit=>also exist(zh)
A541Curly braces in Smalltalk code (see note below)
Glos572Def of co and contrvariance backwards(rz)
Index601co/contrvariance should point to 324(rz)

Longer Explanations of Errors

Chapter 1, Exercise 1
I've found I've needed to add an extra sentence to exercise 1 in chapter 1. Students otherwise tend to toss is random ideas and call it a hierarchy. Add the sentence ``Explain what relation links the various levels in your non-inheritance hierarchy''.

Curly Braces in Smalltalk Code (Pages 142, 305, 314, 315, 316)
In some places curly braces appear in the Smalltalk code headings. This is a remnant of some typesetting macros that were used in the production. The text between the curly brackets should be presented in bold, and the curly braces themselves omitted.

Direct Manipulation of Ball (Page 153)
After carefully saying in earlier chapters that one object should not directly modify the data fields in another, I then blythly rush ahead and have holes and balls modify the state of other balls. (Insert the sound of a hand being slapped here). I should have used functions to mediate this change.

Covariance and Contravariance (Page 325)
It has been suggested that the two hierarchies (Parent/Child and Animal/Cat) in the discussion on page 325 is confusing. This could be mitagated by changing the labels on the picture near the top of page 325 to be something like ``Parent (e.g. Mammal)'' and ``Child (e.g. Cat)''.


One or more of the errors reported above were discovered by the following individuals. I thank them for their careful reading.
Dave Conklin, student at Oregon State University
John Dalbey, Lecturer in computer science at Cal Poly.
Robert Grim, Intel corporation.
Zachary Heath, Student at Oregon State University.
Stephen Ko, Student at Oregon State University.
Amanda Leegard (aka Tim Dogg), MS student at Oregon State University.
Neville Mehta, MS student at Oregon State University.
Chuan Che ("Jacob") Lee, PhD student at Oregon State University
Ansuya Negi, MS student at Portland State University.
Eriko Nurvitadhi, MS student at Oregon State University.
Ben Pflaum, Student at Oregon State University
Jeremy Smith, Rogue Wave, Corvallis, Oregon.
Peter Squires, Comp Eng student at Concordia University
Rick Zaccone, Department of Computer Science, Bucknell University.

Reporting Errors

Report all errors to me at
Tim Budd, Associate Professor of Computer Science
Oregon State University
Corvallis, Oregon 97330