In 2003, Hofmann and Jost introduced a type system that uses a potential-based amortized analysis to infer bounds on the resource consumption of (first-order) functional programs....
"This is a standard senior-level algorithms class required of every computer science undergraduate and graduate student at the University of Illinois."