18 ms·
Obama endorses required high school coding classes
- sparkygoblue 14y agoI've been teaching computer programming to high school students for close to 15 years. In that time, I've seen the demand grow more and more as the stigmatism of computer programming being a "geeky" or "uncool" pursuit has slowly dissipated. The types of skills taught in computer programming courses -- abstraction, high-level problem solving, complex logic -- are ones I believe all students should have some level of proficiency in by the time they leave high school.
- maxerickson 14y agoI wonder if trying to cram all those meta-skills into topical classes is part of the problem. It would be interesting to see an academic track high school program that included some sort of project academy, where the instructor was more of a mentor that guided the student through finding, examining and solving a problem that they found interesting.
- thetabyte 14y agoSadly, as long as our education system is incredibly test-focused in the push for "teacher accountability", no "soft" curriculum like this will ever be a reality—despite how much better it would be for learning.
- maxerickson 14y agoWell, part of what I was suggesting is that it would only be a part of the overall curriculum. So a student might elect my 'project academy' as two of their courses for a half year. In a high school program that has 4 * 2 * 7 scheduling, 2 semester hours isn't such a big chunk of time.
- jchan 14y agoIt seems to me like a lot of the "required coding class" idea is based on a misguided desire to increase the competitiveness of our country internationally. Learning to program is good, yes, but to be honest, what goal are you trying to achieve? The article suggests that the goal might be to allow people to enter the job market more quickly. The fact is that "programming" in and of itself is just grunt work. Forcing an entire generation to learn how to put strings together to do stuff won't help any of them when they go to a job interview and see a hundred other interviewees with the exact same proficiency for copying snippets from websites. Problem solving is the much more important thing here, and that is already focused on in high school (remember word problems?). Programming allows students to explore problem solving more interactively, yes, but requiring schools to teach programming won't help in the long run any more than emphasizing a more comprehensive and intuitive approach to solving problems - I'm sure there'll be enough of those by the time these guys graduate to last forever. :)
- wtallis 14y agoHaving a labor pool that is universally more productive with computers would be a good thing even if we don't end up being relatively more competitive against other countries. And programming is probably a better vehicle for teaching important problem solving skills than a lot of the math and science classes that the average high school grad doesn't end up needing for their career.
- dizzystar 14y ago"Universally more productive with computers" does not mean "know how to program a computer." Should kids be learning how to use and run a spreadsheet and type without hunting-and-pecking? Yes. Should they know how to compute big O to be productive? No.
- wtallis 14y agoBig-O isn't programming, but basic programming knowledge like how to use scripting for everyday tasks does lead to increased productivity with computers.
- zalzane 14y agoDoes this really come as much of a surprise? It's pretty much as loaded as a question can get, no politician will ever disagree with that question posed to them because saying no would just make them look bad.
- toddnessa 14y agoI have home-schooled kids and have planned to start my daughter in Code Academy. Knowing how to code is a leg-up in the digital age. However, it's not for everybody. We still need those with basic trade-skills who seem to be getting kicked to the curb in favor of someone in China who could do the job cheaper. (If we want to build the American economy we are going to have to become self-sufficient inside of our own country again and have no trade-deficit.)
- seanmcdirmid 14y ago> If we want to build the American economy we are going to have to become self-sufficient inside of our own country again and have no trade-deficit. In North Korea, they call this Juche. They say it works great, but I think they might be twisting the facts a bit.
- jlgreco 14y agoSeeing how required programming classes in university (several MATLAB courses freshman year for all engineering students) affected the attitudes my peers had towards my work, I have to be opposed to this. Forcing people without an aptitude or interest to take some sort of "one size fits all" coding course is going to perpetuate myths and misconceptions about the industry. It is better for students to know that they don't know what programming is like than for them to think they know, and think it is awful.
- leke 14y ago"Required programming classes"? Sounds like a bit of a buzz kill already.
- dizzystar 14y agoI'm not feeling good about the trend of teaching everyone how to program. There are other skills that are equally as viable, if not more so, and there are a ton of people who wouldn't be able to cut it, anyways. Grant it, we all have our weaknesses (I have terrible rote-style memory so I did terrible in History), but I don't think that purposefully pushing kids into classes were there is a chance over 50% can't get a grip on it is a good idea. As an elective course, it is great, but should be no more mandatory than a foreign language or requiring people to master pre-calculus before graduating. I mean, with programming being so mathematical, why would you mandate students to program when so many struggle to get past algebra in high school?
- peter_l_downs 14y agoNailed it. Also worth mentioning that maybe being forced to take a class isn't a good way to learn something. I learned to love to program by playing with it as a hobby. I hated the programming class I took as an elective in highschool because the content was outdated and the teacher was pretty terrible. Another good question: who would be teaching these classes?
- Total_Meltdown 14y agoI don't agree with your implication that finding math easy is somehow a prerequisite for high school programming classes. I found that most of my struggle in mathematics came from lack of any kind of practical application for it. By contrast, I saw programming as building something, which is directly in line with my own sense of fun. I could just as easily have been an engineer or carpenter, it's just computers that I got my hands on first. I would say it's because of this that mathematics are much easier to me when I can apply it somehow to relevant problems that I'm facing in programming. So I argue that programming courses may actually be a good way to boost the really important stuff - literacy and mathematics. (I think everyone here would agree that literacy is an important part of being a good developer.) It's a real, practical, exciting application of these more abstract ideas.
- jiggy2011 14y agoWhen I went to school (in the UK) both learning at least 1 foreign language and basic precalc stuff were compulsary part of the education at GCSE (age 16) level. I would be extremely sceptical of the claim that 50% of people cannot learn programming as much as I would be sceptical of the claim that the same number of people would be incapable of learning written english or basic algebra. This is assuming that there is good quality instruction available (this is of course the hard part in reality). Bear in mind we are probably talking about very simple stuff here like for loops , simple algorithms like bubblesort and maybe some javascript animations or whatever. How to architect large OO systems, how to handle concurrency etc are probably not topics that need to be covered here at all. Students who want to study to be professional programmers will likely do extracurricular learning or take further courses. I taught myself to do simple program at ~age 10 and please believe me when I say that I was in no way a gifted child. Not only this but I successfully taught some of my friends how to program and they didn't seem to struggle too much. Programming can also bring new dimensions to other classes, for example it helped me check answers in math, made algebra much more intuitive and I even submitted a text adventure in place of a linear story in a creative writing class.
- whyenot 14y agoThis could be a good idea, but there are only so many hours in the school day, so what are you going to cut to make room?
- Jach 14y agoHow long has it been since you were in high school? While I don't know about other districts, here are the requirements I had to fulfill (a few things might have shifted since I graduated my particular school in the district, of course): http://alpineonline.alpineschools.org/uncategorized/alpine-school-district-graduation-requirements http://alpineonline.alpineschools.org/uncategorized/alpine-s... 24 credits over 10th-12th grade (a 1 credit class means it goes all 4 quarters in a school year). You'll note students have a modest amount of choice. Sometimes they must take a specific course like Financial Literacy, other times they get to pick from a set, e.g. the "science core -- 2 different quadrants" requirement. That one means you do any two year-long classes in physics, chemistry, biology, or...earth sciences I think? As you might guess, most students did the easiest ones: earth sciences and biology. Physics was the least popular one and class sizes were usually small. (By the time I left however an energetic young teacher had taken over and was aggressively getting students interested.) Anyway, the most important thing I want to highlight is the 5.5 credits of electives. That's what I suggest gets "cut"--i.e., make it 4.5 credits of electives, and require a 1 credit (== year-long course) in programming. For the students who may have already wanted to take such a class anyway (if they're lucky enough to be at a school that offers it), nothing is really "cut" for them. For other students, what gets "cut" is still up to them--as it always has been by nature of electives: students decide "I don't want to take this offered course and will instead take that one." Cutting an elective gives them slightly less choice, but it's a worthwhile trade-off I think. My one question about a proposed mandate from Congress on a programming class: can we retroactively apply it to all federal and state government employees?
- saraid216 14y agoEnglish. High school students now learn English by texting and tweeting, and they don't read anyways. #getoffmylawn
- peter_l_downs 14y agoSensationalized article title. The text reads The president suggested that with the high interest in digital technology among young people it makes sense to teach skills like programming and graphic design in high school so that students can go on to pursue a career, with or without a four-year college degree. which seems like a reasonable position to take. Doesn't say "mandatory" or "required" anywhere. EDIT: I'm wrong. The very first line of the article: President Obama says he wouldn't mind seeing a curriculum requirement for American high school students to learn a programming language. Still, mentioning it offhand in a google hangout seems very different than introducing it into legislation.
- corin_ 14y ago> Still, mentioning it offhand in a google hangout seems very different than introducing it into legislation. Absolutely, and there's a big difference between "endorses" as in a quick mention and "endorses" as in pushing for it with all his political power - however, just because it's him mentioning it rather than him trying to make it happen it doesn't change the fact that he did endorse it, as the title claims, and that for him to do that is still very relevant.
- protomyth 14y agoIf it isn't introduced in legislation, then a politician doesn't actually care. This is a basic truth in politics. I wouldn't expect this to happen given the general trend away from anything resembling vocational training and the lack of skills to teach the class.
- saraid216 14y agoBecause the executive branch is totally responsible for introducing things into legislation. Basic truth. Yes. Right.
- protomyth 14y agoYes, the executive branch does submit legislation to the Congress. In fact, the current administration missed a required submission deadline for the budget which is just a big bundle of legislation. Please learn how the US government works before the next election.
- rahilsondhi 14y agoI don't get why everyone all of a sudden needs to know how to program. There's more to the world than the iOS SDK...why does every kid need to be able to write an app? I really don't understand.
- logn 14y agoThe same reason all kids suddenly need to know how to perform Newtonian physics experiments.
- danilocampos 14y agoEvery time this is brought up, there's pearl clutching and handwringing from technical and non-technical folks alike. The fretting goes, "What about the people who don't like it? What about the people who have no aptitude for it?" And to this I ask: What makes programming so special that we should shield people without aptitude from learning it? Many have no aptitude for language – we still require english classes. Many have no passion for the sciences – we still require studying chemistry and biology. Some could care less about history – but every year of high school typically includes a history class scoped to one period or region. So why should programming be different? Why should we shield people from learning a subject which has ubiquity equal to language or mathematics, and infinitely more lucrative application? Why should we accept a substantial chunk of our population being illiterate on a discipline whose misunderstanding can have terrible consequences for both individuals and society at large? Understanding how a computer works, in a world dominated more and more by technology, places you at great advantage. Ignorance of the same leaves you at the mercy of those who are technically proficient and, more and more, limits your lifetime income potential.
- dizzystar 14y agoI don't understand this sentiment. Lots of people get through life just fine, and in fact are immensely successful in life, without knowing how to program. The fact is that the HS flavor of all of those classes are basically recite and regurgitate with a different name attached to it. The other difference is that there are different levels of classes for different levels of students, unless things have changed drastically from 15 years ago, this was the pallet of choices in math for a senior: Pre-Algebra Algebra Trig Geometry Algebra 2 Pre-Calc Calc And sciences were similar (and all elective): Chemistry Biology Physics etc... I really don't get why "computer skills" should be conflated with learning how to program completely. The world is very large and needed skill-sets change very fast. I guess that we should, since it is the current trend, force students to learn about handling large amounts of data and working through statistics and probability courses as well?
- danilocampos 14y ago> I really don't get why "computer skills" should be conflated with learning how to program completely. Speaking as someone who has been on both sides, you do not fully understand how a computer works until you understand how to write code for it in some form. Do they need to know how to write a compiler? Absolutely not. But knowing how to write a script with conditional outcomes is probably a worthwhile exercise. > The world is very large and needed skill-sets change very fast. If you believe that computing is going to go away in the next 30 years, that would be a fair point. But we both know that computers are creeping further and further into everyday life. Having a basic grasp on how to direct and control them is an obvious advantage. Your litany of courses does nothing to counter the reality that we are already forcing kids to learn certain subjects. What about computing makes it less valid than history, science or mathematics as a required field of study? We can say with certainty that students are more likely to encounter a computer than they are to encounter Henry VIII, Schrodinger's Cat, or a sperm whale.
- iframe 14y agoAs an optional class would be cool.
- prostoalex 14y agoThat's actually the way things worked in Ukraine when I was going to high school. Granted, it was programming in Basic, but everybody in junior and senior year had to take a course that combined keyboarding and programming. Ukrainian (and post-Soviet) education system is somewhat different from US, as students can leave high school after their sophomore year, if their future plans involve going to a vocational school, community college or just straight to work. Only those who plan to enter college stay for the last two years.
- unimpressive 14y agoI don't think I ever commented on this specifically. I'd like to go on record saying that even though I think everyone should learn basic programming, I can't support it as a required class for as long as the word "class" implies the terrible quality I currently associate with high school courses.
- foryoublue 14y agoThat's stupid, because some people just don't get programming. It can take several tries before someone can grasp what programming is.
- pfisch 14y agoHigh school is too late. It should happen in 6th-8th grade, but I'm not sure what class you would bump to make that happen. Maybe let it alternate days with foreign language?
- BrianEatWorld 14y agoI like your idea. I would be against this as a mandatory initiative just because I think it prevents the kind of diversification of minds that tends to foster innovation, but as an alternative for kids who have no interest in foreign language or even lower level math I think it would be an excellent.
- nhashem 14y agoThe words he used for his actual endorsement didn't scream "MANDATORY CODING" to me: "I want to make sure that (young people) know how to produce stuff using computers and not just consume stuff." Yes, it could mean coding. But people produce stuff on computers without coding all time. They produce stuff on Photoshop. They produce stuff on Excel. They produce stuff on Wordpress. It's becoming increasingly clear that economic growth and wage growth are becoming uncorrelated in the US. For example, startups add billions and billions of dollars to the GDP of the US, but we'll never hire the millions of people that got laid off at steel factories over the past twenty years. The economic model for the US this century is essentially one that consists of high-skilled knowledge workers, high-end manufacturing, and local service workers. Everything else will be subject to economic factors outside of US control. Lower-skilled manufacturing has had a revitalization in the US over the last couple years, but that's mostly due to things like China's currency appreciating, the price of oil remaining high, and a natural gas boom in the US. If any of that changes, those jobs will go back to China. Or Singapore, or Africa, or anywhere else where the supply of raw human capital is cheap. If you view the future of the US economy in this lens, then everything Obama talks about makes sense. For example, if this is the future, then the safety net programs we had in 1980 are inadequate in 2013. Nobody really debated health insurance in the US in 1980, because over 80% of Americans already received health insurance from their employer. Now it's barely two-thirds [0]. If you have a "top-heavy" skills distribution in the US, and your income is more strongly related to skills than ever, then you need a "top-heavy" tax code. Or you could just let people bleed to death in their bathroom because they tried to pop their own thrombosed hemorrhoid (trust me, don't google it) because they couldn't afford a trip to the ER. And to tie it back to the OP, it also means education for those high-skilled jobs will be the best way to ensure economic advancement. It's no longer a sure thing to advance economically by putting in your time in at the plant and have your labor union negotiate a 5% raise for you every two years. That doesn't need to mean everyone becomes a programmer. We'll still have manufacturing jobs, but they'll require more than just punching the clock every day[1][2]. We've all probably worked with a self-taught programmer who was toiling away at some crappy job until they either got a degree or made enough web sites to convince a company to hire them. And they probably tripled their income in the process. So I see Obama's statement as saying we should streamline that process as much as we can, and orient our education system to produce as many high-skilled workers as possible. [0] http://www.washingtonpost.com/blogs/wonkblog/post/study-fewer-employers-are-offering-health-insurance/2012/04/24/gIQAfGH6eT_blog.html http://www.washingtonpost.com/blogs/wonkblog/post/study-fewe... [1] http://www.nytimes.com/2010/07/02/business/economy/02manufacturing.html http://www.nytimes.com/2010/07/02/business/economy/02manufac... [2] http://www.nytimes.com/2012/11/25/magazine/skills-dont-pay-the-bills.html http://www.nytimes.com/2012/11/25/magazine/skills-dont-pay-t...
- johnpowell 14y agoNo problem with it. Consider it a class in logic. Math is mandatory and people still can't figure a tip in their head.
- lutusp 14y ago> Math is mandatory and people still can't figure a tip in their head. Yes -- be that as it may, let's remember that mathematics and arithmetic are two different things. Arithmetic is useful even though we now have calculators everywhere, but understanding math is much more important -- and it isn't about adding columns of figures or figuring a tip in one's head.
- joelmaat 14y agoThis needs to be introduced (in a much more basic form) well before high school. You have to get it into the average child's head before the age of 5, or it will never stick or be easy to understand, just like learning a new foreign language. And it should be taught in the same way (just not like they do in public education, but in a more modern way that is proving to be more effective).
- InclinedPlane 14y agoI'd rather we spend more effort fixing our broken system and actually trying a lot harder to make sure our high school graduates are all functionally literate.
- rcat 14y agoWhere I come from, students choose subjects they wish to specialise at the age of 12. One of these specialisations was computer studies, which gives basic knowledge of various topics someone working in IT might need. One of these was programming. It was poorly taught. Half of the class couldn't even figure out loops, they were literally scared of them coming out. They absolutely hated it. I chose to continue studying this subject at sixth form (basically the local equivalent of high school) and even though we were now taught by engineers and people with doctorates, they were horrible. They just spoon fed us, giving us programs to study by heart. They had no idea of code redundancy, modularity or readability. These were for students who chose to study the subjects. What the situation would be like if these courses were compulsory.
- DeepDuh 14y agoYou raise a very good point here. IMO there should be a big push in the pedagogic branch of CS. It should be a requirement for math teachers to study, just like manual division algorithms. I was lucky to have a math teacher in high school who pushed this subject out of her own will. However in my home country (Switzerland), what we call high school is only visited by about the top 20% of pupils, the others go non academic routes.
- jvehent 14y agoI've grown to believe that learning to code is similar to what learning to write was 200 years ago. You can't be a good engineer, scientist or even artist without knowing it. A few people who excel at it will have great impact on our society. Within 50 years, every single kids out of high school will know the basics of it, or have very limited choice in higher education. This is a good thing. Do your kids a favor, teach them how to code.
- froglet 14y agoNationwide pre k would be much more helpful than required coding in HS.
- professorTuring 14y agoNo. It doesn't make sense at all. It comes to me that teaching code in high school is a bad idea. It is a good idea to teach how to solve mathematical problems with a programming language. Just as a mathematical tool. It's curious how teaching "how to code" is going to greatly devalue the "coding-ability". Here, in Spain, coding is highly undervalue mainly because a lot of mathematician and physics and graduated in politics ( I mean, everybody) learned "how to program" in a one month course. So enterprises tend to think "anyone can code" instead of "I should hire professionals". And it's true. Those people know how to solve problems with a computer language, but they DON'T produce good software solutions (just generalizing) and you end up having a big ball of mud. This shouldn't be a problem if enterprises would have realized about software quality and maintenance. But they haven't. The consequence of all this it's clear. Very low salaries and an undervalued profession. --- Aren't you agree with me? Just have a look to the web. Most of non CMS web pages full of bells and whistles are clearly a mess. In fact, I really believe that most of web-related technology is a big ball of mud (HTML+php+javascript+css+json+...) because the main users/creators are not computer scientists. Yes, these technologies are a solution but I don't believe they're a good solution. (I'm not saying I could make it better, I'm just talking about the mess involving building a web page against building computer software). --- Nevertheless, don't take me wrong. It's great to bring programming closer to the people. It's great to have a lot of people improving, creating, developing and designing. But people won't never understand that coding is different than building software.
- taylonr 14y agoI get nervous every time the federal gov't tries to mandate things in school. It always seems like something from either the 50 facts & fallacies of software development and/or the mythical man month. It's as if they realize things are screwed up so they try to slap some tape on the side and hope that fixes it.
- Millennium 14y agoGetting them through The Little Schemer (or something like it in another language) may be a good idea, but I'm a little skeptical of actually making coding mandatory.
- edwingustafson 14y agoThe four R's: readin', 'ritin', 'rithmetic, and R! <http://www.r-project.org/> http://www.r-project.org/>
- jwwest 14y agoIt may be a flash in the pan, but I'm starting to see the commoditization of programming talent here. Back in 1999/2000 we saw a rash of "learn computer repair and network administration by CD!" companies, accompanied by "certificate mills" pumping out brain dumped-MCSEs by the boatload. These days we're seeing a similar pattern with mobile development: "learn to program for the iphone! Make lots of money!" and to a lesser extent general computer programming. The cynical part of me believes it's another sign of a bubble, but it may just be circumstance.
- largesse 14y agoIf Obama cares about education, he can start by dismantling the 'No Child Left Behind' apparatus. It is the most concrete impediment to responsive education I've seen in my lifetime.
- blablabla123 14y agoGiven some famous wisdom that approx 50% of the population is not able to code, this doesn't make much sense IMHO. Tools become better, many people will never need to code to become productive. One tool that allows people to do fancy stuff without coding is Excel. In fact the whole MS Office suite has means to create automatizations that would take a coder a long time to realize from scratch. On the other hand I would be in favour of mandatory HTML classes. It's a purely descriptive language, used in many fields. (But who knows, that skill might as well become obsolete when MS releases Frontpage 2020 RT.)
- liquidise 14y agoI feel like this would be a shortsighted move. It is my experience that coding takes a certain manner of thinking. This thought process (structured, boolean and logical [formal logic]) does not come naturally to many (most?) people. In highschool i took my first formal programming course, and despite a very good teacher, the majority of my classmates struggled. I can say i saw similar results in my early college programming. I love the idea of introducing more people to programming, but from my experience, this would be setting a majority of students up for struggles and failures. The few who would succeed will instead be distracted by the rest.
- mncolinlee 14y agoAbsolutely. Every student should get one semester covering basic computer skills. That semester should include a short unit on how computer algorithms work in the most basic possible sense. I see no reason why every school child shouldn't understand if/then/else, looping, and hello world in one simple language. It only needs to be a quick demo in order to expose them to the idea of being a programmer. We all had to take one semester of home economics and shop. Those classes weren't simply fluff even if we thought they were. They were also exposing us to useful life skills that could translate into jobs if we found the classes interesting. While sewing and cooking tend to be low wage work, they also exposed us to drafting, CAD, CNC milling machines, and other job skills that may have seemed more useful before China took those jobs away. We all had to take these classes even if we were destined to become programmers. Far more valuable than high school classes though would be adding computer clubs and contests at younger ages. Why would we wait until college ACM competition to make programming a rewarding skill? Computer skills are more important than chess or junior high football.