Spend the summer reading "Building Git" by James Coglan. Why?
- You'll learn Ruby, a new language
- You'll understand Git at a pretty advanced level
- You'll get exposure to testing
- You'll get exposure to unix programming
The book is a full body exercise that starts from the basics and takes you on a pretty good tour of systems programming.