Introduction to Programming Using Java, Seventh Edition
News and Errata
- December 4, 2018 -- A new edition, Version 8, of this book is now available at http://math.hws.edu/javanotes8.
- November 25, 2017 -- My CPSC 124 web site includes programming assignments as well as tests and quizzes from the current version of my Introductory Programming course. The Spring '17 version is also available.
- December 20, 2016 -- Version 7.0.2 is released, a minor upgrade from Version 7.0, with a number of mostly typographical corrections beyond those in Version 7.0.1. Thanks are due to readers who emailed me with corrections, especially John Ganci, who is responsible for many of the corrections in this version. I expect this to be the final release of the seventh edition of this book. Substantive changes from Version 7.0 are noted below. Older news can be found below the list of errors.
- December 16, 2016 -- I have just finished teaching an intermediate programming course based on Chapters 8 through 13 of this book. The web site, http://math.hws.edu/eck/cs225/index_f16.html, includes a set of programming assignments that were used in the course.
- March 19, 2016 -- I have added eBook versions of this textbook to the web site, in "epub" format and in "mobi" format for Kindle. They can be downloaded using links at the bottom of the front page. Note that there can be problems with the rendering of long lines in code samples, and that the problems will be worse on some devices. The eBook versions should be considered somewhat experimental. In addition to adding the eBooks, a very small number of errors (about a half dozen) have been fixed in the on-line and PDF versions, without changing the version number.
Errata for Version 7.0.2
This is a list of errors that have been found in Version 7.0.2. Errors in this list have been corrected in the on-line version, but not in the PDF or web site downloads or in the printed version.
- Section 1.3, in the diagram, interpreter was misspelled as interperter in the three places where it occurs in the diagram.
- Section 3.6.1, in the if statement that is supposed to be equivalent to the case statement, the first two groups of statements that are listed as statements-2 and statements-3 should actually be statements-1 and statements-2.
- Section 10.3.1, near the end, new Map<String,String>() is an error since Map is an interface, not a class. It should be new TreeMap<String,String>().
Errata for Version 7.0.0
This is a list of substantive errors that have been found in the original version, 7.0.0, August 2014. These errors have been corrected in the online version 7.0.2, but not in the print version from lulu.com. My thanks to the readers who reported the errors.
- Section 3.8.5, in the last code example, just before the end of the section, doubleProfit = 0.0; should be decemberProfit = 0.0;.
- Section 3.9.1, in the "alternative" code for the parallel lines example, for ( y = 50; y <= 140; y = y + 50 ) should be for ( y = 50; y <= 140; y = y + 10 )
- Chapter 4, Quiz Question #12, in the second for loop in the stripZeros method, the j++ in for (int i = 0; i < list.length; j++) should be for (int i = 0; i < list.length; i++).
- Section 5.1, almost at the end, If we want to talk about the name of student number 3, we can use student.name should be If we want to talk about the name of student number 3, we can use classlist.name.
- Chapter 6 Quiz Answers, in the answer to Question 12, code.setPreferredSize(dim) should be comp.setPreferredSize(dim)
- Section 7.3.1, end of second paragraph, This means that, unfortunately, you can have an ArrayList of int... should be This means that, unfortunately, you can not have an ArrayList of int...
- Section 7.5.1, in the lower part of the illustration of a two-dimensional array, the first item in the fourth row from the array is a 5 but should be a −5
- Section 9.4.2, in the method treeContainsNR, the two occurrences of node.item should be runner.item.
- Chapter 9 Quiz, in Question 2, to match the answer that I give, System.out.println("]"); should be System.out.print("]");
- Section 10.1.2, in the template for a C++ selectionSort function, for (int j = 1; j <= count ; j++) should be for (int j = 1; j <= i ; j++), and count should also be replaced by i in two lines later in the function.
- Section 10.2.5, pg should be pq in the definitions of the methods pg.add(), pg.remove(), pg.isEmpty().
- Section 13.4.3, in the definition of the example method "public Class<?> getColumnClass(columnNum)", else if (columnNum = 1) should be else if (columnNum == 1)
- Section 13.5, in the second paragraph, the URL for the improved Mandelbrot program was listed as http://math.hws.edu/eck/xJava/MB but should be http://math.hws.edu/xJava/MB.
- SimpleAnimationStarter.java, line 50, GrowingCircleAnimation drawingArea = new GrowingCircleAnimation(); should be SimpleAnimationStarter drawingArea = new SimpleAnimationStarter();
- August 1, 2015 -- Version 7.0.1 is released. This is a very minor upgrade of the original version 7, with a small number of corrections.
- August 1, 2014 -- Version 7 is released. Version 7 requires Java 7 or later. Note that with this version, the book no longer cover applets, and there are no applets in the on-line version. Readers are encouraged to download, compile, and run the examples. Links for downloading are available on the front page.
- May, 2014 -- Labs from my intro programming course for Spring 2014 are on the course web page at http://math.hws.edu/eck/cs124. The labs from Spring 2013 are also still available.
- January 4, 2014 -- Version 6.0.3 is released, with more small error fixes (many, once again, from Mark Cristy). I have also added, experimentally, EPUB and MOBI ebook versions of the text, available among the download links at the bottom of the index page.
- May 17, 2013 -- Version 6.0.2 is released, with fixes for many small, mostly typographical errors. Again, thanks to readers who sent in error reports, especially Mark Christy and John Ganci, who found many errors.
- May 17, 2013 -- The labs for my latest version of Introductory Programming are now on line at http://math.hws.edu/eck/cs124, with a number of new labs for this version of the course. (By the way, labs for older versions of the course -- such as those from Fall 2011, Fall 2009, and Spring 2006 -- are still available.)
- July 25, 2012 -- Version 6.0.1 is released. This is a very minor upgrade, fixing about 75 typographical errors and 3 small errors in sample program code. (The worst error was a reversal of the parameters data and newdata in a call to System.arraycopy() in Section 7.4.2.) The printed versions at lulu.com have not been updated. Thanks to readers who sent in error reports!
- July 24, 2012 -- Note: The web sites for the two-course sequence that I teach from this book (http://math.hws.edu/eck/cs124 and http://math.hws.edu/eck/cs225) now contain the 2011--2012 version of those courses, including a number of labs that were new this year.
- July 18, 2011 -- The applet in Exercise 3.7 was broken. It has been fixed (without changing the book's version number).
- June 1, 2011 -- Version 6.0 is released. The sixth edition adds a new chapter on threads and multiprocessing and some coverage of new features of Java 6 and Java 7. Thanks to many readers who wrote with suggestions and error reports, especially to Jeff Wexler who sent a large numbers of corrections.
- May 15, 2010 -- I have finished teaching CPSC 225: Intermediate Programming, based on the Chapters 8 through 13 of this book. The web site for that course can be found at http://math.hws.edu/eck/cs225. Also available is http://math.hws.edu/eck/cs124, the web site for a course based on Chapters 1 through 7. I will be teaching CS124 again this Fall at Hobart and William Smith Colleges.