9+ years later, Cryptopals remains a tremendously valuable tool for learning about cryptography by working on practical pieces of code. Cryptopals is a collection of 8 sets of challenges, starting very gently and ending with some non-trivial problems. By working through these challenges you will implement various cryptosystems and well known attacks.
First of all, I swear by Cryptopals. They are what made me realize I get, like and can do cryptography. They are just the best programming/math/crypto/anything challenges I've ever played, and one of my first and most satisfying accomplishments.