A lot of people want to learn to code. Some to fiddle around, some to change careers, some to try do some different work on the side, some to apply coding skills to what they currently do. Problem is, learning to code tends to be expensive. Code academies can cost thousands upon thousands of dollars, and even going you’re own it’s an enormous investment of time.
Having been learning and teaching for a while now, and having done a fair amount of Learning and Experimenting on a Budget, I thought I might share what I’ve found in terms of free resources for learning and doing web development. I’ll break them down into a few different categories. The first, in this post, will be where to find lessons/course material and exercises. Try any or all of these, see which ones work for you, and dive into them. Also, don’t underestimate the value of doing the same lessons or courses more than once. If you’re just starting to learn something, you will pick up stuff on the second or third time through that you didn’t the first.
Free Online Courses:
- The Odin Project ( http://www.theodinproject.com/ ): A free, complete curriculum on web development put together using other free resources online, including some of the ones below. Covers Ruby, Javascript, Rails, and getting hired.
- Codecademy ( codecademy.com ): courses in web development and in many languages, also in leanring to integrate things like Twitter into web sites. Try these:
- Learn.co (by the Flatiron School, https://learn.co ): Beginner intros to Ruby and Javascript with a special app that also teaches you a workflow using Git, the terminal, and some social interaction with other learners and mentors
- Dash (by General Assembly, https://dash.generalassemb.ly/projects ): Project-based lessons in web development
- CodeSchool ( codeschool.com ): most of their stuff requires a membership, but there is a decent collection that doesn’t:
- NodeSchool ( http://nodeschool.io/ ): Lots of lessons/courses on Javascript and Node.js, also some on Git and GitHub.
- Khan Academy ( https://www.khanacademy.org/computing/computer-programming ): Free online courses of all kinds, including an intro to programming course.
- Wild Academy ( https://www.youtube.com/playlist?list=PLMK2xMz5H5Zv8eC8b4K6tMaE1-Z9FgSOp ): Youtube series for learning Ruby.
- MIT Open CourseWare ( http://ocw.mit.edu/courses/find-by-topic/#cat=engineering&subcat=computerscience ): MIT courses you can take for free online, including Computer Science courses.
Free Online Individual Lessons:
- TutsPlus ( TutsPlus.com ): another membership site with many free lessons if you search around a bit. For example, at: http://webdesign.tutsplus.com/
- RailsCasts ( railscasts.com ): Many free lessons on Rails concepts, and since it’s no longer being updated, pretty much just a one-time rather than monthly fee to sign up to be able to see all the lessons.
- Ruby Koans ( rubykoans.com ): A set of lessons in Ruby, can be either downloaded or done in-browser.
- Ruby Tapas ( rubytapas.com ): Video tutorials on the Ruby language. Link goes to the free section.
Other Free Learning Tools:
- StackForYourself ( http://stackforyourself.com/ ): Aggregator for web development learning resources.
- Hackr.io ( http://hackr.io/ ): Ranked listings of lessons on all different topics.
- Computer Science Education Week ( http://csedweek.org/learn ): A further list of learning resources for programming skill.
- Ruby Warrior ( https://www.bloc.io/ruby-warrior/#/ ): a site that teaches Ruby via a computer game where you command a warrior with Ruby commands
- Code Combat ( http://codecombat.com/ ): Same idea as Ruby Warrior, but different languages including Javascript and Coffeescript.
- Searching on YouTube: Lots of tutorials for all different types of coding on here.
- LiveCoding.tv: A site where you can go to watch people write code, which can also be a huge help in learning how others work with code.
- Your local library: speaks for itself — a lot of libraries have some code-learning gems hidden away in their computer sections. I’ve checked out “Eloquent Ruby” by Russ Olsen about a gazillion times at this point (cannot recommend it highly enough — very useful info very entertainingly written). Go there and see what’s available, or go to Amazon, search for the popular books on what you want to learn, then see which of them you can find at the library.
Honorable Mention:
- Free trials: Many of the resources that do cost money offer free trials during which you can take as many of their courses as you like for two weeks or a month. Sign up, set a deadline to cancel membership before the fees start, and learn away! Pluralsight, for example, offers the best unix command line (aka “the command line”, “terminal”) tutorial I’ve come across, called “Meet the Command Line”, with membership ( http://www.pluralsight.com/courses/meet-command-line ), but you can check it out for free during the trial period.