| A comprehensive course in Scheme, covering all of its major features: abstraction; functional programming; data types; recursion; and semantic programming. This volume aims to teach students to program in Scheme and discusses different programming paradigms in depth. An important theme throughout is that of "meta-programming", thus providing an insight into topics such as type-checking and overloading. |