One downside to Codeacademy is that, due to its step by step design, you may feel that you aren’t acquiring an understanding of the relevant concepts at the level you desire. So depending on your learning style, you might want to consider supplementing Codecademy with other resources.
One option would Lynda.com. Lynda offers video tutorials on a wide variety of topics and skills, with a focus on software and technical skills. For many topics, beginner level tutorials are offered. These provide a general overview of the subject matter, along with accessible explanations of key concepts. Lessons of this sort may serve as a nice complement to a more hands on, step by step, setup, such as that offered in Codecademy. University of Illinois students, faculty, and staff have free access to Lynda’s resources. To log in with your Illinois credentials, visit go.illinois.edu/lynda.
If you’re simply interested in familiarizing yourself with common programming terms and concepts, check out MIT’s Scratch. Scratch is a programming language and online community where you can create your own interactive stories, games, and animations. Scratch is, admittedly, designed with children in mind (in fact, it’s a project of the MIT Media Lab’s Lifelong Kindergarten group). Nevertheless, it can serve as a wonderful resource, especially for those completely new to coding (and I can report from first-hand experience that it is used in at least one class at the iSchool at Illinois). It can also be a lot of fun!
If you would like some one-on-one assistance with programming projects, you can drop by the Scholarly Commons for Data Help Open Hours, a joint service of the Scholarly Commons and the Research Data Service. In addition to getting help with Python coding, you can get help with R, SQL, and XML. If you’re ready to go more in-depth, check out our reference collection which contains books on Python, Java, R, and many more topics.
Do you know of any other good resources for learning to program? Let us know in the comments below!