CSC207.01 2014F, Class 52: Debrief on Projects and Makeup Exam
- Upcoming Work.
- Extra Credit.
- Questions not on the Exam.
- Questions on the Exam.
- Debriefing on the project.
- Planning for the final.
- Debriefing on the makeup exam.
- Yesterday's extra had lots of notes on the exam.
- Distributed: Sample makeup exam for exam 1.
- Friday PSA!
- Reading for Monday: none
- Problem to consider for Monday. The post office sells 1 cent, 3 cent,
5 cent, and 13 cent stamps. Given a value N, how do you figure out the
fewest number of stamps required to make that value?
- Inside Grinnell Thursday the 11th at noon in JRC 101: Grinnell's
Endowment: What Can and Can't it Do?
- CS Table today!
- Ajuna's Radio show Mondays at 8pm. Listen to African music.
- Ezra's Radio show Thursdays at midnight. Radio melodrama.
- Charlie's Friday Night "War in Animated Film" ExCo. (yes)
- December 5: Dance show (Once Upon a Time, Splintered), with
vocals by Noteworthy and awesome dancing lights by our own ZW.
- One Acts on December 6 and 7 with our own EE.
Will you post the notes from yesterday?
Do we have to implement the keysIterator?
How many words does the ideal answer have?
Do you care whether the exponentiation method is iterative or recursive?
No. I find it easier to think about recursively.
Since we're repeatedly picking random values in problem 1, is it okay if we pick the same value twice (or more)?
Yes, it's okay.
How long should the test suite for problem 1 take?
A few seconds.
Do we only have to do the four kinds of traversal that are tested?
Only those four. (It would be nice if you did all of the ones that
are given in TraversalOrder.java, but it's not rquired.)
Debriefing on the project
Four-to-Five minutes talking to your partner(s):
- What went well?
- What went poorly?
- When I give a project the next time I teach a class, what should be
similar/different? (Or should I not give a project?)
Good things about the project
- Learned some new algorithms (e.g., round robin)
- Experience of thinking about a problem without a known/standard
- Start from scratch on a large program design that lets us use objects.
In this class, I give you a lot of frameworks.
- Ill-defined problems are the norm outside of academia. It's nice
to have that experience in a "safe" model (e.g., Sam won't be horribly
- Incorporates a lot of things: Algorithms, data design, input, output,
files, sales to an audience, documentation, ...
Bad things about the project
- No intermediate feedback!
- Sam didn't do the project first, so he did not have a solution (or
know about potential pitfalls)
- Needed earlier "discuss project" session
- More time would allow you to make mistakes; Alternately, provide a
working version of the first half (including algorithm spec.).
Alternately, provide a smaller project.
- Appropriate amount of time for once in the semester.
- Alternately: More time on the project with simultaneous small homework.
- Question: Was this more worthwhile than the "normal" homework.
- Feels more real world.
- General: Smaller version first so that students observe potential
- Thinking about audiences - How is it going to look?
- Would have been nice to do a demo rather than a slide deck.
- Profit/competition incentive was problematic - startup sales pitch.
- Students would not necessarily say that their algorithm would
not work. (Maybe separate presentations would be good.)
- Also a benefit for a different side.
- Sam should post his background slides earlier.
Should I do something similar?
- Allow more freedom in the API people can use.
- Debate about the level of complexity; some people like that it's really
complex, some think it should have been more reasonable. Huge frustration
level, but it's okay as long as I clarify that it's okay that you don't
succeed. Process not product! Frustration is good, too.
- Having a real-world problem is nice.
- Having a goal is nice.
- Individual projects? (Sam worries about ...)
Planning for the final
- There is no benefit to making you do another take-home exam with coding.
- 45 minute interview/oral exam with Sam
- Here's some input, run this algorithm that you should know
- Maybe: Design a simple related algorithm
- Probably: Analyze the running time of this algorithm
- Probably: Design a loop invariant to help us solve this problem
- Probably: Explore a characteristic of an algorithm
Debriefing on the makeup exam
- Showed different strengths in conversations