b4D4$$ c∅Mp5T1Ng

This course will develop competency in high-end computing while focusing on relevant applications.

When: Tu 3:00 - 4:10 PM,   Fr 2:00 - 3:10 PM,   NY time.

Where: href=https://columbiauniversity.zoom.us/j/9515413977 (subject to change).

What you need: Access to command-line under Linux, or Macos (i.e., Terminal), or Windows (Cygwin or WSL).

Lectures:

    Lecture 1 materials.   Lecture 1 video.

    Lecture 2 materials.   Lecture 2 video.

    Lecture 3 materials.   Lecture 3 video.

    Lecture 4 materials.   Lecture 4 video.

    Lecture 5 materials.   Lecture 5 video.

    Lecture 6 materials.   Lecture 6 video.

    Lecture 7 materials.   Lecture 7 video, part 1,   Lecture 7 video, part 2.

    Lecture 8 materials.   Lecture 8 video.

    Lecture 9 materials.   Lecture 9 video.

    Lecture 10 materials.   Lecture 10 video.

    Lecture 11 materials.   Lecture 11 video.

Computing-related topics

1. C programming: syntax, data types, addresses, memory management and troubleshooting.

2. Makefiles (Cmake if time allows).

3. Multithreaded computing.

4. Building C-DLLs that can be called from Python.

5. CUDA, i.e., GPU programming (in C).

Application-oriented topics

1. Analysis of large-scale streaming data: first, the power method, then the noisy power method.

2. First-order method for high-dimensional nonlinear optimization, including momentum. BFGS. Example: pairs-based portfolio optimization with nonstandard risk measures.

3. Computing all-pairs shortest paths between all cities in the world.

... more to come


Textbook: The C Programming Language, by Kernighan and Ritchie. ISBN 978-0131103627.

Textbook: The Bug: A Novel, by Ellen Ullman. ISBN 978-1250002495.


Resources

If you are taking part in this course, please send me an email.