concurrent & distributed programming course project