Name:
How this contract works: Meet with your instructor individually to discuss your background, AP scores and/or placement exam. Your instructor will initial those projects for which you will be given credit on the basis of your prior background, and circle projects that you are required to do in CSE131X. In other words, the circled optional extensions will be treated as if they were in the required projects column for the purposes of the grading guidelines. You and your instructor will each keep a copy of this contract after signing it.
NOTE: You are responsible for all quizzes for required modules, even if you have been given credit for the required project for that module.
| Module | Required Project | Optional extensions | |
| Depth | Breadth | ||
| 0. Introduction | call methods to guide a "robot" through buildings | ||
| 1. Methods | combining and manipulating images | background subtraction in images | |
| 2. Recursion | recursive mathematical functions, JUnit testing | Newton-Raphson root finding | recursive patterns |
| 3. Iteration | iterative image manipulation | loop invariants (quiz) | image filtering |
| 4. Encapsulation | point and vector classes, unit testing | 3D line, point and vector | test-driven development (quiz) |
| 5. Modular Design | simple interactive graphics - roving eyes | cloning tool | timed animation |
| 6. Abstract Data Types | symbolic manipulation of polynomials | multiplication operator | graphing |
| 7. Array Structures | implementing a matrix class | Gaussian elimination | perspective projection of a 3D wire frame scene |
| 8. List Structures | manipulating pointer-based data structures | more sophisticated manipulations | |
| 9. ADT representations | map as ordered list and binary search tree (BST) | BST delete | binary search in an ordered array |
| 10. Class hierarchies | video game | ||
| 11. Applets | programming contest | ||
Your course grade depends upon the number of modules (and optional module extensions) that you successfully complete, including those for which you have been given credit based on your prior background.
If you have any questions or concerns about the structure of the course, feel free to ask.
Your signature:
Instructor signature: