I had a class that was even more intense, CSC324H at the University of Toronto. We learned Scheme emphasizing on higher-order functions, ML emphasizing on static typing, Haskell emphasizing on lazy evaluation, and Prolog emphasizing on {Horn clauses, unification, backtracking}. All in the span of a 12-week semester.