15-150: Principles of Functional Programming

Lecture 6: Asymptotic Analysis

This lecture, we talked about the idea of work, which is the run-time cost of a function, defined in terms of abstract units. We computed it via solving recurrences we obtained from the definition of SML functions, and obtained Big-O bounds, as a result.

We then moved on to the idea of parallel computing, and saw that this idea of solving recurrences generalized to span, which is the cost of running a computation with access to infinitely many parallel processors.

The central thesis: using mathematical techniques, we can formally prove the runtime of our functions!

Slides

Some Notes on Asymptotic Analysis