Academic Courses

Introduction to Scientific Programming (ISP)

Introduction to Scientific Computing (ISP) is one of five formal academic courses developed and taught by the Texas Advanced Computing Center (TACC) at the University of Texas at Austin. ISP is an introduction to programming using both the C/C++ and Fortran (95/2003) programming languages, with applications to basic scientific problems. The course also includes a brief survey of other programming environments such as R and Python.

The ISP course materials package, available for download at, includes slides, homework assignments, labs, and supplemental material from the Fall 2013 offering. It does not include tests, quizzes, solution keys, and materials with intellectual property restrictions. Though the package is not intended as a stand‑alone resource for self-study, self-learners may find it helpful.



Version 1.0
Last Updated: Dec 10, 2014

The course outline below closely matches the directory structure in the download package.

  • Block A: Fundamentals
    • Introduction to Linux
    • Basics of Scripting
  • Block B: Fortran
    • Fortran Basics
    • Data Types
    • Expressions and Assignments
    • Control and Arrays
    • Subprograms
    • Interfaces
    • Modules
    • Dynamically Allocatable Arrays
    • Input/Output
  • Block C1: C
    • Fundamentals
    • Variables
    • Operators and Input/Output
    • Functions
    • Conditionals, Structures, and Arrays
    • Pointers
    • File I/O
  • Block C2: C++
    • Fundamentals
    • Object-Oriented Programming
    • Functions
    • Templates
    • Standard Template Library (STL)
    • File I/O
    • Dynamic Allocation
    • Exception Handling
  • Block D: Other Topics
    • The R Programming Environment
    • Python