In what column does the "half-adjust" field appear in the Calculation specification of RPG II?
Can you name six functions that are covered by the E specification?
How many IBM Certified RPG professionals does it take to...?
Oh, never mind!
Hard to believe, but none of these questions appeared in the Association for Computing Machinery's (ACM) 2005 International Collegiate Programming Contest (ICPC) this month. In fact, not a single question had to do with RPG at all! Gosh! What's that mean? Sounds downright un-American!
In addition, for the second year in a row, not a single U.S. team placed within the top 12 contestants. This year, the highest-ranked U.S. team was University of Illinois, which received a rank of 17.
So what's the big deal? Well, the ICPC is the oldest and most prestigious programming contest in the world, and the fact that computer science majors from U.S. universities are no longer ranking in the top 12 should be a wake-up call for both educators and the computing industry. The world of programming is moving on, and it seems that the computer science departments of U.S. colleges and universities are experiencing new competition from schools all over the world.
What Is the ACM-ICPC?
So what is the ACM-ICPC? In 1970, the Alpha Chapter of the Upsilon Pi Epsilon (UPE) Computer Science Honor Society hosted a competition at Texas A&M as an innovative initiative to assist in the development of top students in the field of computer science. This competition became so popular at university campuses within the United States and Canada that it evolved into a multi-tiered contest held at the Association for Computing Machinery Conference in 1977. Since then, the contest--known as the International Collegiate Programming Contest--has expanded into a global network of universities hosting regional competitions that advance teams to the World Finals.
IBM began sponsoring the event in 1997, and participation now involves tens of thousands of students at more than 1,500 universities from 71 countries on six continents. According the to the ACM, "The contest fosters creativity, teamwork, and innovation in building new software programs, and enables students to test their ability to perform under pressure."
How the ICPC Works
• Local Contests--Universities choose teams or hold local contests to select one or more teams to represent them at the next level of competition. This year, the selection took place from a field of over 100,000 students in computing disciplines worldwide.
• Preliminary Contests--Many teams competed in European preliminary contests. This year, 886 teams from 249 European universities participated, with a select few advancing to the first round of the regionals. In 2006, the first round will be expanded to include these competitions.
• Regional Contests--From September to December of last year, regional contests were held for teams from 71 countries on six continents. These contests were held to determine which teams would advance to the World Finals hosted by Shanghai Jiao Tong University.
• World Finals--From April 3 to April 7, 2005, 78 World Finalist teams competed for awards, prizes, and bragging rights at exotic Pudong Shangri-La Hotel as the guests of the City of Shanghai and host Shanghai Jiao Tong University. These teams represented the best students from over 1,582 universities who made it through the regionals.
Congratulations are in order for each team. In addition, a quick click of the above links will reveal something very interesting: The international flavor of the finalists demonstrates that computing has truly become the new universal communications medium between all of these countries.
Is it any wonder then, as the world of global commerce continues to expand, that U.S. firms are choosing more and more to outsource their programming to countries where the expertise is higher and the costs are lower? If the ICPC is any measure, the United States' lead in computer science programming education appears to have all but disappeared.
Ivory Tower: What's on the Test?
The ACM has published the problem sets that each college team was tasked to complete. This problem set can be found at http://icpc.baylor.edu/icpc/Finals/2005FinalsProblemSet.pdf. (Note: This link at baylor.edu is problematic. You may need to try several times.)
The problems in these sets are not real-world business problems, but mathematical queries that test the ability of students to transform each problem into a working program that delivers a correct answer.
For the sheer challenge of programming, these problems are a real kick! (Warning! Do not try these at home in RPG!) But they still raise some real-world questions. For instance, has programming at the academic level slipped back into the Ivory Tower discipline of the 1970s?
This question should get some mileage from IBM i5 programmers in the United States, who struggle with management's reluctance to fund education. Why would management fund us to learn about "Eyeball Benders"? Practical application is what separates those of us who work in IT from those of us who train people in computer science.
At the same time, corporations complain that there are few new graduates who understand business programming languages like RPG, leading them to outsource projects to offshore consulting companies in India and China. In addition, the number of students majoring in computer science disciplines is down significantly, and the number of women taking subjects in programming has dwindled alarmingly.
The ICPC Programming Environment
A look at the programming environment for the ICPC reveals a lot about what's being taught in school these days. The required operating system environment for the ICPC is Linux, the languages are Java and Pascal, and the IDE is Eclipse. From an international perspective, this is the current academic curriculum of world computing. And it makes RPG seem really arcane.
Of course, the mission of the ICPC is to extend the student interest in computer science, not Information Technology, and perhaps that's why IT professionals in this country are focusing their educational dollars on certifications that increase their employability.
But doesn't it seem odd that we have developed these highly successful academic venues for stretching the minds of our programming students but still have no such formal mechanisms to encourage IT professionals--who are living and breathing the technology--to extend their skills in the business world? Is it any wonder then that, instead of hiring U.S. programmers, companies are content to find better-educated professionals in distant lands who can charge less and deliver more? Does anyone else notice a contradiction here, or is it only me?
Thomas M. Stockwell is editor in chief of MC Press Online, LP.