Thomas Jefferson High School for Science and Technology

Mandelbrot Set
Mandelbrot Set

Supercomputer Applications


A Course in Computational Science

Supercomputer Applications is a half-credit semester course with a suggested AP computer science co-requisite. Students will explore computational science and high performance computing using various scientific visualization techniques. Working in a UNIX environment with full Internet access, students will solve problems using the C++ programming language, and will display graphics using OpenGL commands. Students will experiment with parallel computing on various UNIX systems using PVM. Properly documented programs are to be submitted in hard copy format along with email versions and written discussion where appropriate. Students are also expected to present examples of their projects in a web page format.

Goals:

The student in Supercomputer Applications will
  • write properly documented, well structured programs emphasizing computer graphics using OpenGL in the language C or C++.
  • learn fundamentals of the UNIX operating system and use of Internet resources as applied to computational science.
  • investigate algorithm design considerations related to high performance computing while running programs using PVM (Parallel Virtual Machine).
  • study computationally intensive problem solving techniques while investigating dynamical systems, chaos, fractals, and ray tracing.
  • develop projects using scientific visualization techniques.
Mandelbrot Detail
Mandelbrot Detail

General Description:

Supercomputer Applications is a half-credit semester course with a suggested AP computer science co-requisite. Students will explore computational science and high performance computing using various scientific visualization techniques. Working in a UNIX environment with full Internet access, students will solve problems using the C++ programming language, and will display graphics using OpenGL commands. Students will experiment with parallel computing on various UNIX systems using PVM. Properly documented programs are to be submitted in hard copy format along with email versions and written discussion where appropriate. Students are also expected to present examples of their projects in a web page format.


Course Content:


A. OpenGL Graphics as Part of the C or C++ Languages
Basic Windowing Operations in a UNIX Environment
2-D Graphing Commands, Plotting in 3-D
Orthographic Projection and Perspective
Wireframe Models and Surfaces
Mouse and Keyboard Routines
Transformation Matrices: PushMatrix, PopMatrix, Rotation, Translation, and Scaling
Animation and Double Buffering
GLUT: Polygon Models, Objects, Surface Normals, and Lighting

B. Investigating Dynamical Systems, Fractals, and Chaos
Verhulst Dynamics, Bifurcation and Chaos
Fractals: Mandelbrot Set, Julia Sets, Orbits of Points
L-Systems
Twist & Flip Paradigm
Newton's Method in the Complex Plane

C. Supercomputer Access in a UNIX Environment
Basic UNIX Skills:
Commands, On-line Help (man pages), File Access, Editing, Compiling, UNIX Scripts

Web Page Skills:
Basic HTML, Simple CGI and Perl Scripts

Graphics Files:
RGB Colors, File Formats (Targa, Gif, Jpeg, Postscript), Graphics Manipulation using xv, the Gimp

Network and Internet Skills:
Ethernet, Telnet, FTP, Search Engines

Programming Considerations:
Algorithm Design, Vectorization, Parallel Computing using PVM

D. Introduction to Ray Tracing
Using POV-Ray (Persistence of Vision Ray Tracer)

E. Introduction to Computational Science and Computer Simulation Techniques

Getting Started with Supercomputing, Scientific Visualization Strategies

Trajectory Simulation:
Prototype Development, Model Validation, Graphics Visualization, Supercomputer Assistance

Gypsy Moth Simulation:
Biological Model, Finite State Automaton Techniques

Random Walk:
Discrete Limited Aggregation Model of Crystal Growth


Primary Texts:
Chaos, Fractals, and Dynamics: Computer Experiments in Mathematics, Robert L. Devaney, Addison-Wesley, 1990.

Object-Oriented Programming in C++, Second Edition, Robert Lafore, Waite Group Press, 1995.

OpenGL Programming Guide, Second Edition, Mason Woo, Jackie Neider, and Tom Davis, Addison-Wesley Developers Press, 1997.


Resource Books:
Chaos and Fractals: New Frontiers of Science, Heinz-Otto Peitgen, Harmut Jurgens, and Dietmar Saupe, Springer-Verlag, 1992.

Chaos: Making a New Science, James Gleick, Viking Press, 1987.

Instructors:

Donald W. Hyatt
dhyatt@tjhsst.edu


Phyllis T. Rittman
prittman@tjhsst.edu