TRACK I

RESEARCH FOUNDATIONS OF COMPUTATIONAL SCIENCE

This track is designed for the student who is new to the Supercomputing Challenge and has little computing experience, or for those students that are comfortable in programming and design, but lack in the area of research. This sequence of courses will introduce the Internet/WWW and research facilities available for Challenge students through various sponsoring universities and organizations. Students will also have the opportunity to study project design in detail. Students will learn how to locate a mentor for their project and will have hands-on lab time to practice their newly acquired skills. Additionally, students in this track will receive an overview to project design, UNIX, HTML, and PowerPoint.

Courses

100 Library/Research Lecture (1 hour)
105 Library Lab (1 hour)
110 Introduction to Project Design (1 hour)
111 Project Design Lab (1 hour)
115 UNIX (1 hour)
120 Teamwork (1 hour)
130 Team Advisement with Scientists (1 hour)
135 HTML/PowerPoint (1 hour)


TRACK II

PROGRAMMING FOUNDATIONS OF COMPUTATIONAL SCIENCE

This track is designed for those students, new or returning, that have some computer experience and feel ready to explore the art of computer programming. In-depth classes will be given explaining the syntax of a language (Fortran or C++). Additionally, students will attend classes in software engineering and UNIX.

Courses

200 Programming C++/Fortran 90 (1 hour)
205 Programming lab (1 hour)
115 UNIX (1 hour)
110 Introduction to Project Design (1 hour)
111 Project Design Lab (1 hour)
120 Teamwork ( 1 hour)
130 Team Advisement with Scientists (1 hour)
135 HTML/PowerPoint (1 hour)


TRACK III

ENGINEERING FOUNDATIONS OF COMPUTATIONAL SCIENCE

This track is designed for those students who need help designing and maintaining their Challenge project. A study of UML (the Unified Modeling Language) will expose the students to the art of object-oriented program design. Detailed examples will be given in each area of the project design (inception, elaboration, construction, and transition) and designs for many planning diagrams will be discussed in great detail. The result of this core group of classes will leave the student with a detailed approach for Challenge-year long program design and easy yet powerful tools to plan their research and code.

Courses

300 UML (3 hours)
115 UNIX (1 hour)
135 HTML/PowerPoint (1 hour)
310 Programming Refresher (1 hour)
120 Team work (1 hour)
130 Team Advisement with Scientists (1 hour)


TRACK IV

MATHEMATICAL FOUNDATIONS OF COMPUTATIONAL SCIENCE

This track is only available to returning students with programming experience and experience with higher math courses (Algebra II, Trigonometry., or Calculus). Students must apply for this track by writing a brief description of why they feel they should be accepted into the course. Those not accepted will be placed in their choice of Tracks I, II, or III. An alternate track must be included with the application.

This track is designed to help the student understand the various details required in transforming a mathematical model into a computational model. This track will involve a two hour programming section, a three hour core class section, and a UNIX refresher.

In the core class, the student will discover procedures to transform mathematical problems into computational models. The student will then write code in either C or FORTRAN to accomplish the work needed for their computational model to function properly. The students will be expected to form groups and work with each other, debugging their code and testing the code with examples.

The goal of this course is to expose the student to an extensive example. The successful student should come prepared to work for several hours (with few breaks). It is expected that the student has some basic experience with C, C++, or FORTRAN.

Courses

310 Programming Refresher (1 hour)
305 Programming Lab (1 hour)
400 From Mathematics to Computing (3 hours)
115 UNIX (1 hour)
120 Teamwork (1 hour)
130 Team Advisement with Scientists (1 hour)


Descriptions of the courses:

100 Research, 2 hours, topics: web tutorials in C++, Fortran, HTML, Unix, how to use search engines, using search engines lab, Internet access to libraries.

105 Research lab - hands-on lab exercises following the two-hour research (lecture) portion of the class.

110 Introduction to Project Design - Two components esssential to the success of any computational science project are: 1) recognizing a computational problem/question and 2) writing a good problem definition. This workshop will give students experience in doing both.

115 Unix, 1 hour: login, ls, cp, rm, mkdir, cd, pico, vi, pine, logout, cc, CC, f77, bbs, .forward. This will be a 15 minute overview of Unix followed by 35 minutes of lab exercises.

120 Teamwork, 1 hour, topics: divide & conquer, communication, abilities/strengths of members, cooperation, give & take, meeting deadlines. This is one area that the students always remember about the Challenge, how it requires teamwork!

130 Team project development, 1 hour, topics: discuss project with "scientist", discuss questions like: is it solvable with a computer, how much work is involved, are resources available.

135 HTML/Powerpoint, 1 hour: show students how to develop simple web pages and complete their HTML abstract (30 minutes), show students how to develop a presentation using PowerPoint (20 minutes).

200 Programming Lecture, 2 hours: (C++ or Fortran, to be determined) An introduction to programming including data types, conditionals, loops, and other elements of programming structure. Followed by a lab.

300 UML, 3 hours: defining objects and actions, class diagrams, entity relationship diagrams, sequence diagrams, state diagrams, activity diagrams, and concurrency diagrams.

310 Programming Refresher, 1 hour: (C++ or Fortran, to be determined) An overview of programming. Review conditionals, loops, basic syntax, and data structures. Followed by a lab.

400 From Mathematics to Computing, 3 hours: learn procedures to transform mathematical problems into computational models. Detail a mathematical problem of your choice, and offer computational solutions to solve that problem. Help students develop their own solutions and write code to solve the given problem.