Algorithms 1 programming assignments