Jun 02 2008

java textbooks

Published by matt at 20:39 under

I will probably end up writing about this again.

Java textbooks are painful things.

I did a quick survey of a number of popular titles in the introductory Java textbook space. I considered the title “popular” if I had seen it on the shelves at SIGCSE on a consistent basis over the last several years. By-and-large, there are a lot of textbooks I consider crap, and I consider them crap for a variety of reasons. Sometimes it is because the writing is dry and unappealing to me (let alone a novice). Sometimes it is because the book does a horrific job of structuring/pacing material. Generally, I consider them all too expensive.

I threw together twelve books and ran some numbers on them:

080602-java-textbooks2.png

The numbers to the right of each blob are the number of pages a student would have to read in order to get through the entire textbook in a 13-week semester. (I’m counting a week as lost to startup, and there is time lost to exams and the like as well.) The most expensive, and largest texts come in at over $120 and 1500 pages; this implies that students will read 120 pages per week while working exercises. Of course, no first-year computing student is going to read 120 pages of a mind-numbing textbook and do homework besides… not for just one of their four courses.

The smallest and cheapest text is not actually a CS textbook; at $10 and roughly 200 pages we have The Magus of Java, which has nothing to do with learning to program, but looks kinda neat. It is likely many introductory students would learn more from it than from the 1500-page beast at the other end of the spectrum…

The book in red is Objects First with Java. I’ve taught with it before, and as can be seen, it prices out well; it is expensive at $75 or so, but isn’t too large…. the student has less reading to do (per week) than many other books in that price range. That, and I’ve taught with the text more than once, and consider it to be a quality piece of work. In green is Java Programming for the Absolute Beginner, which has some reviews that make me think it would be a horrible choice for novices. The author would probably disagree, but the comments on that text set off warning bells.

I tend to agree with many of the philosophies of Allen Downey (whom I’ve had the pleasure of working with this past year) with respect to textbooks. He has published How To Think Like a Computer Scientist as a freely available text. What I particularly like is that he strives to keep each chapter short, so that a teacher can reasonably expect that students might read the material. It may be that I’ll have to write my own text this coming semester, focusing on basic mastery of syntax as well as concepts, utilizing both repetition (for mastery) as well as more open-ended problems (to encourage creativity and collaboration), all while keeping each chapter/learning unit as short as possible (for digestability).

We’ll see what happens; for now, this is just a long-winded rant-ish. But it is a problem/question/situation I need to deal with over the course of the next month.

2 Responses to “java textbooks”

  1. Markon 02 Jun 2008 at 22:17

    I’ve decided to go with Downey’s “Think like a Python Programmer” for this fall, and I’m so glad it’s open source. I’m rearranging the chapters and sections to match with my teaching style. I like it’s compactness and direct focus, but I’ll be supplementing it with in and out-of-class labs to give the students time to really drill on the concepts. And my students will be very happy that it’s free.

    I don’t know about Java and the Absolute Beginner, but I’ve looked over the Python book in that series. They get you going with very specific exercises to get you programming, but don’t have nearly enough of the reflection and creativity you should be emphasizing in a CS1 course.

    Last semester I used An Introduction to Java Programming, an Interdisciplinary Approach from Sedgewick and Wayne, and it turned out to be a mixed bag. There was too much physics applications for my students, but the graphics package they have was very helpful for getting them up to speed with making some interesting applications, and I appreciated the focus on running javac from the command line.

  2. Erik Petersonon 04 Jun 2008 at 06:50

    DormTrader might save you $$$ on the textbooks you need: http://apps.facebook.com/dormtrader?ref=blog.

    I’m just wrapping up the development. If you check it out, I’d appreciate any feedback. Also, do consider this comment helpful or spam? It’s a fine line to walk and I’m still learning.

Trackback URI | Comments RSS

Leave a Reply