Hello!
I don't know how many of you this will benefit, but I decided to put
together a small sample of studying/exam techniques that I find useful.
Before the exam:
- Start studying early (like today). It is hard to get things into
long-term memory in only a short period of time (cramming only works
for a small percentage of people).
- When studying algorithms, don't just memorize the pseudocode! Try and
understand the algorithm itself, THEN look at the code. If you don't
understand the algorithm (the idea), understanding the code is much
harder.
- Try and find places where the various algorithms and data structures
you've been taught fit into programs that you use. How would you
implement a spell-checker? What about a symbol table in a compiler?
- Know the pros and cons of each algorithm and data structure. Why
would we want to use a stack instead of a queue for problem X? Is
depth-first search always guaranteed to terminate with a solution?
- If you were given an iterative [recursive] implementation of something,
could you convert it into a recursive [iterative] one? How would you
implement a tree-traversal algorithm iteratively? (depth and breadth
first)
- Try to build a "mind map" of the various algorithms and data structures.
Can you think of a way to implement linked-lists with a hash table? Can
you correlate the various algorithms and their complexities?
- Know where the room is! Do it today and draw a small map if you really
need it. Being late for a test disturbs your thinking AND the other
people writing -- remember that!
Night before the exam:
- Get a good night's rest, and try to keep studying down to reviewing of
points.
- RELAX! I usually veg out the night before an exam, letting my brain
assimilate what I've been learning.
Morning of the exam:
- EAT!! Remember a few weeks ago when I didn't eat my Wheaties? Look what
happened! Eat a good breakfast that will keep you feeling full --
getting hungry during an exam can be distracting, and falling asleep due to
lack of energy... well..
- Get up early, and get HERE early! People seem to have a lot of car
trouble around when assignments are due - if you leave early enough you
can avoid traffic, and have a time buffer in case there is a problem.
- Coffee is NOT your friend! Seriously, coffee is a diuretic (makes you go
to the bathroom) and if you end up coming off your "caffeine high"
during the exam... not a good thing *yawn*.
- Do some light review to get your brain into "algorithms mode", but don't
over do it! Remember to relax before; I usually don't study within an
hour of taking a test, unless it's small things that I need to refresh.
During the exam:
- Read over all the questions first and then tackle the easy questions
(the ones you know cold). Here, employ a "greedy strategy" with
respect to marks.
- Budget your time wisely -- this is more of an art than a science. Make
sure you aren't spending too much time on a question that isn't worth
the trouble. When you get stuck, MOVE ON!
- Near the end of the exam (like 5-10 mins) if you haven't completed a
particular question write SOMETHING [related to the question] down! You
could maybe squeeze a few part marks from a question rather than get
zero.
After the exam:
- Don't browbeat yourself (literally or figuratively) after the exam. I
try not to talk/think about an exam right after taking it -- I find it
just stresses me out. Sleep on it, THEN go over it
- Learn by doing. Taking an exam IS a skill, and it'll get easier the more
you do it.
----------------------------------------------------
Hope that helped, and good luck!
Elliot Wilshire