How do I continue learning programming, beyond the basics?
If you're looking for some hands-on programming experience that also allows you freedom to do what you want, why not join an open source project? One such project is the Sage Math project

http://www.sagemath.org/development.html

It basically is an open-source project that develops a Python-like language for coding math. It has some cool features, especially in algebra and graphs, but also suffers from many bugs. Of course, there are many other open source projects you could find.

This would help you on many levels


Learn at your own pace
Work on anything that you like (provided that it is math related)
It will give you hands on experience at code development, committing, bug reporting and tracking. Basically anything and everything that you'll ever need to become a full-on programmer. Many people who work on such projects are top notch experts in their fields, so this could be a real opportunity. 
You are contributing to society! 


Alternatively, you could also take some online coding tasks (http://www.topcoder.com/) and even get paid for them. However, if your coding knowledge is not too great, this may not be the ideal place to start. 

Good luck!