Physics 200 and Physics 396

"U.S. Army Photo", from K. Kempf, "Historical Monograph: Electronic Computers Within the Ordnance Corps" The ENIAC, in BRL building 328.

Instructor: Dr. Wolfgang Christian Office: Dana 113 2000 Syllabus
PY 200: Computational Physics
Introduction to computer programming and simulations emphasizing problem solving in science, program writing and the use of statistical differential, integral, graphical and numerical methods in science. Students will become proficient in Java programming using the Borland JBuilder programming environment.

Prerequisite: Physics 120 or 130 at Davidson or permission of the instructor.

PY 395, 396 Independent Study
Open to students with substantial backgrounds in physics with written permission from a supervising professor who reviews and approves the study topic. The independent study typically culminates in a written paper and/or an oral presentation.

Although this page is intended primarily for the distribution of curricular material to Py 200 students, it is also contains a collection of resources for anyone interested in teaching computational physics using the Java programming language. We have adopted Borland JBuilder as our programming environment and have developed a Java package, called Science Tools, that allows students to quickly build a applets that contain graphs, numerical methods, and input/output fields for floating point numbers. It is our intent that students use the computer to explore real scientific problems early in their undergraduate career.

Since students have different skills, a computational physics course at an undergraduate liberal arts college must be flexible. Some students write well; other students have good graphical design skills; and other students have mathematical ability. Most students will not major in physics and many will not major in science. We believe, however, that Computational Physics has broad appeal since it is an effective way to develop problem solving skills and to become computer literate. Students perceive that they are not well educated without a good understanding of a computer's power and its limitations. Learning to design a good user interface that communicates an idea is part of this course. So is downloading information via the World Wide Web, FTP_ing homework, getting help from Computer Services, and emailing other students or the instructor.

Students often need considerable one-on-one instruction building their first program. Consequently, much of this course is taught as a "structured tutorial." Class time is spent sitting at a computer building small "applets" that demonstrate a particular programming or numerical technique. Students are expected to have a working applet at the end of each class period and to study the code in preparation for the next class. An outline of each topic is posted on the web and programming books are in reserve in the library for reference. Students are encouraged to learn from each other. Homework assignments are open ended and the final "exam" is a project of the students own choice. Student programs, independent study projects and student thesis have been posted on the web to build a sense of community and to encourage interaction between upper and lower division students.