Introduction to functional programming course