On this page:

Problem Sets


There are 1-2 problem sets per week. Each problem set has the programming language that you must use for the assignment, the due date (typically either a Monday or a Thursday at 9:00 pm), the maximum possible points, a purpose, and several graded exercises.

The finger exercises are only for your benefit and do not have to be submitted. (Remember that learning to program, like learning a language or an instrument, requires you to practice.) Solving these finger exercises will prepare you for the homework problems. Solve as many as you can while you are reading the book. For some a paper-and-pencil solution is enough; for others, you really want to open DrRacket and experiment/play. Feel free to discuss the problems and the solutions with classmates.

You will not get a grade for the finger exercises. But, when you ask for help with homework problems, we may ask you to solve one of these finger exercises or explain its solution.

Homeworks should be uploaded to the correct assignment on the Handin Server BEFORE the due date.

Note: You may not use any terms or techniques in your assignments that were not covered in class. Also, check the Style Guide on this course website for operators that you should not use at all during this course.

A Complete Guide to the Handin Server

    Assignment 1

    Assignment 2

    Assignment 3

    Assignment 4

    Assignment 5

    Assignment 6

    Assignment 7

    Assignment 8