I’ve set this page up for myself; however, others can of course use this as a page as a resource to find places on the internet to learn programming for free.
I’m currently learning how to code in Python and I’m using this exceptionally well thought out website called, “Learn Python The Hard Way (3rd edition)”:
It’s great. It might be a little confusing at first, but what I like about this method of learning is that it gets YOU do to the researching and the work. You can simply copy and paste; however, the editor/writer has said himself you will not learn how to code that way. The editor also gets you to look things up on Google. I’ll say this, it requires more than a little effort on your part, but so far I’m enjoying it. I’ve come to certain stages where things have just “clicked” in my head and I’m thinking to myself, “I’m a little thick” for not getting it before. But sometimes things seem harder than they really are. This book really illustrates how anyone can do programming with a little thought and with the right attitude.
While this course will not make you an expert programmer, or if we take advice from the programmer who wrote the book this essentially takes you to the “brown belt” levels of programming as there is still more to learn. However, the guy did say that this essentially gets you started for learning more in-depth studies of Python to where you can hopefully become a black-belt programmer! 😀 When I go back to the UK, I’m definitely going to purchase the .pdf. That isn’t because it would make learning easier for me using that type of media, but because I would like to support the author of that website to continue doing what he is doing!
If Python isn’t your thing then here are other resources you can learn from using the same teaching methods as before:
- Command Line Crash Course
- This is a mini-book that teaches you Unix or Windows command line skills. Unlike the “Learn The Hard Way” series, this crash course is designed to get you mostly capable in a few hours to a few days. It has little explanation and focuses more on doing a small set of commands until you remember them.
- Learn Regex The Hard Way
- If you run into strings like “\s+.?(?i)a+b?” and your eyes glaze over like a pair of old fashioned donuts, then this book is for you. When you’re done you will be able to read that string, understand what’s going on with regex, learn when to use them, learn to write them, and learn how to write simple parsers to avoid abusing regex to process your strings.
- Learn SQL The Hard Way
- This book will teach you the 80% of SQL you probably need to use it effectively, and will mix in concepts in data modeling at the same time. If you’ve been fumbling around building web, desktop, or mobile applications because you don’t know SQL, then this book is for you. It is written for people with no prior database, programming, or SQL knowledge, but knowing at least one programming language will help.
- Learn Ruby The Hard Way
- Do you really want to learn programming but have no skill? Are you a system administrator who wants to learn Puppet or Chef? Are you a designer who wants to build your own websites? Are you a Ruby on Rails programmer who’s ashamed that you don’t really know Ruby? Then you should read this book. It assumes absolutely no prior programming knowledge and will guide you carefully and slowly through the learning process.
- A Beginners Python Tutorial (Info maybe outdated) – It uses Python 2.4; however, I think it’s still worth doing.
I have other resources that I know of and I will add them at a later date, as I’m currently learning Python! I’m doing it slowly as to make sure I don’t skip or miss anything. I’m also writing everything down that I need to! 🙂 Yay for learning!
- Ideone – Runs like Windows Powershell. You can run all sorts of code and save that code. You can then use that saved data and display it for others to see with links like this. This is good if you are posting on websites/forums and you are seeking help with improving your code or are at a stage where you need help from others. They can very simply view your code and find out what issues you have going on.