| 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 codeString[] 
                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: JVMChapter 
                    2: Supplements: JVM Instruction Set 1Chapter 
                    3: Supplements: Objects and Classes in the JVMChapter 
                    4: Supplements: Class LoaderChapter 
                    4: Supplements: Class File Verifier Chapter 
                    5: Supplements: JVM Instruction Set 2 Chapter 
                    5: Supplements: Processing in the JVMUpdated 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 discussionJava Boards sectionSNAP 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 
                        classPixel 
                        handling with BufferedImageFlitering 
                        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 
                    FrameworkIterator 
                    & ArrayListGenerics 
                    - J2SE5.0Preferences 
                    APIConcurrency 
                    Utilities - J2SE5.0Enumerated 
                    Type - J2SE5.0StringBuilderString.split()Updating of the Arbitrary 
                Precision and Bit 
                Handling pages in the Chapter 10: Tech section. November 15, 2004 
              Extensive revision of Chapter 9 
                JavaChapter 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/OConverting 
                    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.0Added a page on Coding 
                    Conventions.. In Chapter 5: Tech 
                added a page 
                on System.out.printf() 
                added in J2SE5.0In 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 bookReordered 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 CollectionChapter 
                    3: Classes & Objects in the JVMChapter 
                    4: Java SecurityChapter 
                    4: Class File VerificationChapter 
                    4: Security ManagerChapter 
                    5: DebuggingChapter 
                    5: ScopeChapter 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 analysisSimulation of the physics and experimental setupAnalysis of data with the help of simulationsNetworking 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 packagesChapter 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 readyChapter 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 developmentChapter 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 HolderMoved 
                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: JavaAdded 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.
 |