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 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.
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
- 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 web-based format using HTML,
PHP, and various graphics tools.
Spring Semester 2002
The following notes pertain to the spring 2002 semester course in Supercomputer
Applications. Because our class will be involved in a special project
with Advanced Network and Services called
Imagining the Future,
The sequence of topics that we will cover will be slightly different but
we will cover the same materials. This website is being redesigned, so
therefore exact due dates, unit sequences, and project requirments
will be discussed in class and eventually
reflected in this web site.
Students who will be continuing with advanced topics into the second semester
will have different objectives. Those will be appended to the end of each project unit.
- Imagining the Future: Projects in the Competition
And the winner is... Glimmersion
Fall Semester 2001
The original web page showing the units from last semester can be found here:
Class Notes and Related Web Pages
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
- Simple Chaos:
Iteration, Logistic Equation, Bifurcation, Twist &
Flip Paradigm, Lorenz Attractor
Mandelbrot Set, Julia Sets, Newton's Method, and L-Systems
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:
Making a Web Page,
PHP and Perl, MySQL and
(PPM, PGM, Targa, Gif, Jpeg),
Graphics Manipulation using xv,
Dynamic Graphs with GNU Plot,
Making an Animated GIF, the Gimp
Network and Internet Skills:
Parallel Virtual Machine (PVM),
The Linux Cluster,
D. Introduction to Ray Tracing
Using POV-Ray (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
- Prototype Development, Model
Validation, Graphics Visualization, Supercomputer Assistance
Gypsy Moth Simulation:
- Biological Model, Finite State Automaton Techniques
- Discrete Limited Aggregation Model of Crystal Growth
Chaos, Fractals, and Dynamics: Computer Experiments in
Robert L. Devaney, Addison-Wesley, 1990.
Object-Oriented Programming in C++, Second Edition, Robert
Waite Group Press, 1995.
OpenGL Programming Guide, Second Edition, Mason Woo, Jackie Neider, and Tom Davis, Addison-Wesley Developers Press, 1997.
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.
Donald W. Hyatt