For my masters program, I enrolled in a Distributed Operating Principles course that consisted of four projects using the Actor Model functional programing paradigm. By distributing work to indepdendent "actors" or nodes, complex computations can be done quicker.
The first project was to create a bitcoin generator to familiarize with the Akka actor model and F# syntax.
The second project involved implementing the "Gossip" algorithm among separate "actors" (similar to separate threads in Java) to spread a message (gossip) amongst all nodes as fast as possible. We then did this with summing a number and passing it along (push-sum algorithm).
For the third project my partner and I implemented a data structure known as "Chord" which was described within a research paper given by the professor. A Chord is similar to a Linked List, but uses a different itteration mechanism to jump to specific nodes.
The fourth project was to re-create Twitter using F# web framework known as Websharper