Insertion sort. Easy to implement (easier than BubbleSort), very fast for small data sets. Can be used in merge sorts / quick sorts when the set size becomes small.
Actually I think when Java will finally introduce anonymous functions the Template Pattern will be obsolete. The strategy pattern is IMHO much more flexible and can be used everywhere where the template pattern is used.
That's also how I learn. As I never met anyone who learns that way I always considered this behaviour weird. Nice to know that I am not the only one :).
Like others have already noted don't put too much thought into how to organize things. Keep it as simple as possible. This way you'll spent most of your time doing fun stuff (at least for me that would be writing code).
I'll host all my side projects on github. To keep track of bugs and new features I use github's issue tracker. Besides that I carry around a programmer's journal (some small paper notebook) where I write down new ideas, code snippets or concepts.
At University we were also forced to do this. This and other stupid rules (like declaring all variables at the beginning of a method) were considered 'good style'.
I just don't see how you can create a full, well designed, functional website based off an original idea in under 10 hours.
There lies you false assumption. The idea is not to ship a fully fledged website after 10h. The idea is to ship a minimal incarnation of you idea, a working something. That something may be full of bugs, ugly as hell and hard to use or install. But the important point is: You have something you can build upon and you receive user feedback right from the start which is invaluable.