Solving RecurrencesFocuses on solving recurrences in divide-and-conquer algorithms using various techniques and examples.
Tail RecursionCovers tail recursion, optimizing functions in Scala for iterative processes and providing examples like tail-recursive factorial.
Polymorphism and ProofsCovers parametric polymorphism, lists construction, tuples, generic methods, merge sort, and proving program properties.
Coq: IntroductionIntroduces Coq, covering defining propositions, proving theorems, and using tactics.
Recursively Defined FunctionsIntroduces recursively defined functions and demonstrates how to compute values and prove properties using mathematical induction.