I wanted to share one homework from this class which resulted in a really cool little project, a chatroom. I really enjoyed this project, as I was able to code for a real time communication example which potentially a large number of processes.
The homework consisted of finishing code for a client, server, and chatroom in which each process will include a nickname for the client and chatrooms the client is connected to. Clients can join chats, leave chats, create a new nickname, send messages in chatrooms, use "/whoami" which returns the client's nickname, and can quit the software "/quit" without disturbing other processes.
I completed this homework with one allowed partner (Yousaf Rajput) as well as with help from my TAs when experiencing bugs.
The program was written in Erlang, which is known for its ability to handle large numbers of concurrent tasks, in this case instant messaging. It was also the language used to code WhatsApp, and it is used in many telecom, gaming, healthcare, and IoT companies.