Algorithms, Part 1 (Princeton University) Programming Assignments