An introduction to Functional Programming, one of the three major programming paradigms. Focuses on well-structured interactive program development using a modern functional programming language. Introduces the formal study of data types and the meaning of programs.