Okay so I could probably make a very very long list of web sites for this page, and maybe I will some day. But the sites below are enough to keep you busy for now :]
This site is for the complete beginner and offers many practical hacking puzzles that cover a range of topics.
This site is a treasure trove of vulnerable virtual machines you can download to test your skills. There are a variety Linux and a couple of Windows boxes. There are also some vulnerable web applications.
Corelan has some of the most in depth articles I’ve seen online. The above link will take you to the article index page where you will find enough content to give you endless hours of fun.
If you’re just starting out with programming, or if you’re looking to get to grips with the syntax of a new language, this site is a great starting place.