Problem Sets

home, work

See the schedule for due dates. Each problem set is due at 2pm (before class) on the due date.

Working in Pairs

You must work on all problem sets and the mini-project in pairs. In particular, pair programming means that you use one computer and one keyboard whenever you work on any part of the problem set. One partner, called pilot, uses the keyboard, while the other one – appropriately called co-pilot – watches. The co-pilot should look out for mistakes and enforce the design recipe.

I recommend switching roles in the middle of problems not (just) between problems. Doing so ensures that design knowledge is truly spread over the pair. While the development of software is not the focus of this course, following these basic pair programming rules will also introduce you to elementary software engineering techniques.

Most importantly, pair programming is one way to help you learn. While computers may be able to check the syntax and the semantics of your programs, they do not engage you in conversations about the material. Such conversations help students understand the various pieces from different perspectives and often eliminate small obstacles in the reading and programming material.

You may not to go outside your current partnership to seek help.