That would send a message about the importance of technology smarts and skills, argues Patterson, a computer science professor at the University of California, Berkeley, and president of the Association for Computing Machinery, a group that runs a major student coding contest.
"(Our presidents) meet the winners of the football championship, right?" Patterson says. "Gee, wouldn't it be wonderful if the presidents would meet the winners of the programming contest? Wouldn't that be a better world?"
After U.S. students earlier this month made their worst showing in the 29-year history of the ACM International Collegiate Programming Contest, Patterson and others are wondering whether the United States does enough to encourage programming talent. The top U.S. school finished in a tie for 17th place. Students from China's Shanghai Jiao Tong University took the top honors, continuing a gradual ascendance of Asian and Eastern European schools during the past decade or so. The last time a U.S. institution won the world championship was in 1997.
Some argue the results don't necessarily mean much, given the way foreign schools may put more emphasis on the contest. What's more, the number of entrants has mushroomed, from fewer than 650 teams in 1994 to more than 4,100 this year.
Patterson, though, thinks there's more to the U.S. decline--viewed by some as a sign the country's tech leadership is in trouble.
ACM's leader knows a thing or two about creating important technology: He played a key role in the development of so-called reduced instruction set computers, or RISC, and was involved in a Berkeley networking project that led to technology used by Internet companies such as Inktomi.
CNET News.com recently spoke with Patterson about ACM's contest, the state of student tech talent in the United States, and how outsourcing is affecting the field.
What's measured in the ACM programming contest?
Patterson: The problems are not simply, as the title sounds like, 'Write a program to do factorial fast.' It's more problem-solving than that. One of them had to do with a cell phone tower. You had to cover this many people, so where would you place your cell phone tower, or something like that.
What are the origins of the contest?
Patterson: Since ACM has been around so long, it started off as a local programming contest and then it expanded to be nationwide and then international. Education was a big part of the ACM mission. Since computers were brand new, one of the big challenges was going to be to teach people how these use them. So this was kind of a natural thing to do for this volunteer organization. Somebody thought it would be nice to have a programming contest.
What's happened in the last 10 or 15 years is information technology has been spreading through a bunch of these countries, many of which do not have great economies and find information technology very attractive. It's not capital intensive. It's a nonpolluting technology. And nations think of themselves as good at things. If you think you're good at math and science--like the Russians, I think, do, and Indians and Chinese--if they think, 'Gee this is something we're good at,' IT becomes a target.
As result of your story, I've gotten feedback about how seriously this is taken. I'm told in Russia...the contest couldn't be taken more seriously.
That's one of the questions I had: Is it taken more seriously in other places?
Patterson: Yeah. As far as I know there's no steroid that you can take to make you a faster programmer. (But) you had the feeling it's almost like East Germany was with the swimmers--it was national pride how well they did in the Olympics. Well, apparently Russia takes it so seriously?that success in the programming contest affects the funding of local schools. Those that are more successful in the programming contest get more funding.
The programming contest is now like (soccer's World Cup). It's not just a national competition. You get to measure yourself against everybody in the world.
Do you think that the U.S.'s poor showing--the poorest showing so far--is a reflection of us not taking it as seriously?
Patterson: I've been thinking about that. The United States is used to being No. 1 in everything. If we were fourth and it was, 'Oh, the other guys are just trying a lot harder,' that wouldn't be as big a deal. But I suspect that--given that we're 17th--it's more than that. It's not just like, 'Well, this one country is taking it really seriously and so we're never going to beat them at that.' You know, we're 17th. There's a lot of teams from a lot of countries ahead of us. So I think it's more serious.
Why did the U.S. do so poorly?
Patterson: First of all, I think that'd be a great study. That'd be a great study to see what's happening at these other places versus here.
From the ACM perspective, this is great. The contest is getting more popular, and people are taking it so seriously. It's impressive. The Russians winners--they won it I think a year or two ago--they got to meet (President Vladimir) Putin. They got to meet the leader of the country.
Wouldn't that be wonderful if that were true in the United States? What happens with our presidents? They meet the winners of the football championship, right? Gee, wouldn't it be wonderful if the presidents
See more CNET content tagged:
contest,
president,
programming,
U.S.,
winner




The primary reason for this lack of interest on my part and probably a number of others is the lack of advances in coding. The article's expert admits that colleges and universities are still teaching the same courses from 30 years ago, and that is the biggest roadblock in my view. Computing technology has eveolved dramatically from where it was 25 years ago, yet we are still using C++ and similar languages of that period to create today's software solutions. The software industry as a whole is so change resistant and introverted that a software version of Moore's Law could never work. We take machines with phenominal capability and saddle them with bloated code based on principles developed a quarter century ago. Object-oriented design doesn't go far enough, the developer toolkits are efficient enough, and there is not enough research or incentive to more programming to the next level. Until then, you'll have trained "programmers" like myself who really don't care to write C++ or (god help me) COBOL apps all day doing analysis and other IT roles.
Most software on the other hand, is a unique solution to a unique set of requirements, so it's impossible to get the same effect.
Keep in mind that digital hardware was used prior to the invention of the microprocessor to do the sorts of things that software does now.
The use of software greatly expanded our ability to solve complex problems and produce products at a resonable cost.
Despite all the talk about the lack of discpline in software vs. engineering, we would be far behind where we are now if we relied on hardware alone.
Seriously, though--it's time for government to step up to the plate.
-JDM
It's not like programming is a field where you need the resources of a big aerospace defense contractor to get new ideas off the ground. So if you think there's a lack of innovation, well, innovate.
Like it or not, programming is not only permanantly linked to math, it is built on it.
Programming contests are misnamed, they are problem solving contests. For better or worse, they don't judge programs on their efficiency(to point a they do, but the fastest executing code, won't get you any points), how well written they are, or how secure they are. You certainly would not want to use contest code in a project, but that is not the point of the contests.
The point of them is how well you and your team can problem solve, come up with a workable algorithm and type it out in the shortest time possible.
I love programming contests and participate in them at least 3 times a year. They stretch your anaytical thinking, and in the long run makes you a better programmer.
The fact is, in most programming jobs in this country, you do very little algorithmic work. Most programmers do database access, user interfaces (desktop or web), business logic, things like that. Knowing how to build compilers or even implement A* is stuff most working programmers will rarely (if ever) use.
As long as this continues to be the case (and I don't see it changing anytime soon), I expect we'll keep turning out programmers more focused on the skills they will actually use in the job market than on serious Computer Science.
What we need now are "innovators" and "entrepreneurs"--not "negative, neo-communist, cushy-job-seeking cry-babies". We need people who can accept a challenge and prevail, not people who can explain in great detail why everything is impossible all of the time.
Sincerely,
JD MacDonald
I won't be able to escort you out on your last day. There us a management off site in Vale for the week. So you'll have to show yourself to the door that day. Just drop you ID badge on the empty receptionist's desk on your way out.
Other positions available? Why, no. There are no other positions available at the current time. But we'll keep your updated resume on file just in case something comes up and we need you for some reason.
These people exist irrespective of countries' borders and will continue to benefit people all over the world. These people have made and will make a much bigger impact than the notion that we should improve the general programming abilities of people who took received a computer science degree because "I heard it was a stable paycheck" and little else. Guess not, that no longer holds true.
-M
PS: CS graduate (1991)
The people who got into IT because they were expecting a cushy job and/or a fat paycheck were misinformed. Now they'll either have to change their approach...or get out.
-JDM
-JDM
(*In my experience, less talented people with the proper drive to succeed consistently achieve more than very talented people with no motivation.)
-JDM
I'm saved. Now I know I should be admired by millions. Girls should be falling at my feet. Even my in-laws should admire my unfailing, incisive wit that keeps them constantly 'irritated'.
Yup. I see it now, 'PutDownPete' for President.
I have worked in the I-T field for well near 20 years now; I started out as a programmer. And believe me, it hasn't gotten me dates. I don't think I've ever heard the masses say, "You work with computers? I really admire that."
falling behind many other countries in math, science, reading,
and general problem solving. So the result of the ACM contest is
to be expected.
The recent PISA study of 15 year olds' problem solving abilities
placed the U.S significantly below average of the other 40
countries involved. The study showed the majority of US
students could only handle problem solving at the basic level,
with only about 10% capable of handling level 3 (proficient)
problems. 30% of the top countries' kids could handle level 3
problems.
The problem should not be seen as needing to educate kids in
some skill area (such a programming), but in the general
rigorous education at the grade, middle and high schools.
Political Correctness has taken persistence and self-reliance out of our kids, and deferring to people in authority roles into them. I see it in mine everyday, and I cringe and try and force them to solve some of their own problems. To make them stand up on their own feet for their own ideas and rights.
At the same time, some business leaders are imploring more students to enroll into programming and technical classes out of one side of their mouths, while at the same time they want increases in the H1B visa program to import low cost technical resources out of the other side of their mouths.
Face it. They don't one rats behind about the technical people. All they want is their fat bonus checks and stock options.
-JDM
What do you say to a kid who's got the heart, but not the "talent"? I admit, in the 1980's, I got into computers because I knew it would be a steady paycheck and good money when I became an adult. I was also intrigued by how computers operated and had a passion for it. Today, I can't see myself doing anything else but IT. I have a love for the craft and a bonifide interest for the discipline.
I ask the question, should a mediocre kid who has the passion, but lacks the "talent" should simply choose something else? Should we totally discourage those who are interested in programming and IT yet may not have the "genes" to handle it?
I am a propent for those who love the craft, love to develop solutions, and have an overall drive and enthusiasm for computers. I think all should have a chance if they really WANT it. That way, maybe the best and the brightest can come out and we can come out on top again.
-another CS grad (1992)
When I was in high school, I took an Electro-tech course. My final mark was 98%--without even trying. In my class, there was one kid who was incredibly enthusiastic about the subject--he just loved it--and his final mark was 78%. Which of us do you think eventually became a very highly paid and well-respected electrical engineer? (Hint: It wasn't me!) :p
-JDM
(*I'm highly paid and well-respected in my field now--but until I found something I really loved to do, my 98% average in school didn't mean squat. Until then, I was a classic "under-achiever".)
Don't fall for the BS that you have to work for a big company...or for anyone at all, for that matter. Entrepreneurship and "small businesses" (i.e. places where people value each other, and work and live together like a family) are the key to making any country great.
-JDM
And, do you know what else? I frequently find myself envying the high moral standards of politicians in other countries around the world. None of them lack integrity, are power hungry, or care about money. They are all just lovely human beings, with a strong desire to serve the public! ;)
-JDM
(*And they accuse me of being a "utopian"...)
I do, however, appreciate what you're trying to say.
Sincerely, JDM ;)
The president thing is just used as an example. If people doing useful things got as much "fame & fortune" as people doing things that lead to merely entertainment value, then that might help. Or like one of the other comments mentioned, the investment of 4-5 years and $40k-$100k is worth it, that ncreases the quality and quantity of programmers. I have to admit that I'm not really centered on IT, but I could run circles around most of the the IT people I've met in the companies that I have worked for, which is quite sad.
Why isn't a university from India in the top 12? India is the #1 destination for out-sourced US programming jobs.
They could be #13, 14, 15, 16, that would make some kind of sense, as they are the #1 source for out-sourced-off-shored US tech jobs. But, think about it, if it really made any sense to use ACM as a barometer, then maybe China should be the #1 destination of US IT jobs?
It would be more constructive if CNET would post an opinion that is tied to some economic reality.
Corporate America doesn't give a hoots behind about the ACM, out-sourcing is all about how many workers you can buy for your dollars. Indians are currently, (strictly because of the value of the Rupee vs. the US dollar) about 1/10 the cost of a US worker.
Our biggest economic weakness is the value of the US dollar.
Here are the top-12 in the ACM:
1st Shanghai Jiaotong University
2nd Moscow State University
3rd St. Petersburg Institute of Fine Mechanics and Optics
4th University of Waterloo
5th University of Wroclaw
rest (in order)
Fudan University
KTH - Royal Institute of Technology
Norwegian University of Science & Technology
Izhevsk State Technical University
POLITEHNICA University Bucharest
Peking University
The University of Hong Kong
Here is an simple example. Security is currently huge. Lots of money is being spent and lots of minds are cranking out proposals and papers. What if we didn't have buffer overflow problems? How many threats would go away? What is the primary mechanism that most threat use to gain priviledge escalation to install themselves in order to propagate or perform malicious activities? How long has the buffer overflow threat been solved?
CS researchers need to refocus on moving the field forward, not getting grants, building centers, etc. Those problems that move the field forward don't get lots of money or build centers because they don't translate immediately into things politicians or academic administrators understand (and can sell).
-JDM
I'm not saying that computing technology is dead. I am saying that CS research is focused on short-term profit, not long-term problems.
(That's what wine tasting class will do to you! Don't drink and surf.)
;) JDM
- Positive incentives are lacking
-
by
April 28, 2005 11:00 AM PDT
- No, we don't need the feral government to pour a
-
Reply to this comment
-
(64 Comments)bunch of extorted or counterfeited cash into
academe.
If the tech C*Os want to see more R&D in the
field, they'd better start investing in it
instead of raiding those cash reserves to line
their own pockets.
If they want more Americans to be interested in
careers in the field, they'd better start showing
that they're willing to hire and develop
employees for life-time careers, instead of
treating them as disposables, engaging in age
discrimination, and expending so much effort and
cash on scams to depress compensation or dodge
compensation obligations.
And, for some of these tech firms, it would help
if a few more of their projects were ethical. I
mean, why would any honest person want to be
involved with privacy invasion and violation
schemes like RFID or CRM?
Lastly, I've always had the impressions that
these programming contests were a bit silly. The
best programmers I knew in college were not the
ones who entered these contests. We were all far
more interested in and busy pushing the envelope
in our parts of the real world in under-paid
programming jobs at the university and outside
academe.
If they really want more programmers, they should
recruiting at more than a tiny fraction of
American colleges and universities, they should
be interviewing a higher percentage of new-grad
and experienced unemployed Americans, hiring a
higher percentage of those interviewed, providing
more new-hire and on-going education and training
to their employees, and investing more of their
own R&D money in the USA.