Java helpers for instruction in scientific simulation.

We propose to upgrade an existing resource to teach science undergrads how to do scientific simulation using computers. The upgrade will build on the materials for the course Chaos, Complexity and Computers in the Physics Department. This course develops the practical skill of simulating physical systems along with intellectual base required to formulate and interpret these simulations. It uses examples based on chaotic dynamical systems and develops a mathematical understanding of such systems. Prof. Leo Kadanoff developed this innovative course in the mid '80s. It continually attracted classes of 30 or more students in physics, math, computer science and biology. Its exceptional success was acknowledged by a Quantrell teaching award. The course is cross-listed in Math and Computer Science, it counts towards the degree in Math, and it continues to attract 10-15 non-physicists a year (per S. Gazes, 3/2001). We believe that this course gains unique pedagogical power by its style of treating a given body of phenomena at both an intellectual level and a concrete demonstration level. We know of no other undergraduate course that treats this subject in this integrated way. Our aim in this upgrade is to restore the course to its original high level of impact and value to UC undergraduates, while broadening and updating its content.

The original course used a dialect of the Pascal language called Think Pascal. This dialect included many pre-written tools to help the user control her simulation program and to show its evolution graphically. Recently the course was converted to the Java language. This has freed the students from having to work at specially set-up computers. Java also gives the students a much more useful tool for future work than Pascal. However, the switch to Java has come at a high pedagogical price. We find that students are getting bogged down in the mechanics of programming to the detriment of the course content. Three cycles of normal course development have improved this situation, but a deeper level of improvements is needed in order for the course to live up to its potential.

What is needed is a few Java tools adapted to the purposes of the course and to the needs of novice users. We propose a modest upgrade program aimed at furthering some of the following goals

Many of these programming aids exist already in such software development packages as Java Cafe and Code Warrior. These are sophisticated and elaborate tools intended for professional programmers. Students must go to the MacLab in Ryerson to use them. The present course uses simpler means that require only a web browser. We want to preserve this simplicity. Others have achieved great simplicity in programming by using languages designed for teaching. The scheme language used by our computer science department is an elegant and effective example of this approach, and it would no doubt be possible to convert the present course to work with scheme. However, the architects of the course who preceded me have opted for a mainstream language that can be readily compiled and run in a wide variety of environments. Also I think one must also go to a central site on campus to use scheme, a limitation we would like to avoid.

The proposed project would provide broad, ongoing benefits to the College and to graduate students in the physical science and biological science divisions. First, the Chaos, Complexity and Computers course has provided continuous benefit to undergraduate and graduate students in many departments. Second, the tools developed for this course are of great potential benefit to other courses and student projects where simulation or applet development are desired. Third, these Java tools will enable future UC courses in physics and elsewhere to add a simulation dimension to their course content.

We propose to hire a technical assistant for a quarter for 20 hours a week to assemble these tools and adapt the existing course materials to them. The assistant would work in collaboration with the PI. The work would be performed in advance of the next cycle of the course, in Winter 2002. The environment would be created using

It is anticipated that a current physics graduate student would be able to perform the functions needed.

The cost consists of

The Physics department supports this effort In addition, the physics department agrees to provide 1/4 of the amount provided by any ATI grant awarded under this proposal.

Endorsement from Frank Merritt, Physics department chairman.

On Wed, 28 Mar 2001, Frank Merritt wrote:

>  Hi Tom:
>       Yes, I will certainly support this, of course!  I would be very glad to
>  see this happen.  I would hope that these developments in the course 
>  also make it much easier for the student to transfer the techniques 
>  developed in the course into research.  I assume this to be the case;
>  you suggest it but don't go into specifics.
>       Where does the $9000 estimate come from?  Would this be partial
>  support for a student for a couple of quarters, or full support for one
>  quarter, or what?  I think it would be good to have this specified.  Do
>  you have a particular student in mind?
>       So the answer to your question is yes, I will support this and the
>  level of 25% is doable.  But I need to have more specifics to defend 
>  and justify it better.
>                                              Regards,  Frank
I later revised the budget figure to reflect the cost of supporting a TA for a quarter. TW.

Endorsement from Paul Sally, Associate Director of Undergraduate Studies, Math department

The following is transcribed from a signed memo:
April 3, 2001
To:  T. A. Witten, Department of Physics
From: Paul Sally, Department of Mathematics
Re:  Endosement of your Academic Technology Innovation proposal

I've reviewed your proposal to the Provost's Program for Academic Technology Innovation (ATI) entitled "Java environment for instruction in scientific simulation".  In it you ask for money to improve an interdisciplinary course that has benefited undergraduates in the Department of Mathematics for several years.  We in the the Department of Mathematics value the interdisciplinary quality of this course.  We value its demonstration of the striking mathematical properties of chaos concretely by using computers.  At the same time, we recognize that such an interdisciplinary course requires an effort in order to sustain and increase its effectiveness.  We're persuaded that the course is due for a major dose of this development.  We're also persuaded that the benefit of the proposed Java environment to both the undergraduates who take this course and others in similar courses makes this proposal very attractie for funding under this program.

(signed) Paul. J. Sally, Jr.

Review by Stuart Kurtz, chair, Computer Science Department

Prof. Kurtz reviewed the proposal and we exchanged messages about it. In response to his comments, I revised the proposal somewhat. He has not given comments on the revised version. It may be useful to ask his opinion.

T. A. Witten, 4/5/2001