Elements of Lambda Calculus: lambda terms and functional expressions, application, alpha, beta and eta reductions. Algorithms as functions. Basic data types: list, class, exception. Lisp and Haskell. Modeling using lambda calculus. Evolutionary programming. Knowledge representation and functional programming.