Skip to main content

Final Exam

The final exam will look almost exactly like the design challenges that you receive in class. The best way to study for the final is to practice your design challenges in class, get good at expressing yourself visually, and to get feedback on your work.

We will provide four design challenge prompts. You will choose two and answer them. The best answers will include drawings, annotations, and explanations of the drawings.

Cheat Sheet

You can bring one hand-written double-sided letter-sized piece of paper to the final exam. A non-programmable calculator is allowed. Any standard drawing tool is allowed. Arduino components or other physical thinking tools are allowed as long as they do not display information. Headphones are not allowed. If you need more than this to be successful, you are encouraged to sign up with the UBC Center for Accessibility.

Example exam question

Imagine that you have been hired to design the car-following system for a Tesla competitor. Relying on your knowledge of ultrasonic distance sensors, your experience with wall-following, and the "follow-me" challenge, design a system that:

Keeps a car at a specific speed except when another car is detected in front. If there is a car detected in front, maintains a specific distance from that car, no matter what the speed.

You can assume that whatever distance detection system the car uses works exactly like an ultrasonic sensor and Arduino.

  • Draw a diagram of the scenario overall, including the different cases that your design needs to account for. Don't draw your final design yet, just a high-level example.
  • What are the sources of error that might need to account for? Draw examples of errors that your system would have to account for and briefly explain the error.
  • How would you mitigate the error in terms of physical component design? Draw your physical component design and briefly explain your strategy for mitigation.
  • How would you mitigate the error in terms of algorithmic design? Write out pseudocode and/or a flowchart and explain which algorithmic techniques you would use.
  • How would your system work overall? Write out pseudocode and/or flowcharts and diagrams to explain your system design.
  • How does your system compare to the way that humans follow each other? What's similar and different?

Example exam rubric for above

Mark out of 25:

  • Overall scenario - are the cases articulated clearly and fully accounted for? (out of 5)
    • 5: All important cases articulated and accounted for
    • 4: Missing one important case or mixing two cases together inappropriately, but high quality work
    • 3: Missing more than one important case or medium quality work
    • 2: Missing many important cases, or low quality work
    • 1: Missing many important cases, or very low quality work
    • 0: No discernable attempt
  • Sources of error - are the sensor and mechanical errors articulated clearly and fully accounted for? (out of 5)
    • 5: All important errors articulated and accounted for
    • 4: Missing one important sources of errors or mixing two error sources together inappropriately, but high quality work
    • 3: Missing more than one important source of error or medium quality work
    • 2: Missing many important error types, or low quality work
    • 1: Missing many important error types, or very low quality work
    • 0: No discernable attempt
  • Physical mitigations of error - are the components thoughtfully placed? (out of 5)
    • 5: All component designs are drawn clearly, annotated, creatively and realistically account for error, and work with the algorithm
    • 4: High quality work, but potentially missing an important aspect of the physical design problem
    • 3: Medium quality work, but missing more than one important aspect of the physical design problem
    • 2: Low quality work, fully missing annotations or doesn't work with the algorithm
    • 1: Very low quality work
    • 0: No discernable attempt
  • Algorithmic mitigations of error - are the components thoughtfully placed? (out of 5)
    • 5: All algorithmic designs are drawn clearly, annotated, creatively and realistically account for error, and work with the physical components
    • 4: High quality work, but potentially missing an important aspect of the algorithmic design problem
    • 3: Medium quality work, but missing more than one important aspect of the algorithmic design problem
    • 2: Low quality work, fully missing annotations or doesn't work with the physical components
    • 1: Very low quality work
    • 0: No discernable attempt
  • Comparisons to humans - does this connect back to course concepts? (out of 5)
    • 5: Excellent work: appropriate and creative references made back to course materials, outside sources of COGS ideas, thoughful and creative, accurate models and metaphors.
    • 4: High quality work, but missing one of the above.
    • 3: Medium quality work, missing more than one of the above.
    • 2: Low quality work, missing many of the above
    • 1: Very low quality work but a discernable attempt
    • 0: No discernable attempt

The most common mistake that students make on exams is that they do not make a clear, annotated drawing. That is the core method of communication in this class, but it is unusual compared to your other classes, so students must practice in their sketchbooks. The best way to practice for exams is to attend lectures and fully participate in the daily design challenges.