About the content
Programming-oriented course on effectively using modern computers to solve scientific computing problems arising in the physical/engineering sciences and other fields. Provides an introduction to efficient serial and parallel computing using Fortran 90, OpenMP, MPI, and Python, and software development tools such as version control, Makefiles, and debugging.
The use of a variety of languages and techniques will be integrated throughout the course as much as possible, rather than taught linearly. The topics below will be covered at an introductory level, with the goal of learning enough to feel comfortable starting to use them in your everyday work. Once you've reached that level, abundant resources are available on the web to learn the more advanced features that are most relevant for you.
- Working at the command line in Unix-like shells (e.g. Linux or a Mac OSX terminal).
- Version control systems, particularly git, and the use of Github and Bitbucket repositories.
- Work habits for documentation of your code and reproducibility of your results.
- Interactive Python using IPython, and the IPython Notebook.
- Python scripting and its uses in scientific computing.
- Subtleties of computer arithmetic that can affect program correctness.
- How numbers are stored: binary vs. ASCII representations, efficient I/O.
- Fortran 90, a compiled language that is widely used in scientific computing.
- Makefiles for building software and checking dependencies.
- The high cost of data communication. Registers, cache, main memory, and how this memory hierarchy affects code performance.
- OpenMP on top of Fortran for parallel programming of shared memory computers, such as a multicore laptop.
- MPI on top of Fortran for distributed memory parallel programming, such as on a cluster.
- Parallel computing in IPython.
- Debuggers, unit tests, regression tests, verification and validation of computer codes.
- Graphics and visualization of computational results using Python.
- Randall LeVeque - Department of Applied Mathematics
The University of Washington is a public research university in Seattle, Washington. Founded on November 4, 1861 as Territorial University, Washington is one of the oldest universities on the West Coast and was established in Seattle about a decade after the city's founding.
The university has a 703-acre main campus located in the city's University District, as well as campuses in Tacoma and Bothell. Overall, UW comprises more than 500 buildings and more than 20 million gross square feet of space, including one of the world's largest library systems with more than 26 academic libraries, art centres, museums, laboratories, lecture halls and stadiums.
Washington is the flagship institution of Washington State's six public universities. It is renowned for its medical, technical and scientific research.
Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California.
Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.