A basic grasp of Java. I felt like there were other skills, but they're unremarkable in the circles in which I'll spend my time--above average vocabulary, general knowledge base, and dedication to studying for my school's environment, and Less Wrong memes.
Here's my recommendation: build a web application that stores and retrieves data in a back-end database, from scratch.
In the real world, you're not given exercises to test specific skills; you're given problems you have to solve. Sometimes you will have no idea how to solve them. Sometimes you'll end up solving them badly, and you'll learn from your error. Sometimes you will have to learn a whole new skill at a rudimentary level on a very short time scale. Sometimes you will be forced to steal something someone else has done with minimal idea of how it...
This September I'll start college aiming for a computer science degree, and I want to use the summer for self-improvement. I'm very uncertain about what skills I should try to learn, though, and recommendations would help.