I suppose its an enviable effort but I wonder if its out of touch with the true state of education. Insisting kids learn to code in the current educational climate should not be a priority in most American schools. You see most of us have blinders on whether we know it or not 1) we magnify the importance of programming and technology because we ourselves make a living from it 2) many of us are in a socio-economic bracket where we are not exposed to the average highschool environment (I'm not saying we are hoity-toity but if you live in SV or make more than 60k/yr you probably dont have a true grasp on it - consider yourself lucky)<p>Kids first need to learn logic, math and english at a certain baseline... every good programmer is probably quite good at all 3 of those foundational things - those skills are the enablers for unlocking programming in a basic capacity. The problem is that the average highschooler is struggling immensely to get to that basic baseline at the time of graduation. Additionally with the very real budget and over-capacity problems, when new core curriculum is proposed the first predicament is what is going to have to get axed in its place. Somebody is going to have to pick something to say goodbye to that is actually truly core learning. Yes Im sure we all have our favorites of what we think is non-essential core curriclulum but in reality our opinions don't count and to be a realist they probably shouldn't - only the opinions of the district, administrators, teachers and parents count in any real way. Additionally, when you put programming up against any part of the core curriculum (geometry, algebra, literature, etc etc) - most will axe programming - I probably would as well.
With stuff like this, we degrade the quality of our profession over time.<p>Dont get me wrong, i like the idea and its good to have more people who understand programming. On the other hand it will also yield alot of low quality programmers, because the higher quality learn to code out of their own interest anyway. So in the end i am not convinced that its a good thing to have even more Rails programmers working for 15$ an hour.<p>Yes programming is a valuable skill, but i dont agree it needs to be more of a universal skill to people like carpentry or plumbering for example.
The people that need it for their job will have to learn it, the people that are passionate about it will learn it, all others will probably never learn it because it requires a ton of work and they end up on the low end, and we really have enough of bad programmers.
After reading just the title, I was worried. After reading the article, I'm much more optimistic. Figuring out how to scale up tutoring and "why doesn't this code work" might actually make a difference.<p>I'm a high school computer science teacher. I've personally taught (face-to-face) the basics of programming to more than 2,000 students over the past fifteen years. Quite a few of those have been "low income".<p>Letting kids struggle and being able to support them when they get stuck is key to deep learning.<p>Kudos, and ping me if I can be of help.
These stories appear about every month or so, right? I think it's apparent that a certain segment of society would love programmers to be the new factory-workers.
I've never liked the movement to get all kids to learn how to code. It's not an essential skill like Maths or English (or the language of your country). If we are doing our jobs right the only people who should ever need to write code are the ones who want to. Schools should offer computer classes for students who want to learn, obviously, but insisting everyone learn more than the basics (which kids growing up these days tend to know anyway) is a waste of time.
I truly wish them the best of luck, better CS education in HS is sorely needed. When I graduated HS in 2006, my school was just starting to phase out our programming classes that were still taught in Pascal by a soon retiring teacher. I remember those classes fondly, but I also remember how difficult it was to get other students to care.
New link that isn't broken: <a href="http://techcrunch.com/2012/11/26/codehs-is-on-a-mission-to-bring-computer-science-education-to-every-high-school-in-the-u-s/" rel="nofollow">http://techcrunch.com/2012/11/26/codehs-is-on-a-mission-to-b...</a>
Here is my $0.02. While this may be a great idea, coupled with the current state of software industry this is absolutely terrible! Let me elaborate. What does it take to get a job as a programmer? Next to nothing. After graduating with my computer science degree I've spent a few years working with the most incompetent people who were cooks, business graduates, poured concrete 2 months prior (you name it) and then decided to become programmers because they coded a formula in a spreadsheet.<p>I've spent some of the most agonizing hours unclusterfucking big bowls of pasta code with meatballs and all kinds of other shit all sprinkled with cheddar cheese. Then I had to hold their hands so that they wouldn't make such a stupid mistake again, and again and again. Then i left and you know what? These people still work there. This is exactly what this kind of thing encourages. It encourages coders, not software engineers/developers and it ends up hurting the industry more than helping it. Yes, you'll have some high school kids who'll like coding. They'll graduate from school and will be sucked into their first programming job right out of HIGH SCHOOL writing shitty code, making way more than their friends and making someone's life miserable. Then a small fraction of those kids will get better (some much better) and maybe get formal education, while the majority will remain damn coders. The industry allows this and it only gets worse. Look, we're not professionals by any formal definition of an engineering profession, but at least we can try to get there some freaking day. But it's incredibly hard to do when you have so much "noise" entering the work-force. Don't get me wrong, i think programming IS essential and I DO believe it should be taught, but i just don't see how this benefits anyone at this point in time.
It is about 'meaning'. I'll elborate: there are so many things you can learn, so many areas of art, of science, of mathematics, of history and what not - but _why_ should we learn them? Because they are useful? They make us a better person? This is the elephant in the room. Education and learning is more of an attitude instead of constantly stuffing yourself with 'potentially useful information'.<p>Programming is arguably one of the best ways to derive pleasure and seeing meaning in the learning process. You create, you design, you implement, you learn from others and in the end - most importantly - you have something working (and to show off), together with the thrill of knowing that this existed _because_, and solely because, you made it happen.<p>It gives one a purpose. So in order to bring things that're only in your imagination into reality, you learn to code better, and learn about what you're trying to code (say, history, or science, or Tarot decks if you're into that).<p>Instilling this sense of purpose to our young is a very lofty goal. In our current context, programming seems to achieve this goal in a far more time-efficient and rewarding way.
As a high schooler, I think its' good that companies are trying to reform computer science in high school. Comp Sci AP scares away too many kids, I think, because Java at first is an intimidating language and you don't get much out of the programs you create. Just seeing lines come out of the console isn't as gratifying as building a simple paint app in canvas. The key is teaching students how to build practical applications right off the bat. If my school had offered iPhone app making, I'm sure a ton of kids would have taken the class (granted Objective-C probably would have scared many of them away within the first few days). Making something with a UI makes computer programming seem more practical and interesting than sorting and searching an array in Java and spitting out its position in the console. On an unrelated note, Karel the dog and his (her?) world reminds me a lot of Greenfoot and GridWorld.
This may be partially "futile". Though my experience (from teaching and 15y of recruiting) is inconclusive I still lean strongly towards the "double hump" theory is true.<p>"All teachers of programming find that their results display a 'double hump'. It is as if there are two populations: those who can, and those who cannot, each with its own independent bell curve."<p><a href="http://www.eis.mdx.ac.uk/research/PhDArea/saeed/" rel="nofollow">http://www.eis.mdx.ac.uk/research/PhDArea/saeed/</a><p><a href="http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html" rel="nofollow">http://www.codinghorror.com/blog/2006/07/separating-programm...</a>
"You are using Internet Explorer, an unsupported browser :(<p>You should download Google Chrome so you can get started!"<p>Just a warning from a high-school teacher: this is a non-starter in a <i>lot</i> of schools. High-school IT departments have a lot on their hands keeping kids on approved sites, and (for historical reasons, as I understand it) IE is one of the easier browsers to deploy in such a way.<p>I know you probably don't want to develop for IE, but if you want to hit the market at large, you'll have to. I can probably get my IT department to put Chrome on for an approved list of students, but not every school will be willing to do that.
<i>While students will likely get the most out of CodeHS if it’s being offered in a computer science class taught by someone familiar with CS, the platform allows teachers to learn right along with their students.</i><p>That there is putting a finger on a huge cultural hurdle. Not just for the adoption of this problem bu maybe to adaption to the modern world. The rule of thumb is that teachers need to be 5+ years more advanced than their students.<p>A teacher that finds the material hard is a very different role.
I want to teach every American sexagenarian how to reverse dunk, taking off from the free throw line. My "Show HN: Hacking Levitation" will be along shortly.<p>Teach kids math, teach kids to write, and let those who care to find their way to coding. The schools are doing badly enough on math, reading, and writing that this is the area that requires concentration.
Best of luck! The education system is incredibly antiquated; it's time to give future generations the tools to not only compete, but to thrive in the 21st century.