On the Poor Showing of US ACM Contestants
A post on slashdot.org notes The Continuing American Decline in CS as evidenced by the dismal performances of US students at the ACM International Collegiate Programming Contest.
The original story at businessweek.com suggests that the poor showing of American students at the competition is A Red Flag in the Brain Game. Of particular interest are the responses to the article that are available on the businessweek.com site. Ignoring the movement of computer science curricula from intense, rigorous study of algorithms and theoretical computer science toward team and project management, many commentators present a pessimistic career outlook and unsatisfactory compensation for US software developers as the causes for their lack of motivation to excel.
As usual, these commentators blame external factors, which they implicitly suggest are beyond control. Today’s computer science, with the exception of programs that focus on theoretical computer science, places less significance on algorithm implementation. Computer science in the US is biased toward software reuse and extensible design. Many programmers are unable to create a robust implementation of quicksort, but they are able to perform their jobs with a simple qsort() function call.
The contest participants needed to independently study various algorithms more closely in order to be more competitive. These students are committed to their decision to be computer scientists in an environment where software development jobs are being outsourced and compensation is poor. They had the option to focus development of their competencies in low-level code fragment implementation and win competitions, or they could use their time in school to develop skills for the management of nontrivial software development efforts and prepare themselves to bring software engineering ideas to the industry.