Logo: University of Southern California

So you want a job at Google — can you answer this question?

Viterbi team earns ticket to Warsaw to compete with world’s best student computer programmers
Adam Smith
December 05, 2011 —

In a five-hour battle of logic, algorithms and mental endurance, three Viterbi teams finished a dazzling run with a single team becoming the first in USC history to advance to the ACM ICPC World Finals.

Ten days ago, the USC Trojans won a resounding victory over UCLA at the Coliseum. Two weeks before that, another team — a computer science team also named USC Trojans — accomplished a different impressive feat, vanquishing teams not only from UCLA, but also Caltech, UCSD, Harvey Mudd College and others.

On November 12, the arena was a classroom at Riverside Community College, site of the 2011 ACM International Collegiate Programming Competition’s regional showdown for the greatest wizards of C++ and Java in Southern California.

As it turned out, none were greater than Viterbi Ph.D. candidates Yu Cheng, Rongqi Qiu and Siyu Yue.

"The most hopeful team in our history" — USC Trojans (In gold, from left to right) include Viterbi Ph.D. candidates Rongqi Qiu, Yu Cheng and Siyu Yue. After their Nov. 12 regional victory, the team advances to the 2011-12 ACM ICPC World Finals, the word's largest and most prestigious computer programming contest.
 
With over 70 teams crowded around single Pentium computers, students wrote code to solve real world problems, everything from communicating to distant planets to solving the clues in the “Swamp County Scavenger Hunt.”

Sample Question: ACM ICPC Regional

 


“Your team is working on software for automated check-out machines (such as are found in supermarkets and large home-improvement stores)... A customer wants to change the logic in the machines to minimize the mass of the coins dispensed (to “lighten the load” for their customers). Minimizing the number of coins remains a secondary goal.

Your team is to write a program that will, given an amount in cents, determine the coins to be dispensed that will minimize the total mass of the dispensed coins...”
   

“All the best programmers and engineers from Google and Facebook are veterans of this contest,” said Liang Huang, research assistant professor of computer science and one of USC’s team mentors. “This is definitely the most hopeful team in our history.”

Added Cheng: “Today when companies like Google interview people, they tend to ask algorithm questions like this — which feels like a piece of cake after you’ve put in 50 hours of practice in this context.”

For now, despite the lure of industry — Huang himself was highly recruited by East Coast hedge funds as a programmer — the winning team is more drawn to the worlds of academia and research. At the Riverside regional, although Internet access was forbidden, they even carried a copy of “The Art of Algorithms and Programming Contests,” the Chinese textbook Huang co-authored.

Next up is the ACM ICPC World Finals over May 14-18 in Warsaw, Poland. For Cheng, Qiu and Yue, it will be their first trip to Europe; for USC, it will be its first appearance on a stage thoroughly dominated by Eastern European and Chinese schools. No American university has won it all in nearly a decade and a half — not since Harvey Mudd College took home the top honors in 1997.

But Cheng, for example, has been there before. As an assistant coach at Shanghai Jiaotong University during his undergraduate days, Cheng remembers the shared victory over a field of 100 different teams. He remembers the constant drilling, the 500 hours of devoted practice time — all things his team, with their research duties as Ph.D. students in computer science and electrical engineering, will be hard pressed to replicate. However, according to Cheng, they will buoyed by a very mature and balanced team.

USC computer programming team members.
Each brings their own unique skill sets: Qiu, a graphics researcher, usually gets the geometric problems — “If we see a triangle — we give it to him,” laughs Cheng. Yue, the lone electrical engineer, has a sharp mind for encoding circuit-related problems. And Cheng, an assistant coach for three years at Shanghai Jiaotong, is the most familiar with the road ahead and the team dynamics necessary to compete.

The regional competition also saw strong showings by USC’s two other resident teams, USC Cardinal and USC Gold. Cardinal, consisting of Zhen Lu, Bo Zhang and Jonathan Sun — three graduate students in computer science — earned seventh place honors, solving six of the eight problems. Gold, a trio of Jay Whang, Xiaofei Zhang and Stephen Hopkins — undergraduate and graduate students in computer science — finished 12th out of the field of 77.

As faculty advisors, Huang is joined by David Kempe, associate professor of computer science and co-organizer of the USC Programming Contest. Huang himself is a computer scientist with the USC Information Sciences Institute's Natural Language Group.