May 22, 2008
- Prompted by a reader, a note was added to the Bitwise Operations
table in Chapter
2: Java Operators about the fact that such operations on byte
and short types may give unexpected
results.
- Prompted by a reader, I fixed typos in the code for the "edward"
example in the Multi-Dimensional Arrays section of the Chapter
4: More about Arrays page.
November 3, 2006
- Added links to the site Java
Swing Tutorial | Swing Examples - Hemanth Balaji on the Resources
page and in several sections dealing with Swing.
- With regard to port handling in Chapter
23, the page Installing
Java Tools - PracticalEmbeddedJava.com offers good advice
on installing javaxcomm.
- On Chapter 6: Java:
User Interface (UI) Layout, matched the code listing for InputsPanel.java
with that in the actual code file. (Via reader feedback)
- On Chapter 6: Java:
Drawing, matched the code listing for for DrawingPanel.java
with that in the actual code file. (Via reader feedback)
July 28, 2006
- A reader spotted an error in the example code for ".String.split
()" on the botton of the Java:
Chapter 10: String Tools page. In the code
String[]
starwords = str2.split ("\\*");
the two backslashes are needed. Otherwise, it is an improper use
of the * wildcard in regular expressions and an error message
will result. The backslashes cause the * to be treated as a normal
character and the split operation uses it as the delimiter in
the string.
May 24, 2006
- Added two entries to the Book Errata page
for p.65 and p. 107.
- Chapter 11:
Pixel Handling: for the demo program AnimationApplet.java,
the pixel handling code in the newFrame() method
code was changed from
fPixels[index++] = (255 << alpha)
| (red << 16) | (green << 8) | blue;
to
fPixels[index++] = ( alpha <<
24) | (red << 16) | (green << 8) | blue;
- Chapther
11: Supplements: Pixel Handling, same fix to AnimationWritableRasterApplet.java.
May 9, 2006
- Sample questions for the final exam are available
here.
April 30, 2006
- After a reader pointed out an error on this page - Java:
Chapter 10: Concurrency Utilities with regard to the shutdown
() method (incorrectly given as an Executor
class method), that part was rewritten.
March 26, 2006
- A reader pointed out on this page - Java:
Chapter 10: String Tools, that the class java.lang.StringBuffer
had been incorrectly written as java.util.StringBuffer.
March 20, 2006
- Added link to www.freejavaguide.com
tutorial site in Resources page
- Added link to the report
by J.P.Lewis and Ulrich Neumann on list of Chapter
10: Java Benchmarks references.
March 8, 2006
- Responding to feedback from a reader, on the Code
Index page several source code links that were mistakenly
linked to the ".class" file were fixed to link to the
".java" file.
- Also added links to resources, i.e. any images, text files,
etc., that were used in the demonstration programs.
- Added Visualization of Brownian Motion
to the Physics Applets list in the Resources page.
Feb 4, 2006
- Part 1: Tech
: Chapter 9: Histogram I/O - added missing link to HstFilter
class. Also, for this
page. (Fixes via feedback from readers.)
- Part 1: Supplements: Chapter 11: Rescaling... - Fixed typo and
a missing item in code example. (Fixes via feedback from readers.)
December 16, 2005
- Part 1: Physics
: Chapter 12 - added a list of links to and descriptions of
math and physics related code libraries. Created a demo using
the JAIDA software packages that provide plotting, histogramming,
and fitting tools.
- Part 1: Tech : Chapter
12 - added a list of links to and descriptions of tech related
code libraries, including charting.
November 8, 2005
- Part 1: Physics
: Chapter 10 - demonstration of physics experiment simulation/analysis
software with the simple falling mass example.
- Part 2: Physics
: Chapter 11 - expand on the falling mass software to include
calibration of instrument effects and systematic errors.
Oct. 25, 2005
- For Part 1: Physics : Chapters 5-9, the program names and code
were updated to conform to the coding conventions discussed in
Chapter
5: Java.
- Part 2: Chapter 15
- some minor revisions to the comments in the code for the client/server
simulation demo were updated.
Oct. 18, 2005
- For Part 2: Chapters 16 - 21 and Part 3: Chapter 22, resource
lists were expanded with more links to relevant web articles and
websites.
- Chapter 24: More
Javelin Demos - documentation and Java class files added for
two student projects using the Javelin processor.
Oct. 15, 2005
- For Part 2: Chapters 18, 19, and 20 plus Part 3: Chapter 22,
the code files for the examples discussed in the book are posted.
Also, the code listings are displayed in the corresponding chapter
web course sections.
- The above codes were added to the Code
Index page.
- For Part 2: Chapters 16-21 and for Part 3: Chapter 22, links
to related resources on the web have been posted and will be expanded
over time.
Oct. 7, 2005
- Added additional material and links for the Java Advance Imaging
(JAI) API to Chapter
11: Supplements: JAI.
Oct. 6, 2005
- Added additional material and also updated the discussions of
the JVM in
- Chapter 1:
Supplements: JVM
- Chapter
2: Supplements: JVM Instruction Set 1
- Chapter
3: Supplements: Objects and Classes in the JVM
- Chapter
4: Supplements: Class Loader
- Chapter
4: Supplements: Class File Verifier
- Chapter
5: Supplements: JVM Instruction Set 2
- Chapter
5: Supplements: Processing in the JVM
- Updated the discussion of the new concurrency tools for Java
5.0:
- Chapter
8: Supplements: More about concurrency
- Chapter
10: Java : J2SE5.0: New Concurrency Utilities
Oct. 1, 2005
- Added a discussion of piped threads to the Chapter
9 Supplements section. Includes a demonstration application
program.
Sept 29, 2005
- Chapter
7: Supplements: Enhanced UI: Part 1 and Part
2 provide examples of techniques for enhancing the appearance
and functionality of GUIs.
Sept 22, 2005
- Updated the Program and Source Code
list to include all programs currently on the website.
- In the course of doing this, lots of bad links and miscellaneous
typos and mistakes were fixed.
- Code directories were reorganized according to chapters rather
than type of program.
- A number of programs still need to be added to the website,
e.g. much of Part 2 and Chapter 22. After these missing programs
are added, a zip file with all programs and source files will
be made available for downloading.
August 19, 2005
- Added an overview of the RandomAccessFile
class in Chapter
9: Supplements: RandomAccessFile.
August 18, 2005
- Added an overview of NIO classes and techniques in Chapter
9: Supplements: NIO.
- Chapter
9: Supplements: More NIO discusses how to use ByteBuffer
as an alternative technique for treating bytes in an array as
different primitive types. Modified code for the example in Chapter
9: Tech: Histogram I/O is provided.
July 7, 2005
- Chapter
9: Supplements: ZIP/GZIP orivudes a description of the file
compression/decompression tools available in java.util.zip.
A demonstration
application program is included.
June 25, 2005
- A set of pages and demo programs about fractals
was added to the Chapter
11: Tech section.
- In Chapter 4:
Tech: Improved Complex Number Class the Complex
class is presented as shown in the book. A Complex_std
class, which is the same except that the variable names are in
the coding convention style discussed in Chapter
5, is also linked to.
- In Chapter 6: Tech:
Plot Demo the comments in PlotPanel.java
were expanded and clarified to make the class more understanable.
June 14, 2005
- Updated the discussion of complex number classes in Chapter
3: Tech: A Complex Number.
- In Chapter 4:
Tech: Improved Complex Number Class an revised Complex
class is presented.
- The new page Chapter
5: Tech: Immutable Complex Number Class is added. It describes
the complex number class ComplexImm
in which the real and imaginary values cannot be altered once
an instance is created.
May 16, 2005
- Our editors at Cambridge Univ. Press thought that "Introduction
to ...." rather than "Topics in ..." was a better
title for our book, so we have updated the name of the companion
web course here.
Apri1 27, 2005
- Added a Course Guide for students
at the Royal Institute of Technology who are taking courses based
on this material.
January 31, 2005
- Chapter
5: Tech: System.out.printf()
page updated to include new links and some editing.
- Chapter 5: Tech:
Core Java Format Class page updated to note that the Format
class from Core Java has been made obsolete by java.text.Formater
and System.out.printf().
December 13, 2004
- Chapter 24 is revised and updated
with modified demo codes, links, new pages, and text.
- Expanded Real-time
computing discussion
- Java Boards section
- SNAP Web
Server example is added
December 13, 2004
- Chapter 23 is revised and updated
with modified demo codes.
December 12, 2004
- Chapter 15 is revised and updated
with modified demo codes.
December 10, 2004
- Chapter 14 is revised and updated
with modified demo codes.
December 9, 2004
- Extensive revision of Chapter 13
along with new demos.
December 8, 2004
- Extensive revision and expansion of the Chapter
12 Java section along with new demos.
December 5, 2004
- Extensive revision and expansion of the Chapter
11 Java and Supplements tracks:
- Java track
is reorganized and has revised demo programs.
- A
program to demonstrate the alpha transparency factor is
added.
- Supplement
track has a a lengthy overview of Java 2D Imaging tools
and techniques with pages and demos on
- BufferedImage
class
- Pixel
handling with BufferedImage
- Flitering
images - includes pages and demos on 6 types of filters.
November 19, 2004
- Extensive revision and expansion of Chapter
10 Java. It now includes pages on
- Collections
Framework
- Iterator
& ArrayList
- Generics
- J2SE5.0
- Preferences
API
- Concurrency
Utilities - J2SE5.0
- Enumerated
Type - J2SE5.0
- StringBuilder
- String.split()
- Updating of the Arbitrary
Precision and Bit
Handling pages in the Chapter 10: Tech section.
November 15, 2004
- Extensive revision of Chapter 9
Java
- Chapter 9: Java
reorganized and expanded
- Formatter
and Scanner
classes discussed for formated input and output, resp.
- Discussion of character
encoding added. Includes modified demos for Unicode.
- Object I/O
- Converting
primitive types to byte arrays and vice versa.
- Discussion of I/O classes as sources,
destinations, and filters.
- Chapter 9: Tech
- revised and updated the demo programs.
November 9, 2004
- Extensive revision of Chapter 8
Java including more demonstration programs.
- Added a "More
Thread Topics" page with brief discussions of thread
groups, daemon threads, etc.
- Codes in all but Physics track rewritten according to the Coding
Conventions.
November 3, 2004
- Extensive revision of Chapter 7
Java including more demonstration programs.
- Added a second
page about BoxLayout,
CardLayout,
and JTabbedPane..
- Codes in all but Physics track rewritten according to the Coding
Conventions.
October 30, 2004
- Extensive revision of Chapter 6
Java, Supplements, and Tech tracks.
- Codes in all but Physics track rewritten according to the Coding
Conventions.
- Supplement section split between pages giving an intro to AWT
and the pages giving an intro to Java2D.
- In Tech section,
more text description of the plotting
classes added.
October 25, 2004
- Extensive revision of Chapter 5
Java track.
- Added a page on the static
import directive added with in J2SE5.0
- Added a page on Coding
Conventions..
- In Chapter 5: Tech
added a page
on System.out.printf()
added in J2SE5.0
- In Chapter 5: Supplements added a page
on the Pack200 tool.
October 21, 2004
- Extensive revision of Chapter 4
Java track.
- Added a new demo
for inheritance.
- Added a summary
page about classes and objects.
- Added a Supplements
page about annotation, which came with Java 5.0
October 20, 2004
- Extensive revision of Chapter 3
Java track.
- Moved Overloading
discussion from Chapter 4 to Chapter 3.
- Added an array
demo.
- Added a discussion and a demo for the Autoboxing/Unboxing
capabilities added with J2SE5.0.
- In process of updating the Code Listing.
October 15, 2004
- Extensive revision of Chapter 2:
- Updated materials to be more consistent with the book
- Reordered the pages in the Java
section.
- Updated the floating-point discussions in the Chapter
2: Tech section.
October 13, 2004
- Extensive revision of Chapter 1:
- New pages giving a Java
5.0 overview in the main Java track plus more details
in the Supplements.
- Examples of Java in real-world applications
in science and technial fields.
- Miscellaneous corrections and modifications to the text,
and extra links added.
- Starter codes cleaned up. (A coding
convention discussion will later be added to Chapter 5.)
October 8, 2004
- For the past few months we focused on the book manuscript. Now
that it has been submitted, we will return to updating and maintaining
the websitel. In the course of writing the book, we modified many
of the programs here and added a lot of new topics.
For example, the book discusses the new version of Java just released:
J2SE
5.0. This version provides a number of features of particular
interest to those in technical computing such as numerical text
formatting with the Formatter
class and the printf()
method in PrintStream().
We will therefore modify the materials here to include these new
techniques.
- Updated the Course Map, About
JavaTech, and the home page.
March 23, 2004
- Updated some pages and programs in Chapter
11: Java for images. Will be making more substantial changes
to this chapter soon.
March 13, 2004
- Part 2: Chapter 15: Server-Clients
with Sockets - complete rewrite and new demo programs. Still
rough draft but all the basic elements are there.
March 2, 2004
- Chapter 8: Physics
- completed the page dealing with fitting polynomials to data
points. Includes a demo applet.
Feb. 29, 2004
- Chapter 12: Java
- added a couple of exercises to the Java part of Chapter 12.
Feb. 28, 2004
- Chapter 6: Tech
- added a new page with a demo that develops a DrawPanel
class that allows for instances of DrawFunction
subclasses to overlay different types of drawings (points, curves,
etc.) on the panel display.
- Chapter 6: Physics
- changed the data plotting demo to use the DrawPanel
class.
- Chapter 8: Tech
- added a page on displaying histogram entries with points and
error bars rather than vertical columns.
- Chapter 8: Physics
- this whole section is reorganized and now starts with a discussion
of least squares fitting to data points.
- Chapter 9: Physics
- discussion of the analysis software design and a new demo.
- Chapter 6- 7 for both the Tech and Physics tracks there are
many pages with corrections and updates.
Feb. 1, 2004
- Chapter 7: Tech
- sections with demos on generating non-uniform random number
distributions are completed.
- Chapter 7: Physics
- sections on generating custom random number distributions are
completed.
- Chapter 9: Physics
- Demonstration of simulation of an experiment is completely revamped
and mostly completed.
Jan. 22, 2004
- In the Chapter
1: Getting Started page I added some links to the expanded
section at java.sun.com on getting started in Java.
- In the Chapter
1: Programming Tools page I added a note
explaining about the target option in the javac compiler.
Jan. 9, 2004
- Chapter 14 rewritten with extra
material and new codes.
Dec. 24, 2003
- Chapters 12 & 13 updated.
Dec. 18, 2003
- Modified Chapter
1: Java : Getting Started to include some book recommendations.
- References also updated with some
additions and subtractions.
Dec. 15, 2003
- Proofed Chapter 3.
Dec. 12, 2003
- Proofed Chapter 2.
- Chapter
10: String Tools - now discusses String
class methods in addition to StringBuffer
and StringTokenizer
Dec. 10, 2003
- Another round of proofing, starting with Chapter 1.
- Chapter 10: Tech - added material on the arbitary
precision number classes and on bit
handling.
- Chapter 11: Supplements - modified and updated the AWT image
flicker discussion.
Nov. 4, 2003
- Draft version of Chapter 22 including Java port I/O.
- Further revisions to Chapter 23.
Nov. 4, 2003
- Revised draft version of Chapter 23 on Embedded Java.
Nov. 3, 2003
- Draft version of Chapter 23 on Embedded Java loaded.
Oct. 13, 2003
- Created or updated several supplement sections including:
- Chapter
3: Garbage Collection
- Chapter
3: Classes & Objects in the JVM
- Chapter
4: Java Security
- Chapter
4: Class File Verification
- Chapter
4: Security Manager
- Chapter
5: Debugging
- Chapter
5: Scope
- Chapter 5:
JRE
Oct. 9, 2003
- Updated the Java section of Chapter 4 with fixes for typos,
phrasing, etc.
Oct. 7, 2003
- Merged the More Basic & More Advanced supplements into a
single "Supplements" section.
- Eliminated many bad intra-site links.
Oct. 2, 2003
- Chapter 4: Java section has been proofread and some additional
material included on some pages.
- Chapter 4: Advanced section has expanded material on the ClassLoader
and Class class page.
Sept. 30, 2003
- First 3 chapters have been cleaned up with a major proof reading
and additional discussion material added. Will continue this processs
for the other chapters over the next week or so.
- Expanded discussion of floating point representation in Java
in Chapter 2:
Tech: FP.
- Garbage
Collector discussion added to Chapter 3: Advanced.
- Added "Start" to the names of all the starter template
programs.
Sept. 4, 2003
- Over the past month several updates were made including:
- Part II was split into two sections. Part II is now dedicated
to networking topics while Part III looks at interactions
between the Java program and the platform such as accessing
serial/parallel ports and using hardware Java processors.
- Chapter 9: Tech
section now includes demo programs that use histograms
to illustrate saving/retrieving of class data, streaming of
data to a target, saving/retrieving data types to/from a byte
array, and filtering the stream.
July 25, 2003
- Over the past few months the site has been reorganized and several
more sections have been completed to a beta level:
- Reduced Part I to 12 chapters from 16.
- The physics track reorganized into a short course approach
on the basics of the types of programming required for experimental
work. The topics include
- Basics of numerial analysis
- Simulation of the physics and experimental setup
- Analysis of data with the help of simulations
- Networking topics were moved to Part II.
- The Advanced track will include a series of pages describing
the JVM. This will be related to the discussions in other sections
about Java performance and hardware.
- The Tech track in Chapters 7 and 8 now include pages and programs
on random distributions, adding statistics and data saving to
histogram classes.
May 14, 2003
- Chapter 7
Physics : Monte Carlo page with demo is ready.
April 21, 2003
- Chapter 6 Tech
and Physics section
now ready for use. Will later add some more numerical methods
pages to the Physics section.
April 19, 2003
- Renamed the helper programs from "Shells" to "Starters"
to make it more clear what they are for.
- Code Index - updated the entries
for the Starters. (Need to add a number of programs to the other
tables.)
April 7, 2003
- Chapter 14: Java - overview of several topics such as the Class
class, reflection, other APIs, etc.
- Chapter 5: Java
: CLASSPATH - how to setup the CLASSPATH
environment variable for finding user packages
- Chapter 5: Java - JAR
Files - more information added running applications from JAR
files.
- Chapter 6: Java -
Images - more information on obtaining image files with applications
and from JAR files.
- Chapter 1:
Advanced : Plug-in - a page on how to set up web pages to
initiate installation of a plug-in with the latest JVM.
- Chapter
1: Advanced : Target Users - deals with the issue of what
version of Java coding to use and how to insure that users for
your programs have a suitable JVM to run your program.
- Chapter
5: Advanced : Class Loading - an overview of the how classes
are actually loaded into the JVM.
- Chapter 5: Advanced
: Javadoc - discusses the Java tool for automatic creation
of class and package documentation.
April 3, 2003
- Chapter
11: Basics : AWT techniques for reducing flickering in fasting
changing graphics.
- Chapter 13: Java : Networking
- basics of using Java for network applications.
March 28, 2003
- Chapter 12: Java :
Tips & Techniques - now ready
- Chapter 11: Java :
Image Handling & Processing - now ready
- Chapter 10: Java
: Utilities & Other Tools & Resources - now ready
March 26, 2003
- Chapter 9: Java :
IO - this introduction to IO section is now ready.
March 25, 2003
- Chapter 8: Java :
Threads - this introduction to threads section is ready
March 21, 2003
- Chapter 7: Java
- Event handling and more GUI development
- Chapter 7:
Physics - needs work but exercises can be worked on.
- Chapters 8-14 : Java sections - older pages from previous course
converted for this one, but these pages need revamping plus new
and additional demo programs.
March 12, 2003
- Chapter 6:
Advanced: Java2D - overview and examples of Java2D graphics.
March 11, 2003
- Chapter 4: Java:
Interfaces - discuss the use of interfaces for callbacks in
place of the function pointer technique in C.
Chapter 5: Tech: Interfaces as Constants Holder Moved
to Chapter
5: Java: Interfaces with Only Constants.
February 26, 2003
- Chapter 5: Physics
is now ready for study. Includes an overview of interpolation
and integration techniques.Two demos provided.
February 24, 2003
- For the Chapter
4: Physics all the equations in text were replace by image
formulas.
February 21, 2003
- For the Chapter 5:
Tech section the DecimalFormat
and other formatting pages were added along with 4 demo programs.
February 17, 2003
- Added pages on the Shooting
method for solving ODEs with boundary conditions. Includes
a demo. Will
substitute the current text equations with math images later.
- With the inclusion of an exercise on the shooting method, Chapter
4 is now available for study. Still remaining are some supplementary
materials.
February 12, 2003
- Did a bit of housekeeping on the resources
page but lots more left to do.
- Added two books - Number Cruncher and the Object-Oriented Implementation
of Numerical Methods - to the math
references.
February 11, 2003
- Chapter 4: Physics
now includes pages for the 2nd
& 4th
order Runge-Kutta algorithms. Also, includes three exercises.
Still need pages for boundary value problems and the shooting
method. Otherwise, the chapter is ready.
- Chapter 4: Tech
now includes pages on improved complex
number and histogram
classes. Also, a page on vector
and matrix representations added.
February 9, 2003
- Added an index at the bottom of the page for each of the chapter
sections for fast access.
- Chapter 3 :
Physics : added some additional exercises.
February 6, 2003
- Began maintaining the code index.
Will keep track here of all demos, programs, class, and starter
source codes.
- Added a demo
of static methods
to Chapter 3: Java
- Added additional info in Chapter
4: Arrays about multi-dimensional arrays and about bounds
checking.
- Added a page on the final
modifier and constants to Chapter
5: Java
February 2, 2003
- Put math font images put into rest of the Chapter
2: Physics & Chapter
3 Physics equations.
- Chapter 3 is now suitable for study.
The supplements are missing some pages, which will be added later.
The Tech and Physics sections are basically complete, though more
exercises will be added.
February 1, 2003
- Added a section and demo program on root
finding and the bisection method to Chapter
3: Physics.
- Also added a couple of exercises
to that chapter.
January 31, 2003
- Modified the array
page in Chapter 3: Java and added an additional array
page to Chapter 4:Java.
- Modified the complex
number class in Chapter 3: Tech and added an additional page
about an enhanced
complex number class to Chapter 4: Tech
- Added pages to both the Tech
and Physics sections
of Chapter 3
January 30, 2003
For the ODE and predictor-corrector pages in Chapter
2: Physics, I replaced the equations in text with image versions
displaying genuine math forms.
January 27, 2003
Refined the introductory pages of Chapter
1 & Chapter 2 to make them
more readable. Added some miscellaneous details to other pages of
Chapter 1 & 2, as well.
January 25, 2003
- Created this page and the Status
Map of the web materials.
- Chapter
2 Physics section added an intro
to the Predictor-Corrector and a demo
page.
- Added information in the Chapter
1: Compatability and Getting
Started pages about the need to target explicitly the output
of the compiler for 1.1 virtual machines.
- Start to add "Problems" to some pages.
These will be optional explorations for the students and not count
towards the exercises needed for course credit.
|