ACM Programming Problems!
- Know your language.
- If you are using a compiled language, have a makefile written and printed to take with you.
- Know how to get input from STDIN and print to STDOUT
- Walk in with a "template" program printed out that can simply be re-typed in and used as a template to start all your others
- Under No Circumstances listen to Vogon poetry
- The problems are often written to look scarier than they really are
- Look for problems which may be very simple to solve or use algorithms you know well
- Math is your friend, not food
Divide et impera
- You have a team, each of you have different skills, USE THEM
- Split up into maverick and a pair on problems where it makes sense
- Several problems will be easy enough for a single person to hack out alone, on paper
- if someone is struggling and consuming computer time trying to debug PRINT OUT THE PROGRAM and debug on paper when another program is ready to be typed
Code to Joy
- You are using a kind of Test Driven Development, embrace it
- Test against all example cases given in the problem
- Add test cases to test the problems limits and extremes
- use meaningful variable names (this is far more important than you might think)
- Balance your approach between quick hacks and debuggable code
- Elegance is not required