Click here to go to the TACC Home Page

Education & Outreach

Classes & Seminars Projects

Scientific Computing Courses for Graduate and Undergraduate Students

TACC offers a curriculum of four scientific computing courses that teach both principles and practices for using cyberinfrastructure (CI) computing resources for research and development in both academic and industry career. With the emergence of grid computing technologies and the development of integrated CI promising new capabilities for knowledge discovery, TACC's scientific computing classes provide a solid, practical foundation for using CI in research and development across academic and industry careers.

Distance Education:
TACC will produce a downloadable, Blackboard-friendly module for each course. We encourage other institutions of higher education to incorporate these courses across science, technology, engineering, and mathematics curricula, as computing is fundamental to all these academic areas.
  • January 2007: Fall 2006 course modules ready for download.
  • August 2007: Spring 2007 course modules ready for download.
Background references:
  • National Science Foundation, Office of Cyberinfrastructure: Cyberinfrastructure
  • National Science Foundation: Computing News
    • From Supercomputing to the TeraGrid
  • The TeraGrid and high performance computing centers

Fall 2006
Introduction to Scientific and Technical Computing
56640 CS 395T PIA 3.14 TTh 2-3:30 syllabus B. Barth and K. Shulz
Crosslistings:
  • 27112 GEO 391 Geological Sciences
  • 66535 CAM 395T Computational and Applied Mathematics

This course will cover a wide variety of techniques and methods applicable to many scientific disciplines. The course will begin with an introduction to the traditional mainstays of scientific and technical computing: basics of computer architecture; the UNIX environment; floating-point arithmetic; numerical methods including integration, interpolation, linear algebra, ordinary and partial differential equations, and optimization, and non-linear solution algorithms. Basic visualization and data analysis tools will be presented as well.

Prerequisites: Students must have prior programming experience, mathematics through calculus (with differential equations preferred). Experience with developing scientific codes is helpful but not required.

Distributed and Grid Computing for Science and Engineering
56622 CS 395T ENS 109 TTh 3:30-5 syllabus A. Adiga and E. Walker
Crosslistings:
  • 27112 GEO 391 Geological Sciences
  • 66532 CAM 395T Computational and Applied Mathematics

This class begins with an introduction to the principles and characteristics of grid computing in addition to technologies that facilitate deploying and using grid resources. The course will also review current international, national and campus grid building activities and leverage the lessons learned from the deployment of these state-of-the-art grids. Finally, the course will present the future plans and trends in grid computing, so students will have information and insight on what to track as they complete this class and use grid computing in research or commercial environments.

Prerequisites: Students must have prior scientific programming experience and experience using parallel computing systems and visualization software. Mathematics coursework through calculus is required; coursework through differential equations is helpful but not required.

Spring 2007

Parallel Computing for Science and Engineering

We begin with a comprehensive introduction to parallel computing theory, and discuss hardware features and software components (tools, utilities, etc.) that are essential for parallel computing. Next, the OpenMP and MPI programming paradigms are introduced. These sections prepare the students for a discussion of key algorithms and examples of applications in various fields. A focus on application development, performance, and scalability will be maintained throughout all sections. Thus, this course will prepare students to formulate and develop parallel algorithms and to implement them as effective applications for parallel computing systems.

Prerequisites: Students must have prior programming experience using C or Fortran on UNIX/Linux systems, plus mathematics through calculus. Experience with developing scientific codes is helpful but not required.

Visualization and Data Analysis for Science and Engineering

The course begins with a comprehensive introduction to the theory behind visualization and data analysis. The applied nature of this class will focus on application development and achieving performance. The class provides not only an introduction to the theory of scientific visualization but also the context to test and develop understanding of these theoretical principals.

Prerequisites: Students must have prior programming experience using C or Fortran on UNIX/Linux systems, plus mathematics through calculus. Experience with developing scientific codes is helpful but not required.