Assignment 3 - Concurrent Programming