Introduction Step by Step Examples Graph reduction Laziness Time and space profiling Strictness Algorithm complexity Data structures Parallelism