On the final:
What to expect: Here are the sorts of questions I tend to ask:
- Define terms in your own words.
- Sketch the execution of an algorithm or protocol. For example,
show the vector clocks that each process has at different points on a
- Give pseudocode describing an algorithm or process
- Compare different algorithms or approaches and their
strengths/weaknesses. For example, active vs. passive replication.
- Explain why an algorithm or protocol has the characteristics it
does. For example, in passive replication, why does the primary not
send data back to the client until after is has synchronized with the
Here are the sorts of questions I will not ask.
- Write syntactically correct code/XML/XSLT/RDF. (I may ask you to write
pseudocode, but I'll be interested in program correctness, not whether
every bracket and colon is in the right place)
- Multiple choice, true/false or matching questions.
- "Trick" questions - the point of this exam is to test your
knowledge of the topics we've covered. I may ask you hard questions,
but I won't ask things that are deliberately misleading or deceptive.
You should definitely be comfortable with all of the following
material for the final (note: this list is
NOT exhaustive - if a topic is not on here, that doesn't
guarantee that I won't ask you about it. Everything covered in the
class is fair game.) :
From the second half of class: