I’ve taught functional programming to 5th years students of the HEI Engineering School in Lille. During 15 hours of class, we covered the fundamentals of functional programming in Scala (referential transparency, totality, lazy and eager evaluation, composition, collections manipulation …) and some more advanced topics such as IO monads and functional streams.

We applied these notions to the making of a project : a purely functional Tic Tac Toe game that could be played simultaneously on two computers through a TCP server.