Hacker News new | ask | show | jobs
by samdk 5726 days ago
This mostly matches up with my own experience. I always start several days early, and I always work with one or two other people if at all possible.

Starting several days early gives you a few days to think about a problem if you need it and ensures you don't have to pull any really late nights.

Working with people means that you won't get stuck on the easy problems if you didn't understand everything perfectly or forget one crucial fact/lemma exists (which I find is otherwise a real danger). It also gives you people to bounce ideas off of for the really hard problems,

The other thing I always do is to do my problem sets in two stages. In the first stage (which I do with other people), I figure out how to solve the problem and outline how I'm going to write it up. In the second stage (which I do alone and after solving everything), I write the problems up. As I do this, I walk through how we did the problems when we first solved them, and very often find mistakes we made.