The best way to learn programming is to write code. The following sites offer many different programming challanges. Choose one of the sites, sign up (you can use your GitHub account for single sign on) and start coding. Have fun!
If you're already fluent with one of more languages and want to work on substantial projects, have a look at
Particularly the latter gives good starting points that may even be used for final year projects. Also, recruiters in IT companies will be impressed if you have a successful portfolio of open source contributions!