Good Textbooks for Object Oriented Programming?
Captain_Frisk asks: "My buddy and I have recently received approval to teach a programming course at our Alma Mater. We have pretty much free reign over what we teach, so we've elected to teach 'An Introduction to Object Oriented Programming,' to fill a void at a school where the only programming languages taught are C and Matlab. Can anyone out there recommend some good books for the course, not just for the students, but for us to read as preparation material? We've never taught a class before, and as graduates of this school, we've never had any formal training in OOP. I read a few books at work a few years back, but I don't remember their names, nor did they strike me as particularly memorable. So far I've looked at An Introduction to Object-Oriented Programming and Object-Oriented Software Construction, 2nd Edition (a book reviewed at Slashdot 3 years ago), but have not invested in either."
for a free smalltalk implementation, check out Squeak. But if they know C, throw Java at them. Free tools that work on most any platform, plenty of good books (c.f. Thinking in Java by Bruce Eckel, which you can read online in a variety of formats (scroll down some on that page)), and not a huge syntactic leap to get in the way of the OO concepts, yet enough of one that they can't just code "C in C++". I've always been fascinated by Obj-C but I've had little luck finding good intro material.
:-)
HTH
News for Geeks in Austin, TX
Well, I've done a Java for juniors and seniors who already know OOP here at VT. In the past we have used the Core Java Volume 1 book, but that's not appropriate to your audience, since they don't already know OOP.
Take a look at Java Software Solutions (Addison-Wesley, author=John Lewis), if you are looking for a book tied directly to a language that the students will be working with. (Shameless plug: John was my Master's advisor, and I contributed to the text). It's been very well received at the collegiate level and is well supported. Since your students know C, they may be able to skip a few intro chapters on programming, data types, etc... or at least get through them quickly.
Deitel and Dietel's Java texts are also popular.
If you are looking for only a discussion of OOP topics and not bound to a particular language, I can't be of too much help there, I've not perused any of those recently.
One final point. Please consider attending SIGCSE (http://www.cs.cofc.edu/sigcse2002) in February. It's an invaluable resource for computer science instruction for both new (novice) and old (er, experienced) instructors. SIGCSE is a great place to make contacts, get help on related issues, check out the texts, etc....