Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's never going to happen because it's lost on them just how hard programming is. I can say with a straight face, & not a hint of cynicism that programming is second only to medecine, as a wide-practiced* occupation, in terms of the cognitive effort it asks of its practitioners.


I am all for making good programming instruction available to anyone who wants it. I hate to think lack of access to knowledge and mentors is holding potentially brilliant programmers back. But I'm also sure this isn't going to turn programming into unskilled labor.

"… most people can’t learn to program: between 30% and 60% of every university computer science department’s intake fail the first programming course."

And that's just to pass a class, and these are people who chose to go to school and major in computer science. And that says little about future success writing real-world code, which some people can't seem to pull off even after getting a degree.

As far as I can tell, programming is part aptitude and part learned skill, and not everyone has any real aptitude for it. This doesn't mean they're stupid: they may be absolutely brilliant at something else. That thing just happens not to be programming.

But I see no harm in letting anyone who wants to learn to program try, and in giving them as much support as possible. At worst it's another failed experiment, but if the upside is inspiring a few more people to become great at this I'm all for it.


> "… most people can’t learn to program: between 30% and 60% of every university computer science department’s intake fail the first programming course."

You say "most people can't learn to program" because 30-60% fail a university computer science class. But can you really jump to that conclusion?

There are many other more feasible explanations. What if the class was taught poorly? What is students had no interest? What if the students never put in any time? What if the class wasn't fun? What if the students saw no potential gain from learning this material? What if there are too many barriers to even getting started and writing your first program?

I can tell you that we have a 5 year old, 9-10 year olds, high schoolers, and 80 year old grandpas on CodeHS, and all of them are able to learn. This speaks to the importance of introducing concepts in the right way, and making it fun and rewarding.


A big part of me hopes I'm wrong about this. Even if it's not what everyone wants to do for a job, being able to code is incredibly empowering. I was lucky to appreciate that early on.

I'm an odd case: I was a really stubborn kid, and I decided to learn to program while I was in grade school, so I picked up a language manual and dove in. I was obviously more than interested; I was deeply obsessed, and I happened to be good at plowing through ridiculously dry reading and fighting with something until I made it work. My experiences aren't typical, and I don't have a good handle on what is typical. (I also learned BASIC, then assembly for two CPUs, then C, then some higher level languages. My path is undeniably strange.)

I'd think most people choosing to study computer science would be interested in it, but I also know I met people in college who had no idea what they were getting themselves into, and they didn't exactly meet a kind introduction. There has to be a better way to teach this than what I saw.

It'd be really interesting to see how many students who go through your program go on to pick up a few programming languages or who can ultimately understand deeper computer science topics. Basically, what impact does this have on the world?


> Basically, what impact does this have on the world?

That is a big question, but I think the answer is that this helps teach critical thinking, and prepare digital citizens. I think another think allowed by teaching programming is helping students be able to create ideas they have. I wrote more about this here: http://blog.codehs.com/post/33113754964/the-factors-of-knowl...


"It's never going to happen because it's lost on them just how hard programming is."

This. Becoming a software developer takes an enormous amount of tenacity and patience, and willingness to dive into things you'd rather not dive into.

Someone following a pre-baked tutorial is probably not confronted with arcane showstoppers which require elaborate workarounds or debugging lower levels of logic. I have seen quite some people start a programming tutorial and wishing to become a 'coder', but then hit some brick wall the moment they had to leave the path that was set out for them. Not knowing how to proceed, they eventually shrug and give up, possibly sooner than later. This tendency to give up early is less likely if you arrive to programming from the bottom-up, for example, via electronics engineering. I suspect this has something to do with the expectation that hardware should behave deterministic.


We've also found people are less likely to give up if they get help at the right time. Many people at the beginning get stuck on simple bugs, but don't even know the right question to ask.


I won't say that programming isn't hard, but I also farm and find the farming to be the more cognitively challenging career of the two. You need the same problem solving skills and you need to be able to apply them to an even wider range of applications.




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

Search: