post

Learn to Code – Resources and Links

Such a huge array of resources, both free and paid and with various levels of difficulty exist online to learn to code. I’ll try to provide some in this post and update it as necessary as I find more or better replacements. Here’s a mindmap I started to try to capture them:

Learn to Code Mindmap

Starter mindmap of resources available for learning to code

The toughest thing with the amount of resources available is really figuring out where to start, what to work on and how to progress. As I wade through the material, I will aim to help with that!

Learn to Code Stories

Collections of posts on topic from some great sites.

Lifehacker – Posts tagged ‘learn to code’ -> Bookmark this and read it often

Edsurge – Teaching kids to code

Comparisons

Posts giving comparisons of various sites and courses.

Comparison Chart of 35+ Awesome Websites to Learn Coding Online

Bloc.io Comparison of Bootcamps

Suggested Learning Collections

These resources are aimed at suggesting a possible step by step learning path to take.

Google Guide for Technical Development

Mozilla Webmaker

Bento

– I really like Bento!

Online Learning: A Bachelor’s Level Computer Science Program Curriculum

– This link here is amazingly great. The author has gone to great lengths to create and propose a reasonable approximate to a degree courses using only free online course! Incredible. 2014 and you can basically save $100k USD (US college price) and do it yourself! Also, there is a second post on the site which is even more comprehensive.

Lifehacker: How and Why to Teach Your Kids to Code

This is really just scratching the surface. There is an incredible amount of material available. I am sure I have missed some important ones. Please let me know and I will add them to the post.

post

Learn to Code – But Which Language?

There is a lot of great articles and advice out there on which programming language to start learning first. You want to learn to code but what to learn first? Lifehacker has a great one here for example. I will very briefly summarize my thoughts:

  • Start with Python or Java – I would choose Python but Java can be used in Android programming
  • Then get into mobile development – Swift for iOS, Java for Android – My heart says iOS but you can’t deny the Android market share!

What about front end development you say? Sure. You could then learn HTML, CSS and Javascript for front end (client) web site development. Personally, I don’t think that is very interesting and I don’t think it’s where the real valuable skills can be built. There are many tools and templates to use (i.e. Bootstrap) to make a decent looking and functioning website. You could learn the bare minimum to use something like this or have someone do it for you.

Mobile is on such a growth path that you could just simply start with mobile development – iOS or Android. Probably (sadly), Android (I am an Apple fan!).

But wait – There is something no one is mentioning much.  Something you need to know early on in your learning. Perhaps even first! What is that you ask? Software engineering fundamentals!! It is crazy that this is not mentioned much. Sure, it is good to learn about variables and functions and classes and inheritance, blah blah blah. Great!! But without some fundamentals, you will soon have a rats nest of code that is impossible to build upon or fix. Both of which you’ll want to do!. We’ll talk about that soon.

What do you think? What do you want to learn first and why?