Perhaps the best way to learn programming is to do a project that you're personally interested in. When I talk to younger programmers, I usually suggest that they find something and try it out. For example:
Create your own game with XNA game development
Build your own personal website
Build a tool for data manipulation of your blog sites (like Facebook, myspace, or live journal). For example, you could write a tool that converts the archive files into a word or PDF doc, so you could have a book form of your entire year's worth of entries.
If you're a student, solve your math or science homework with a program.
Play around with Ajax or Silverlight to make a fancy way to display your pictures online.
There's also: http://blogs.msdn.com/coding4fun, whose name says it all.
The point is that people naturally remember the things that they personally care about, and most people care more about their own pet project than an arbitrary work or school assignment.
Living in Chicago and interested in working for a great company? Check out the careers at Paylocity.