Learning How To Program

By Jon Leopard on 30 April 2017

Late last year, I decided to learn how to program. After reading Peter Norvig's essay Teach Yourself Programming in Ten Years, I knew that this was going to be a long, arduous journey; but a very rewarding one.

With my main interests being in the web, naturally I chose Javascript as my primary language. Go is also a language I would love to learn later on.

Approaching the programming realm can be very intimidating, especially if you are going at it alone. I live near Paris, so finding a Javascript meetup will probably be very helpful. Also, I've read countless times that finding a mentor helps tremendously. So if anyone out there is reading this and is an experienced Javascript developer, pls halp!

You are solving problems when you program, as such, I knew I should find some material on this subject.

We've hired several devs out of bootcamp, and they're all taught how to code, but not how to solve problems using code...

The quote above was from this thread on Hacker News. Some people recommended the following content for problem solving:

Since I am familiar with Matthias Felleisen, so I am going to be reading that book as I learn.

Curriculum

There is no shortage of free learning material on the web. A lot of people steered me towards Udemy's Web Developer Bootcamp, so I went with that one.

To Learn Programming, Do Projects You Actually Care About

On top of that, I've done quite a bit of research and found the following courses & books appealing to me for learning Javascript.

Online Javascript Courses

More Advanced Javascript

Books

Disclaimer: I've set up an Amazon referral account, so if you purchase any of these books after clicking on the links, I'll get a little piece of the pie! Thanks <3

Online Communities

To break things up a bit, I'm going to check out HackerRank to test my skills and be challenged on other various programming topics.

Since I want the scope of this post to be focused on the curriculum and material, I will stop here without getting to detailed.

I'll be posting updates on my progress so stay tuned!