Mandelbrot Set

Supercomputer Applications
A Course in Computational Science
Supercomputer Applications is a halfcredit semester
course with a suggested AP computer science corequisite. 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 as well as a LINUX cluster.
Properly documented programs are
to be submitted electronically, and students
are also expected to
present examples of their work with appropriate discussion
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) and the LINUX Cluster.
 study computationally intensive problem solving
techniques while investigating dynamical systems,
chaos, fractals, and ray tracing.
 develop projects using scientific visualization techniques to
help analyze large data sets.
 present research projects in a webbased format using HTML,
PHP, and various graphics tools.

Mandelbrot Detail

Class Notes and Links:
The following notes pertain to this semester's course in Supercomputer
Applications. Exact due dates, unit sequences, and project requirments
may change, but those details will be discussed in class and eventually
reflected in this web site. They can be found in the
Class Calendar.
Course Content:
A. OpenGL Graphics as Part of the C or C++ Languages
 Basic Windowing Operations in a UNIX Environment
2D Graphing Commands, Plotting in 3D
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
 Simple Chaos:
Iteration, Logistic Equation, Bifurcation, Twist &
Flip Paradigm, Lorenz Attractor
Fractals:
Mandelbrot Set, Julia Sets, Newton's Method, and LSystems
C. Supercomputer Access in a UNIX Environment

Basic UNIX Skills:
 Commands, Online Help (man pages), File Access, Editing,
Compiling, UNIX Scripts
Web Page Skills:

Basic HTML,
Making a Web Page,
PHP and Perl, MySQL and
Databases
Graphics Files:

File Formats
(PPM, PGM, Targa, Gif, Jpeg),
Graphics Manipulation using xv, the Gimp
Network and Internet Skills:

PHP and Perl
Parallel Computing:

Parallel Virtual Machine (PVM),
The Linux Cluster,
Algorithm Design
D. Introduction to Ray Tracing

Using POVRay (Persistence of Vision Ray Tracer)
Ray Tracing and Animation
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, AddisonWesley, 1990.
ObjectOriented Programming in C++, Second Edition, Robert
Lafore,
Waite Group Press, 1995.
OpenGL Programming Guide, Second Edition, Mason Woo, Jackie Neider, and Tom Davis, AddisonWesley Developers Press, 1997.
Resource Books:

Chaos and Fractals: New Frontiers of Science, HeinzOtto Peitgen, Harmut Jurgens, and Dietmar Saupe, SpringerVerlag, 1992.
Chaos: Making a New Science, James Gleick, Viking Press, 1987.
Instructor:
Donald W. Hyatt
dhyatt@tjhsst.edu
