2000 Challenge Kickoff Instructional Tracks

TRACK I

This track is designed for the student who is new to the Supercomputing Challenge and has little computing experience, or for the returning student that wishes to review and polish basic skills.

Courses

100 Introduction to the Challenge (1 hour)
110 Teamwork (1 hour)
120 Project Development (1 hour)
125 Project Development Lab (1 hour)
130 Unix (1 hour)
140 Beginning C++ (1 hour)
145 Beginning C++ Lab (1 hour)
160 HTML (1 hour)


TRACK II

This track is designed for those students, new or returning, who have some computer programming experience, are comfortable with Unix, and feel ready to explore the art of computer programming in C++.

Courses

100 Introduction to the Challenge (1 hour)
110 Teamwork (1 hour)
120 Project Development (1 hour)
125 Project Development Lab (1 hour)
135 Unix (1 hour)
160 HTML (1 hour)
200 Advanced C++ I (1 hour)
205 Advanced C++ Lab (1 hour)


TRACK III

This track is designed for those students who are very familiar with Unix and C++, C, or Fortran.

Courses

100 Introduction to the Challenge (1 hour)
110 Teamwork (1 hour)
120 Project Development (1 hour)
125 Project Development Lab (1 hour)
160 HTML (1 hour)
300 Parallel Programming Concepts for Scientifc Modeling (1 hour)
310 Message Passing Interface (MPI) Programming (2 hours)


Descriptions of the courses

100 Introduction to the Challenge, 1 hour

topics: Challenge objectives, timeline, and requirements. Participants responsibilities, security issues (AUP), how to get help, judging criteria, and awards.

110 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!

120 Project Development, 1 hour

topics: Project definition, how to research, mathematical models, how to recognize a computational problem.

125 Project Development Lab (1 hour)

topics: Abstract refinement with a scientist.

130/135 Unix, 1 hour

topics: 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.

140 C++ Programming Lecture, 1 hour

topics: An introduction to programming including an overview of the C++ language, comments, variables, arithmetic operations, basic input-output, and other elements of programming structure. Followed by a lab.

145 C++ Lab, 1 hour

topics: Edit and compile a simple program (code given), attempt to alter program to make it more complex.

160 HTML, 1 hour

topics: Show students how to develop simple web pages and complete their HTML abstract.

200 Advanced C++ Programming Lecture, 1 hour

topics: The first hour of Advanced C++ will include the material from 140 (C++ Programming Lecture), with additional topics to include: conditional statements, loops, functions, and arrays.

205 Advanced C++ Lab (1 hour)

topics: This lab will include the assignment from 140 (C++ Lab), with an additional advanced assignment.

300 Parallel Programming Concepts for Scientific Modeling, 1 hour

topics: Introduction to building parallel scientific computer models. How to choose a particular parallel method to fit the science as well as human effort consideration. Emphasis is on learning the concept "information" propagation. Knowledge of a programing language is a prerequisite, but no previous parallel computing required.

310 Message Passing Interface (MPI) Programming, 2 hours

topics: Communications paradigms--blocking and non-blocking, point-to-point, and collective communications. Emphasis will be on C/C++ language binding. Learn how to run programs on the Pi machine. Modify existing parallel codes.


Student Electives

170 Abstract Submission, 1 hour

topics: Computers will be available for abstract checking and submission.

180 PowerPoint, 1 hour

topics: Microsoft PowerPoint provides a complete set of tools for creating powerful presentations. Organize and format your material easily, illustrate your points with your own images or clip art, and even broadcast your presentations over the Web.

220 Java Programming, 1 hour

topics: Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed to have the "look and feel" of the C++ language, but it is simpler to use than C++ and enforces a complete view of programming. Java can be used to create complete applications that may run on a single computer or be distributed among servers and clients in a network. It can also be used to build small application modules (or applets) for use as part of a Web page. Applets make it possible for a Web page user to interact with the page.

230 Matlab, 1 hour

topics: MATLAB is an intuitive language and a technical computing environment. It provides core mathematics and advanced graphical tools for data analysis, visualization, and algorithm and application development. With more than 500 mathematical, statistical, and engineering functions, engineers and scientists rely on the MATLAB environment for their technical computing needs.

240 Perl, 1 hour

topics: Perl is a script programming language that is similar in syntax to the C language and that includes a number of popular UNIX facilities such as sed, awk, and tr. Perl is an interpreted language that can be compiler just before execution into either C code or cross-platform bytecode. When compiled, a Perl program is almost (but not quite) as fast as a fully precompiled C language program. Perl is regarded as a good choice for developing Common Gateway Interface (common gateway interface) programs because it has good text manipulation facilities (although it also handles binary files). It was invented by Larry Wall.

250 StarLogo, 1 hour

topics: StarLogo is a programmable modeling environment for exploring the workings of decentralized systems -- systems that are organized without an organizer, coordinated without a coordinator. With StarLogo, you can model (and gain insights into) many real-life phenomena, such as bird flocks, traffic jams, ant colonies, and market economies.

260 Numerical Analysis, 1 hour

topics: A lookup at how computers do arithmetic and how that affects programming computers. Topics include floating point representation in hardware, internals of computer arithmetic, numerical problems to look out for, and and overview of the implementation of intrinsic functions.

Teacher Electives

T1 OCT2 - Online Collaborative Tools and Tutorials, 1 hour

topics: Explore survey/evaluation software which points the user to tutorials on the topics where the user showed weaknesses. It also lets the user find 'experts' in the community.

T2 Introduction to Mathematical Modeling, 1 hour

topics: This session will provide participants with a general understanding of what a mathematical model is, how mathematical models are derived, and the key role that mathematical modeling plays in computational science. Some simple examples of traffic flow and population dynamics will be presented.

T3 Unix for Teachers, 1 hour

topics: An overview of the Unix/Linux operating system.

T4 C++ for Teachers, 1 hour

topics: An introduction to the C++ programming language. C++ has become the favored language for programming of Challenge projects.