Assignments for Principles of Programming