|
Scientific Simulations in JavaMATHSC 481/983 Special
|
|
|
Spring Semester, 2000 Instructor: Daniel D. Warner, 656-5244 Office: Martin Hall O-203, Hours: 9:00 - 10:00 & 13:30 - 14:15 MWF Classroom: Martin Hall M-301 Class Times: 11:15 - 12:05 MWF |
Last updated on January 22, 2000. |
|
Because of its Object Orientation, its Platform Independence, and its tight specifications on arithmetic operations; Java is an appealing language for the development of Scientific Simulations. Since Java based simulations can be distributed in the context of web-based documentation, such Java based simulations can greatly enhance the dissemination of scientific knowledge and can substantially improve scientific training particularly in the area of understanding complex models.
This course will focus on developing Scientific Simulations written in Java and distributed through the World Wide Web. The course will be project oriented and will involve the development of interactive web-based simulations of scientific topics chosen by the students.
Topics:
- Review of the Fundamentals of HTML and JavaScript (as necessary).
- HTML stands for Hypertext Markup Language. HTML tags are added to the basic text of a web page to tell the browser how to format the text, and what additional items to include on the displayed page. These additional items can include graphics, sound, animation, movies, 3D VR scenes, and Java applets.
- Key Programming Topics:
- Overview of Java syntax,
- Modeling with Objects,
- Inheritance and Polymorphism,,
- The Abstract Windowing Toolkit,
- Swing and the Java Foundation Classes, and
- Threads, Events, and Exceptions in Java 1.2.
- Key Topics in Scientific Simulation:
- The "Model - Viewer - Controller" paradigm for simulation software, and
- The Power of Objects in Modeling, and the Pitfalls in Performance.
- Key Topics in Scientific Computing:
- Rudiments of Rounding Errors and Floating Point Arithmetic,
- Solving Systems of Linear Equations,
- Solving Systems of Nonlinear Equations,
- Eigenvalues, Eigenvectors, and the Singular Value Decomposition,
- Solving First-Order Systems of Linear Differential Equations, and
- Solving First-Order Systems of Nonlinear Differential Equations.
Textbooks:
There are so many Java books on the market that there will be no required text. O'Reilly & Associates has a useful but somewhat out of date bibliography which describes some of the leading works in various categories.The syntax of the Java language is quite simple. However, the libraries included with the Java runtime are very extensive, and a reference book of some sort is absolutely essential. I would are highly recommend any of the following books.
- Java in a Nutshell: A Desktop Quick Reference, 3rd Edition
by Dennis Flanagan.
O'Reilly & Associates, 3rd Edition November 1999
628 pages, $29.95, ISBN: 1-56592-487-8The third edition of this bestselling book covers Java 1.2 and 1.3. It contains an advanced introduction to Java and its key APIs and provides quick-reference material on all the classes and interfaces in the following APIs: java.lang, java.io, java.beans, java.math, java.net, java.security, java.text, java.util, and javax.crypto.- Java for Engineers and Scientists
by Stephen J. Chapman
Prentic Hall, 1999
572 pages, $65.00, ISBN: 0-13-919523-8From the very beginning, this concise introduction to Java develops and executes practical examples useful for solving problems in an engineering environment. Focused on the proper way to write reliable Java programs, it outlines excellent software development practices; uses a top-down design technique to break the program up into logical portions; and demonstrates object re-usability by building later examples on the classes and methods created in earlier examples. The text makes learning an interactive experience by providing all sources for all examples through a Website.- Java Foundation Classes in a Nutshell, A Desktop Quick Reference
by David Flanagan
1st Edition September 1999
748 pages, $29.95, 1-56592-488-6Java Foundation Classes in a Nutshell provides an in-depth overview of the important pieces of the (JFC), such as the Swing components and Java 2D. It also includes compact reference material on all the GUI- and graphics-related classes in the numerous javax.swing and java.awt packages. Covers Java 1.2.- Java Enterprise in a Nutshell, A Desktop Quick Reference
by David Flanagan, Jim Farley, William Crawford & Kris Magnusson
1st Edition September 1999
622 pages, $29.95, 1-56592-483-5The Java Enterprise APIs are essential building blocks for creating enterprise-wide distributed applications in Java. Java Enterprise in a Nutshell covers the RMI, Java IDL, JDBC, JNDI, Java Servlet, and Enterprise JavaBeans APIs, providing a fast-paced tutorial and compact reference material on each of the technologies. Covers Java 1.2.- Java Examples in a Nutshell, A Companion Volume to Java in a Nutshell
by David Flanagan
1st Edition September 1997
414 pages, $24.95, 1-56592-371-5From the author of Java in a Nutshell, this companion book is chock full of practical real-world programming examples to help novice Java programmers and experts alike explore what's possible with Java 1.1. If you learn best by example, this is the book for you.- Exploring Java, 2nd Edition
by Patrick Niemeyer and Joshua Peck
O'Reilly & Associates, 2nd Edition September 1997
614 pages, $32.95, ISBN: 1-56592-271-9This tutorial is written for Java users who already have a fundamental understanding of computer programming principles. With a practical, hands-on approach characteristic of O'Reilly's Nutshell Handbooks., Exploring Java, fully revised for Java 1.1, gives a clear, systematic overview of the language. It covers the essentials of hot topics like Beans and RMI, as well as writing applets and other applications, such as networking programs, content and protocol handlers, and security managers.** Virtually all Java books, including the books listed above, can be purchased online thru Amazon.com, Barnes & Nobel, or Powell's Books.
If you have any questions, contact warner@math.clemson.edu.