To many people, programming is a mysterious discipline that requires years of dedication to the craft of banging out codewords on a computer. Something like learning kung-fu, I suppose, under the watchful tutelage of a master programmer. Well, it might have well been that as recent as a decade ago, as I recall the painful years of borrowing massive tomes from the library, with obscure titles like "C++ For Computer Science And Algorithms."
In recent times however, extremely talented programmers with an even bigger talent for educating others have made programming more accessible. Step-by-step guides with detailed screenshots, hours of professionally shot YouTube videos, and free-to-use sample codes are all available online for free. All you need is someone to show the way.
I know, every programmer will point to Stackoverflow as the one true source for programming knowledge. Take it from me, it's not for beginners, and don't even start posting newbie questions there, or risk the wrath of short-tempered coders.
Prerequisite - A decent text editor. For the truly foolhardy, Notepad will suffice.
Learning Resource - W3School
This is the go-to place when I need to find some information on fundamental HTML components, like how to change colours, or inserting a form into the code. There's even a little interactive applet that allows users to test out HTML code on the browser immediately!
Prerequisite - Python3
Learning Resource - Automate The Boring Stuff
If you can afford to make a small investment, go buy Al Sweigart's online course on Udemy. But he has put the entire book for free on the internet, so there's no excuse not to learn. The course is designed to teach the reader how to use the power of Python programming to automate boring tasks cleverly - like searching for specific phone numbers in a 1000 page PDF document, or posting a tweet every 15 minutes.
It's powerful, relevant and it starts from the very basics of this versatile language.
Prerequisite - Java JDK
Learning Resource - Javapoint
The website may not look fancy and shiny, but it has detailed steps on starting your first program, and an applet to run sample code to test. Once you get the basics in Java programming, you can continue on with advanced concepts like object oriented programming (OOP), or check out Android programming (which is based on Java).
** Advertisement Alert **
If you're looking for a tutor to teach Java for kids (or adults), visit Skillsfutured and check out the programming classes there. Heh guess who's gonna be teaching it...
Prerequisite - Android Studio
Learning Resource - Android.com
The official Android site has delivered an awesome tutorial to get started on programming Android apps. It's detailed, to the point, and the site is so pretty. You can't go wrong by starting your journey in mobile development from here.
There's so many more resources for other languages that I haven't listed them, only because I haven't tried them out. But if you're keen on these languages, you can't go wrong checking their respective tutorial sites out.
Ruby On Rails
iOS programming with Swift
Assembly Programming (not for the faint-hearted)
About this blog
Mostly startup and tech stuff. An occasional rant or two. Travel-related articles are published on my other blog.