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?

post

Alternative Education – Options Abound

I am a software engineer. I have not coded professionally for around 10 years – Heck I am getting old! This year, actually I think late last year was the first time I had even laid down any LOC (Line or Code) for the same amount of time. The good news for has beens like me or newbies alike, is that the number of opportunities to learn how to code and practice coding is quite amazing.

In fact, had the kind of online training been available when I went to university, I would seriously have questioned going to university and have a feeling I would have chosen not to. Even though back in the early 90’s, university was relatively cheap in Australia (~$15k AUD for 5 years Masters program). Now though, in the US, programs on average are going for around $9k a year for public colleges, $22k for out of state, $30k for private. WOW. That is per year!! For a 4 year program, you could be quite easily looking at near or over $100k. I shudder to think at a Masters or PhD. Look here for some historical data and see the inevitable yearly price rises that are very much likely to continue. Unfortunately, education is just like any other enterprise. Cost of doing business will generally rise – teachers wages, materials, real estate etc. Complexity of courses will increase particularly in the STEM (Science, Technology, Engineering & Maths) fields. All this adds up to additional costs that will be forwarded on to the consumer unless the education is somehow subsidized.

What to do about it? Well, in a growing number of fields and particularly most recently, technology ‘learn to code’ subjects, there are many many opportunities to take education into your own hands and learn a significant amount of skills for a lot less money. There are various styles of this type of learning within the learn to code fields:

  • Intensive bootcamps – 3 to 6 month often full time, very intensive training live in class room – can be $5k to $10k cost
  • MOOC (Massively Open Online Course) – courses often transferred from traditional lecture format to online web, unlimited participation – free to relatively low cost
  • Interactive, task based short courses – .e.g. Code Academy – generally introductory in nature, live programming environment – free to relatively low cost

I will cover more options and more detail in future posts as this is really just barely scratching the surface. Key point is the technology is available via the internet and many education institutions and private companies are offering alternative education options. The barrier to entry for learning new skills is significantly lower. 

What do you think? Will you still do a normal university/college degree or will you pursue alternative options? Or both?