CS 245 Lab 7 – Exam Preemption
First, if you have checkpoints left over from last lab, get them inspected during the first 15 minutes of this lab.
Don’t forget to work in pairs! Where possible, please work with someone that you did not work with last week. The exchange of new ideas and perspectives is not an opportunity you want to rob yourself of.
Synopsis
In this lab, you will formulate questions that could possibly appear on your upcoming exam. (In fact, some portion of your questions very likely will appear.) One of the best ways to cement your understanding of a subject is to ask your own questions. Don’t wait to be asked. You’ll be a slave to the knowledge-masters.
Things we’ve discussed in class so far include:
- Event-driven/callback programming through interfaces
- GUIs (the Swing API is not something you should memorize)
- Recursion
- Generalizing code through supertypes (inheritance polymorphism)
- Generalizing code through generics (parametric polymorphism)
- Search: linear vs. binary
- Collecting data via arrays
- Set
- Informational notion of algorithmic complexity (constant, linear, more than that)
- Testing (the JUnit API is not something you should memorize)
Checkpoint 1
Write a question on one of the above topics. Quality questions satisfy these criteria:
- They are not fill-in-the-blank or true-false or multiple-choice. Answering them is not purely an exercise of recall. Instead, perhaps an algorithm must be traced or analyzed (e.g., you’re adding items to a sorted list, draw the state of the list as the code progresses). Maybe code needs to be written (e.g., write a generic class Maximizer that sifts through items that have been add()’ed to it and can getMaximum()). Maybe you add a new twist to a problem (e.g., you try to perform a binary search on an unsorted list).
- API-specific details are minimally important. Test takers should not have to memorize parameter types and order. Provide opportunity for test takers to demonstrate conceptual understanding.
- Questions should be expressed with as little description or side-story as possible.
Checkpoint 2
Write a question on a different one of the above topics. Post on Piazza in a separate post.
Extra
As individuals, you may continue to post questions on Piazza. For each additional two, you may earn an extra participation point. Email me to claim your point.