Resources: Textbook

CS 101 & 101-E

Home | Resources | Homeworks | Exams | Slides | Labs | Contacts | Submit | Forums

If you did not buy a shrink-wrapped version of the textbook from the UVa bookstore (the book has a purple stripe at the top), then you MUST read through this page, as it may affect your course grade.  Do not throw out the CodeLab license that comes in the shrink-wrap, or else you will have to buy a new one for $25.

There are three versions of the textbook floating around.  The difference is which version of Java they use; they also have slightly different titles.

Java Program Design
Uses Java version 1.4
Note there is no stripe at the top
  Java 1.5 Program Design
Uses a pre-1.5 version of Java
Note the silver stripe at the top
  Java 5.0 Program Design
Uses the normal 1.5 version of Java
Note the purple stripe at the top

Java version 1.5 is also called Java version 5.0 - it's the same version, but with two different version numbers.  Because of the confusion with the version numbers, this web page will refer to the books as the 1.4 version, the silver version, and the purple version, respectively.

If you do not purchase a new purple version of the textbook from the bookstore, it will not come with the CodeLab license, and you will have to purchase this for $25.  This includes using a friend's textbook, buying it used, buying an older version, or buying it from somewhere other than the bookstore (we do not know of any other stores that sell the purple version of the textbook with the license).  You are welcome to do any of these, just realize that it will cost you $25 more (how to purchase such a license will be gone over in the beginning of the course).  The CodeLab license that comes with the purple version of the textbook from the bookstore looks like the following:



If you throw out (or lose!) the license, you will have to pay $25 for a new one.  If you are registering for CodeLab (via, the section access code is VIRGIN-7589-1797 for CS 101 students, and VIRGIN-4228-1796 for CS 101-E students.  We will go over the registration process during the first or second class, though, so no need to register now.

You are welcome to use the silver version of the textbook (it's a lot cheaper); however, we do not recommend you use the 1.4 version of the textbook.  A number of online places (such as Amazon) sell one version with the wrong picture (the silver version has the picture of the 1.4 version).  Note that the titles of the three versions are all different - specifically, which number (if any) is after the word 'Java' in the title.  So buy it based on the title.  There are multiple ISBNs for each book, so listing the ISBN numbers will just create more confusion.  Amazon sells the silver version for $31 (and you have to pay $25 more for the CodeLab license), and the purple version for $93 (and you also have to pay $25 more for the CodeLab license).

The official textbook for this course is the full 5.0 version (the right-most one shown above) with the purple stripe at the top.


Differences between 'silver' version and the 'purple' version

The big difference between the pre-1.5 version of the textbook and the regular 1.5 version has to do with the creation of a Scanner object (we will be going over Scanner objects in the beginning of the course).  The pre-1.5 version has:

Scanner stdin = Scanner.create (;

This will not work in the regular 1.5 version of Java.  Instead, you need to use:

Scanner stdin = new Scanner (;

Note that the bolded part is the part that has changed.  Don't worry if you don't understand what this means yet - we will be going over it in more detail in the course.  You must use the new Scanner version of the code throughout this course; not doing so will cause a big deduction of points from your homework/exam/lab.  No exceptions!  Note that there is also differences between how iterators work, but we probably won't be getting to iterators in this course.


Differences between the 1.4 version and the purple version

There are many differences between Java version 1.4 and version 1.5 (aka version 5.0).  Therefore, we do not recommend you use this version of the textbook.


Last updated on [an error occurred while processing this directive]