Despite $30M Tech Push, Half of US States Had Fewer Than 300 AP CS Test Takers
theodp writes: As President Obama was 'taught to code' last December, Politico reported that the $30 million tech-financed campaign to promote computer science education was a smash success. And indeed it has been, at least from a PR standpoint. But Code.org and its backers have long spun AP Computer Science test metrics as a true barometer of CS education success, and from that standpoint, things don't look quite so rosy. The College Board raved about "massive gains in AP Computer Science participation (25% growth) AND scores" in a June tweetstorm and at its July conference, where AP CS was declared the '2015 AP Subject of the Year.' But a look at the recently-released detail on 2015 AP CS scores shows wide differences in adoption and success along gender and ethnicity lines (Asian boys and girls, in particular, set themselves apart from other groups with 70%+ pass rates). And, for all the praise the NSF lavished on Code.org for 'its amazing marketing prowess', half of the states still had fewer than 300 AP CS test takers in 2015, and ten states actually saw year-over-year declines in the number of test takers (if my math is correct — scraped data, VBA code here).
I don't know what beef theodp has with Code.org, or H1B's, or Asians, but his diatribes against education needs to stop. The fact is that there IS growth in CS education (25%). The fact that there are still differences between genders and ethnicity means that we need to target those groups more, which Code.org is doing. Also, some states are not participating as well as others. This just means that Code.org needs to target those states.
I don't understand how theodp gets every rant posted to Slashdot. His linkspam xenophobic, anti-education rants are disgusting.
Maybe it's just the Mathematics and Computer Science educator in me, but I think the biggest problem is finding good people to teach CS. Here in South Carolina, you are required to take a CS class prior to graduating HS (of course, learning Word counts as a CS course, but that's a discussion for another time). The problem is, the people who teach these "CS" courses are the baseball coaches, PE teachers, random administrators, and anyone else who don't already teach a full load. There is no such thing as an accredited Computer Science Education degree in the state. Even NCATE wedges a CS education certification under "Educational Communications and Technology (Initial & Advanced Preparation)" instead of it's own category. Lets nail down what type of content needs to be taught to high school students, start training teachers, and I think the increase in AP CS takers will follow.
Summary : "Obama Sucks because I say so"
29556 students took it, with a pass rate of 63.78%,.
Half of states had less than 300 CS candidates? Who cares, the distribution will follow where the jobs are. If you want a spread of students then spread the computer jobs evenly out across the country. Otherwise welcome to the real world.
Apart from that good job! Dump on a successful education program because the kids were Asian, or Women, or worse ASIAN WOMEN, then try to blame your dump on Obama! Well fuck you. Partisan crap like that undermines education, save it for your pork.
Maybe it is pointless to push people into jobs they have no desire to do in the first place?
As a STEM worker, I most definitely wouldn't want my kids to take up a STEM career. You're not assets, you're expenses that need to be cut.
It also remains to see that the 30 mil did anything, as people are naturally going to flock to one of the last remaining jobs that pays decently (for now) and doesn't involve manual labor. It'd only make sense that CS participation will increase as time goes on.
If I had a young kid, I'd convince them to take up a trade. Programming is going to filled with so many code monkeys that wages will drop considerably. It's already happened with basic web development, there are seemingly millions of Wordpress code monkeys. Luckily I do a lot more than web development, but it's only a matter of time before all the programming languages are overrun with cheap workers.
My kids don't want to move to India or China in order to get a job.
I'm sorry, but we also have to remember that headed into this market, your average student will only hear negatives about the long term prospects. CS is a huge field. On the hardware side we have large corporations bringing in H1b workers to replace Americans, on the coding side they don't bother buying them a plane ticket. College is expensive and why invest in poor job prospects with limited to no security?
Please normalize by a population (i.e., test taker per 100K or 1MM). If WY had exceeded 300 test takers that would've been an amazing accomplishment.
I convinced several young students to NOT even look at CS because most companies are Asshole scumbags to their programmers. Also the fact that some moron BSA will find he can save $1.25 this quarter by firing all the programmers and outsourcing to China or India yet again makes job volatility.
I convinced them to chase down Cyber Security or if they really want to program, specalize in embedded systems with a EE degree along with CS so they end up above the typical CS grad applying for the jobs.
General CS is the factory work of the 21'st century. Nobody sane will go into it until it's unionized and a lot of managers forcing 60-80 hour work weeks get their knees broken. Because these asshole companies and managers are not going to change out of the goodness of their own hearts.
Do not look at laser with remaining good eye.
I think it's great. Silicon Valley wants to get more h-1bs, and the Black Congressional caucus is threatening over not hiring enough black people. What PR education strategy is Silicon Valley going to come up with, to make Congress happy, and get more h-1bs???? I wonder if Nigerian h-1bs would make Congress happy?
After graduating high school in 1980 I was told that computer programming was going to be essential in the future economy. I took it - twice - and learned from it. But I would say it's kind of like knowing how to fix a car. As much as I admire car mechanics, the "essential" skill of being able to replace spark plugs and timers which my grandfather showed me as a child in the 1960s turned out less urgent than advertised. The essential thing is to know just enough about fixing a car to know what a mechanic is charging you for. I think we should be generally concerned about kids getting a general education in how stuff works, and coding is a part of that, but TFA seems to be elevating it above geography, languages, math, shop, finance, logic, etc. I'm actually most alarmed by the lack of logic courses in school, when I'm hiring logic and ability to think are the most important skill sets. And coding is a great indicator of that, but not the only one.
Gently reply
Everything you know about pay and the job market only applies to defense.
When A bunch of us were canned and didn't go to TX, we had a real rude awakening about the CS job market.
Fact is unless you're the cream of the crop, you're going to be working in a company where the manager probably has a finance degree or an accounting degree. In any case, she will think you're perfectly happy programming and, when you need help, will hire another accounting/finance degreed manager so that you can now write two status reports. The problem is that even though you're just as qualified (maybe you need help with budgeting), you won't be considered for any job other than technical something or other and there are many positions that are like that.
I would also mention that two prevailing methodologies, Agile and Object-Oriented, specifically are designed to make IT workers a commodity. So that technical job you're limited to is probably an architect position of which there are few.
When, as a programmer, you had influence on the direction of software I love programming. Now I'm just trying to get to retirement (and that's no way to start a career).
This is my second full year teaching 11th and 12th graders at the local BOCES CTE department. I have no industry background, but a strong interest in programming. I know I am not an ideal candidate for teaching the content, so you'll have to trust me when I say there is no one more qualified who would do the job for the money, and the change from my last job is a huge benefit for me as suddenly I'm spending a lot less money on gas and I have a job that is challenging but worth the challenge. For some reason, an actual Computer Programming course is the only thing for which funding is not on offer, unless of course we cater to several girls, which does not seem to happen much.
As noted in several other comments, this type of job usually falls to someone who has never written a line of code; I have a goal this year to write a program that the students at least will use, and that I will post to GitHub. I have been a follower of many open source projects and I am very familiar with the community. I have little teaching experience, but I am making the most of my PD and taking the courses required for CTE teacher certification (i.e. not a Master's in teaching but a handful of required undergrad courses).
The current "industry-based" assessment for the program is the NOCTI -- a test that has no guidelines on content, language or other skills but requires students to make a form to purchase music items in order to be certified. I am open to suggestions and have put a feeler out to Google's Education twitter handle to see if they know of something more relevant, but have gotten no response. Without a certified industry assessment, I am doomed to fail my students, and to be labelled ineffective as a teacher. I am willing to work on an assessment and curriculum based on community and open source software, but to my knowledge no one else is working on this. It would be great to produce it myself, and I am not afraid of the work, but I doubt that I could get it certified by any authority without backing from a major household-name industry player such as Google. For some reason all material I find online is geared toward teachers in core subjects teaching a week or so of programming.
As for AP CS, the requirement for me to be able to give my students the credit for AP is that I myself have taken all the required courses in CS that a professor in college would have -- i.e., a Master's in CS plus a prereq undergrad courses. I started college in a CS program, but changed colleges and majors in order to earn a BA in English (I know, I know...). The AP seems to favor Java, which is not problematic for me as that's on what my first year of college focused. The initial courses required for AP require hundreds of dollars that are not on offer for new teachers; I have dropped over $1000 so far just to maintain the requirements for initial certification and the course I am taking now will cost another $1000. Reimbursement is offered but there are so many gotchas that it's worth it to plunk down the cash and then beg for it back.
The good news is that between O'Reilly's free "Safari for Schools" library containing much recent material on diverse fresh topics such as Raspberry Pi, Arduino, Python, web apps and mobile apps, and traditional technologies and languages such as SQL (especially MySQL), C++, etc, as well as possible school-wide access to Lynda.com, I could teach the students literally anything they might want to know about programming. Unfortunately, I need to focus on a set of industry skills and narrow that to get them to pass the above-mentioned NOCTI assessment in order that some of them will earn a gold seal.
Any advice is appreciated. I'm looking forward to many years working with young people providing what I wished for during those same years. I have a supportive administration (except when it comes to finance, until I can prove I know what I need and why) and fellow faculty, and the best students I could ask for. I need to be a better programmer and teacher, and fast.
Emacs: for people who just never know when to
With rampant outsourcing and offshoring, along with US Citizens being replaced by H1B visa holders, they'll be forced to train their replacements.
Why would anyone study CS? There are no stable career paths there. Every CS job will go overseas eventually
I would also mention that two prevailing methodologies, Agile and Object-Oriented, specifically are designed to make IT workers a commodity.
What? Object-oriented programming came from a simulation language, in which it actually made real logical sense to talk about "objects". You can argue about whether OO makes more sense for modeling the real world or not, and people do, but that was why it was invented.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
For one, our policy makers don't have a clue and were heavily lobbied by companies who want a steady stream of cheap labor.
Secondly, extrapolating demand into the future is a fools game. Who knows what will be in demand in 4,5 or more years. Petroleum engineers are not doing well right now and new grads are struggling.
Third, considering how difficient Americans are in basic sciences, that is where we should be concentrating - not on a trade like programming.
...despite massive investment. No surprises here: social engineering has very low success rates.
I'm a minority race. Save your vitriol for white people.
What did they do with the money? My guess is they sent Obama on a speaking tour or a vacation and didn't actually give any of it to schools. I know my kids high school didn't have any kind of discussion over how to spend the money from this new program.
Of course, even if every penny was sent to schools, which I'm pretty sure it was not, when you divide it amongst 131,000 public and private schools, that is only $229 each, so there probably doesn't have to be a big discussion about what to do with it. You could buy a desk and chair that you could eventually put a computer on after you have raised the money for one.
If you are not allowed to question your government then the government has answered your question.
They won't be happy until they have reduced software development and support to janitorial services and devalued the work to the point of competing with burger flipping. And all these "hurr durr everyone must learn to code in school" idiots are walking hand in hand with them right along.
The last 40 years American education has worked to make everyone equal. No one stands out. If they do, they likely get shunted over to a specialized tech high school. Too many kids are brought up with the all-participants-get-a-ribbon mentality. The bright kids that are capable of working hard to get ahead are actually discouraged by the US educational system, so that the dumber ones don't feel bad. The US has hurt itself in so many ways with the stupid PC thinking. In life there are winners and losers. Teach the kids to compete and win, until they find what they're good at. Asian kids know that they have to work hard to get ahead, while many US kids are coddled at school and by their parents. US Education has been heading in the wrong direction since 1970, just after the Supreme Court gave kids "rights" in school not to be slapped when acting out, etc.
I took the AP CS exam in high school, but didn't really get much out of it. My university's CS program was a good one, and it didn't count the AP CS exam as credit for anything. My AP CS class in high school was good, but I'd have learned the same material in the class even if I didn't take the exam. Maybe the students just wanted to save some cash.
In the name of "diversity", the current set of AP Computer Science standards have been watered down to render them effectively useless. The extra work for the class and studying for the test really has no point since you can learn Java syntax out of a book.
IMO Taking ïthe AP CS exam is not as important as ïthe tech industry would have us believe. ïthe most important concepts such as sorting and searching algorithms are not really tested on ïthe test. Most people should be able to quickly learn object orientation and how java implements things like abstract classes, etc when introduced at ïthe university level.
that H1Bs put the "B" in B-Player!
College Board could only find 300 people in an entire state willing to participate in their test taking scam.
I think a good chunk of STEM parents hitting the magic middle age mark during their kids' schooling are living examples of why not to study STEM subjects. I'm sure there are a fair number of developers and IT workers who have been forced to train their replacements and tossed out, all while their kids are watching. I know not everyone experiences this, but when you're 18, if you hear about a field having no future, do you flock to it even if it's fun or interesting?
The only truly safe routes if you want steady employment are medicine on the high end and trades on the low end. Medicine is safe because doctors were smart enough to form a trade organization to limit entrants, set standards, bribe Congressmen, etc. Trades are safe because they're not outsourceable, and in union states, operate on a guild/apprenticeship system. Law used to be safe, but the Bar Association started doing things that IT employers are doing, such as allowing offshoring and pumping up law school enrollment to increase supply and reduce salaries. The legal profession used to be a guaranteed meal ticket, regardless of where you graduated from -- now it's a closed club requiring you to be in the top of your class at a top 5 law school to get a lucrative job and make back your investment.
I still think it's time for tech workers to form a trade guild before it's too late to rescue the profession. Companies hate paying high wages for uneven-quality work. And because tech workers refuse to associate, they're able to pass favorable immigration laws and push agendas like "everyone can code." I feel that computers are essential now, and it's time to get out of the wild west phase of the profession...sure it's great to innovate and try new stuff, but when programming languages, platforms and frameworks get thrown out every year, nothing stable ever gets built. As an experienced worker who learned from a lot of other experienced pros on the way up, the loss of entry level (apprentice-level) work to offshoring bothers me because that's where your next generation of talent comes from -- not coder academies and forcing disinterested high school students into AP CS classes.
If you actually look at the numbers, it's pretty impressive gains for the metric at hand. All for $30 million which is an incredibly small sum for a national education project. The summary tries to paint the situation in a bad light by using misleading statistics like "over half still have a small magnitude" ignoring percentage gains/losses and "there are even some statistical anomalies" ignoring the vast differences between states in the United States and their inevitable treatment of any kind of education, let alone tech oriented education.
The fact that there are still differences between genders and ethnicity means that we need to target those groups more...
Name one good reason we need to "target" anybody. If people don't want to work in a field then that's their decision. Whether the reason is cultural or whatever, you're only going to make everyone miserable my lying to them and making them think that they want to work someplace that they don't. This is as dumb as saying that we need more white rappers so let's target white people somehow. Diversity for its own sake doesn't help anybody, so stop pretending that it's a goal worth chasing.
Why is this a problem? In my most recent job search, I could have been considered for "lead" or "architect" programming positions. Indeed, after my current career step (senior dev) I would have to take a position like that to move up. So why didn't I?
Because I don't want to become the thing I hate. I don't want to have to listen to idiot walking-haircut C-student MBAs get their input treated as just as valuable (perhaps more so) as mine on issues that the MBAs don't have a prayer of understanding sufficiently. I don't want to have to work directly with people whose core competency is avoiding responsibility for all of their own fuckups. I don't want to manage people, either. I'm a programmer, that's what I do. I would be a really awful manager, because 1) I would have all my reports quit because I've got shitty "soft skills", and 2) I wouldn't just eat the shit sandwich that upper management has given me. Last job I had, our Project Owner (scrum) wouldn't have known a priority issue with the site if it bit him on the ass, and when someone who actually works for a living told him that his prioritization of the shade of red on the landing page over gaping security problems and crushing technical debt was a bad idea, he got away with it, despite having the technical expertise of a bottle cap. It was bad enough having two boxes between me and him on the org chart, having to work with him on matters of consequence where I could be guaranteed of having my input ignored on a daily basis would end with a dead body on the floor - either theirs or mine.
So, don't get a job like that, and the problem is solved, right? Nope. Next time I go to apply for a job, the shithead HR drone will look at my work history and say "Wow, he's been a senior dev for twelve years. Why hasn't he gotten a lead or manager job? Must be something wrong with him." I'm at a point where it's not OK for me to do what I am good at and like to do, and totally coincidentally, where I am most valuable. It's like the Peter Principle in reverse; I've risen to my level of competency, but I'm not allowed to stay there.
Never underestimate the power of stupid people in large groups.
"Disinterested" means you don't have an interest in the outcome, you are a neutral party. Example: In a courtroom, the prosecution and the defense are two very interested parties, but the judge is a disinterested party.
"Uninterested" means lacking motivation or curiosity in the matter. Example: I am uninterested in viewing your Brony artwork.
I had the chance to take the AP CS test when I was in high school, I didn't take it. The schools I was applying to had their own CS placement exams. I could take one of those for free, which better placed me into their CS program, or pay to take the AP test and pray I get a 5. The college test was easier, free, less stressful, and didn't take up as much of my time. Sure I didn't know if I was going into CS1, CS2, or CS3 until the first week of class (tested into CS2), but I can handle a little uncertainty in my life.
The amount of people taking a test is a bad metric. Why aren't people measuring the amount of people going into CS related majors and jobs?
Are different. In spite of a multi-million dollar campaign to prove otherwise.
Really, I've never posted this before because I always think it's obvious and better left unsaid, but your comment was so striking I feel my hand is forced:
WHOOSH
The Daddy casts sleep on the Baby. The Baby resists!
Were more AP classes offered? If not, they sure as shit weren't going to graduate more students. In the systems I've seen, once a class fills up, nobody else can sign up for it...first come, first served. Did they expect more students to sign up w/o adding more classes & educators?
Just another day in Paradise
thought it'd be interesting to color it by politics.
http://imgur.com/2hObSnu
So, don't get a job like that, and the problem is solved, right? Nope. Next time I go to apply for a job, the shithead HR drone will look at my work history and say "Wow, he's been a senior dev for twelve years. Why hasn't he gotten a lead or manager job? Must be something wrong with him."
Almost no one is going to think that from looking at a resume. Many companies don't have a distinction between Senior Developer and Lead Developer, so no one will hold that against you. They will look at your list of accomplishments under the job title to determine capabilities, not your job title.
Once they talk to you in person, then your lack of managerial accomplishments may count against you. But this is only if your employer wants someone who can help manage / mentor other developers or who can grow into that role. This may be the vast majorities of employers, but they should not be expected to craft their job openings based on the type of work you like to do. It would be no different than hating an employer who requires Javascript knowledge for their senior web developer because you prefer to write code in the back end.
Most employers are rightfully learning that writing code is not a skill that requires an in-house developer. If that is all you need then just outsource it. Most employers want people who can both write code and interface with stakeholders and coworkers. Soft skills are almost the only skills that separate a $100/hr developer in the US from a $5/hr developer in the developing world. There are some skill-sets which are so rare that soft skills are easily overlooked, like compiler development, but for the vast majority of developers it is their soft skills that make them valuable.
-- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
every project needs testers.
the captcha is: frisking
lol
That is not the point which I am trying to make. My point is that I am happy as a developer. I do not want to manage people. I do not expect employers to tailor their jobs to my skill set. A job description that includes manager tasks is not one that I will apply for, and that's fair. Those skills are not in my set; it's the same as if I didn't apply for a job that requires Scala experience, of which I have none.
So what's the problem? The problem is that I am valuable to my employer as a developer. I would be much less valuable to my employer managing people. However, any opportunity to move up requires "soft skills" and "managing", neither of which I want to learn nor do I have any latent talent for; forcing me to perform these duties will detract from my value as an employee and the efficiency/success of the employer. It should be the same as me not learning Ruby, or node.js, or (insert technology here); that's a choice I've made knowing that not having those skills will make some jobs unavailable to me. But, for some reason, when the skills involved are "soft skills", this does not apply; for some reason, it's OK to not know Ruby, but it's not OK to not have "soft skills". (Please note that I don't consider "soft skills" to be "not being an asshole", which I can do; I define "soft skills" as "the skills and experience necessary to effectively manage other people," which I have no interest in learning.)
It is assumed that one wants to continue to move up in one's career path, and anyone that doesn't is regarded with suspicion. There are a couple of possibilities for someone who is being perceived as not "moving up": 1) They lack ambition and drive, or 2) They're not able to move to the next position because they're bad at the skills that everyone has arbitrarily decided are necessary for a developer to have at a certain level of experience.
What this does it make it harder to get a job that matches my skill set, despite the requirements and that skill set still being a match. People are going to look at that and say "Well, why has he been a senior dev for 12 years?" They'll assume it's one of the two possibilities above, both of which hurt my chances for continued employment. Forcing developers into roles that they are usually ill-suited for, or have no interest in, is a recipe for disaster. I just left a job where my manager was a developer pressed into service as a manager due to another employee leaving. One of the major reasons that I left there is that he is a terrible manager as a result. I think I would have been better off without a manager than having had him in the role. Forcing the square peg into the round hole almost never works out well, yet there is a widely-held opinion that, for some reason, forcing developers into management capacities (which is what this ends up being; if you don't move into one of those roles, you will stop being able to work at the level that you are at, eventually) is a good idea. Why can't I stay at the senior dev level for as long as I want? I am perfectly happy with roles requiring "soft skills" being unavailable to me. I have made that decision. It's kind of like refusing to hire an experienced heart surgeon because he can't drive a car; his commuting options are limited, but he can still perform his primary duties competently.
Never underestimate the power of stupid people in large groups.
Your sentiments echo mine. I tell everyone I know to stay out of CS even if they like doing it. At best you get a bottom of the barrel job, and worst you get that job and train your H1B replacement.
I am a CS professor and academic advisor involved in K-12 outreach.
Valid reason already cited: Many high schools, even good ones, lack CS courses due to lack of funding, lack of qualified teachers, and because CS often doesn't count towards math and science requirements.
Invalid reasons previously claimed: CS/STEM interest is down? Just look at college enrollments to see that STEM enrollment is up, and CS enrollment is through the roof. CS/STEM jobs are unavailable? My graduates drown in job offers. Many seniors have committed to a job over a semester before graduation.
Plenty of students are taking other AP exams. I am not surprised to see students enter university with 60 AP credit hours. I have seen 90 AP credit hours. Math, Physics, and Chemistry AP are all very common. But the lack of AP CS interest is specific to this test.
At the university level AP CS often doesn't count as useful credit. There used to be two AP CS exams: CS AB and the easier CS A. CS AB often got credit for the CS major introductory course. But, the CS AB exam was eliminated during the nadir of CS interest after the dot.com bust. The CS (formerly A) exam was eventually revised, but still generally doesn't count towards the university CS major.
In some districts, high school AP courses get bonuses towards student GPA. A top student *must* take all AP courses to be a top GPA student. However, in Texas at least, AP CS does *not* get this bonus while other AP courses do. Even an interested student has strong disincentives from taking AP CS course.
Where do people like you work? Name and shame, or step away from the podium. My employer has given me regular raises over the last few years to keep up with market rates, and my schedule is very reasonable. I rarely work more than 40 hour weeks, nor does anyone else here. I have had similar experiences at the last 3 companies I've worked for.
As a hiring manager I know how hard it is to find good talent, it's a competitive market. If your employer is mistreating you must be located in an area with not much competition in the tech sector. There's no way we could hold on to people here in LA by treating them poorly.