Dr. Wolfgang Christian

Office:  Dana 171

Spring 2000

Phone:  892-2322


Java: How To Program 2nd edition

by Deitel & Deitel


TTh      8:30  - 9:45


MWF 11:00 - 12:00,  TTh 10:00 - 11:00

(Please check the labs and the Science Computation Center in the basement of the Dana Science Bld. if I am not in my office.)


The Java programming language will be used to write programs (Java applets) and simulations with an emphasis toward investigating science problems using statistical, graphical and numerical methods.


It is responsibilities of the student to attend every class.  Each student is responsible for the material discussed and the announcements made.  Absence from class does not relieve one from this responsibility.  Attendance at reviews is mandatory.

Homework exercises and final projects, along with documentation, must be posted on the student's web site.

Java Texts:

There are many good Java Programming books that can be used for reference. Some books are introductory and easy to read but they don't have a lot of meat. Other books are more like reference manuals and you may find them intimidating until you have written a program or two and understand the basic concepts. Besides our text, I can recommend Thinking in Java by Bruce Eckel and Core Java by Horstmann and Cornell. A selection of books will be made available in the Physics Department's Science Computation Center.



A necessary but not sufficient condition for successful completion of PHY 200 will be mastery of the Java programming language and the Java programming environment.  This will be accomplished through the assignment of programming exercises throughout the term and a final project of your choice. There will be two reviews testing your knowledge of Java syntax and programming concepts and occasional quizzes.

Toward the middle of the term, you will be asked to select a final project.  Any topic that lends itself to computer analysis may be chosen.  Originality and creativity, as well as programming style and technique, will be evaluated.   This final project will count as your exam for the course.

Actual programs will depend on the interest and ability of the class, but a typical list of programming exercises might include:


1)      Getting a program to run and compile.
Writing documentation for the JavaDoc utility.

2)      Object Oriented Programming and Java classes. Solving the quadratic equation.

3)      Loops and control structures: Linear Regression

4)      Packages, methods and classes.

5)      Graphs.  Statistical Mechanics

6)      Matrices: Systems of Equations

7)      Numerical integration and differentiation:  Differential Equations

8)      Computer simulation:  "Game of Life" and/or Electric Fields 

9)      A final project of the students own choice


Complete projects should be posted on the web and emailed to the instructor as a ZIP archive.  This archive must contain the Java project source code and an html page contained a working Java applet.


                        Programs                                  50%

Reviews                                   20%

Final Project                             30%


Due to the wide range of prior computer experience for entering PHY 200 students, the final grade may be adjusted IF there is a marked improvement in the computer programming/numerical-methods component of a student's performance during the course of the term.



Technical problems are inevitable with computers, but computers have become a part of professional practice in the sciences; and you need to be able to deal with these problems.  Lost data due to scratched disks, bugs in programs or programmers, and a general computer-phobia are common. With proper and careful operating procedures, a little work and understanding, and some occasional humor these problems should go away.


        PLAN AHEAD: Start your programming projects early. You should not assume that computers will be available the night before a project is due.  You must turn in what you have completed on a project on the due date.  I may accept a revision of your work at a later date--if the problems that are truly beyond your control-- but I must see what you have done.

        MAKE BACKUPS:  Keep your work on at least two floppy disks.  Label the first disk WORKING and the second BACKUP. Always make backups of your existing code before you start a new programming session.

        ASK FOR HELP:  The CSC staff and I will be more than happy to help you.

        REPORT PROBLEMS:  Let the CSC staff and me know about problems as soon as they occur so that we can get them fixed.  Report your problems with email.

A general understanding of computers is helpful in many courses on campus; so you may also wish to enroll in CSC introductory short courses on Word or the Windows operating system, or html if you are new to computers. 



For the smaller programs the exchange of help, ideas and strategies among class members is encouraged; however, copying any portion of another student's work is a violation of the Honor Code.  The word Pledged and the due date, included as a comment at the beginning of the program, signifies your compliance with this requirement.  The only assistance a student may receive without violating the Honor Code for the Final Project is from your instructor, Dr. Christian.