Three common student concerns in classes such as 275 are: (a) how to use feedback from previous assignments to help them grow in the future, (b) that it is hard to see the full picture of the course’s goals and learning objectives, and (c) that they only have one opportunity to complete an assignment.
Summary Problems attempt to address these concerns by providing 9 programming problems that are exemplary of what you should know by the end of the course at the beginning of the semester that you can attempt and resubmit for feedback. The Final Project for this course is based directly on these problems, so working on them and submitting them for feedback is in your best interest. Doing so is not required: it is your responsibility to determine how you will spend your time working on the problems.
You will not receive a grade on Summary Problems—only the related Final Project will be graded. Therefore, any feedback you get from me will be to help guide you towards better solutions: more accurate, better style, etc.
You cannot work in groups on this assignment and, notably, you should not discuss the problems with another student. While the homeworks in this class can be collaborative, the goal for the Summary Problems is to help you understand your own process, weaknesses, and strengths when it comes to the course material.
You may seek out help from course staff on this assignment, but please do so in a manner that would not share potential solutions with other students. You also must tell course staff that you are working on Summary Problems prior to asking for help.
You will submit all attempts you’d like feedback on via a [Google Form]. Everything should be submitted as a zip file including your name and ideally the problems that were attempted. For instance, if I was submitting problems 2 and 4, I would name my file checkoway_24.zip.
You are welcome to submit multiple problems at once. (In other words, please do not submit the form more than once on the same day!) You will sign the Honor Code each time upon submission.
When you resubmit a problem for another round of feedback, you must submit all past attempts in the same file (labeled with their attempt number) and a short comment describing the changes you made to the resubmission. A top tip is to rename the procedure names (don’t forget recursive calls!) by attempt order (e.g. c-a-1, c-a-2, etc.) Resubmissions missing such information will not be provided with feedback.
There are two starter files for the Summary Problems, which you can download here: summary-starter.rkt
and typed-summary-starter.rkt
.
You are encouraged to write a full test suite for Problems 1, 2, 3, and 4.
The main file is summary-starter.rkt
which describes all of the problems inline. The additional file is where you’ll solve Problem 5, which requires Typed Racket. Make sure to not forget Problem 5!
In addition, Problems 6 & 7 extend ideas you will implement on Homeworks 5 & 6
Each Summary Problem has an approximate “timeline.” This means, by that week of the course (see the course schedule for week numbers), you will have most likely learned all the material required to complete the problem. This does not mean the problem will be easy that week, but it is an approximation of when you should try to attempt it.