Functional programming is one of the basic programming subjects that equips students to program based on pure functions like mathematical functions. The course helps students apply mathematical knowledge to programming to prove that a program does its job correctly or to find simpler, easier to understand solutions to problems. Students will be equipped with functional programming skills through popular languages such as Haskell or javascript.