coms572 programming assignments