Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Are there studies on the most efficient way to learn programming?
14 points by rajlego 3 days ago | hide | past | favorite | 9 comments
I'm planning on learning python soon and I'm already familiar with a fair few ways I could learn it but I'm curious if there have been any studies on the most efficient way to learn it.

Anyone familiar with any research in the area?

Talking my experience (studying CS and programming). I haven't done it this way, but I've seen the following elements play out really well in my life.

This will cost money.

0. Tell people what you want to create [1]. Via those people (or the internet) try to find someone who could create that. Find some master CS student or a final year bachelor CS student.

1. Ask that person to become your teacher, and vet if he's a good enough one on one teacher. The first thing that person should do is create a tailor-made curriculum for you. Pay them about 12.50 to 15 euro per hour (in Europe, can't say about the US).

2. Once he made that curriculum, vet it with someone else who also has the skills. Incorporate feedback where you see fit in consultation with your teacher/coach.

3. Now the curriculum is set. Follow it religiously, even when it gets boring at times (note: it's really key you vet your teacher at curriculum/teaching capabilities).

4. As you're following your curriculum, there will be moments where you get unbelievably stuck. Struggle a bit, but if you struggle more than a few hours then ask your teacher for help.

5. Rinse and repeat until you've build your project.

Now you have a foot in the programming world and you can progress on your journey however you see fit. Note: you've only paid the teacher for Q&A time and for designing the curriculum.

If you find this a good idea, then state so as a reply. Then, it's possible for HN people to reply to you and offer to become a teacher. I'll be the first to offer myself as such a teacher, but you don't have to feel any obligation to choose me. I'm serious.

I think this would be the best way to learn programming. I still need to set this in motion myself to learn math. So if any math coach/teacher is offering him/herself for 15 euro's per hour, I'm all for it :)

My email is in my profile.

[1] e.g. a Kickstarter for refugees in your country

The best way to learn programming is starting with understanding the Framework of the programming tool that you would like to use

I have not heard of any studies specifically but have talked about this subject at length on my YouTube channel.

In my opinion, you just build projects incrementally. Over and over and eventually you'll be amazed at how far you've come.

Shameless plug, I have a website for learning to code in my https://www.codehawke.com

Programming is not some very special skill, so that the question can be described as: how to learn scientifically and efficiently?

You can find a certain book about learning, which must be backed by sufficient scientific evidence, and then you can get more relevant content by using Amazon book recommendations, and the references in the back of this book to gradually acquire the latest knowledge in this area.

Of course every industry has some distinctive experiences or informal rules, but those things are often not the way to learn, but one of the materials to learn.

And don't expect anyone to give you the best study plan, because studying is a very individual thing, don't try to copy other people's experiences.

Reading relevant research gives confidence and allows one to avoid a lot of obvious mistakes, but it doesn't mean one can find a panacea, hard work is necessary.


I read once that when it comes to natural languages, children learn the grammatical rules of a given language in essentially the same order. The author of the book was arguing that the brain is most receptive to learning if you follow this sequence, and it is difficult to absorb a concept introduced out of sequence.

So I don’t know if anyone has studied this with programming but I suppose every course and book that chooses the order of topics becomes an experiment in how well the brain absorbs concepts in that order. Find the highest rated programming material of any language and take note of its table of contents.

Personally, when I got started I learned by modifying existing programs, mostly games. I started fiddling with constant values (say, gravity). Then finding calculations and tweaking them (odds of a reward for defeating an enemy). It’s a lot more fun than starting from “Hello world”; I’ve always wanted an assignment series based on hacking on an open source RPG.

My theory is that just like learning to ski or building muscles the process can be accelerated by a really good, dedicated, 1 on 1 personal trainer.

You will save a lot of time by not having to unlearn and learn again basic stuff you should have gotten right in the first place.

In theory this works, but in practice usually people who could be really good "personal trainers" for programming are either super busy/expensive to give lessons or not really good at teaching.

Trust that your brain will naturally do a better job at pattern recognition than what anyone or any source will teach you.

In other words, just dive in and figure it out as you go. Following any sort of "way" or methodology will slow you down.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact