Ronald Chan, a student of Mechatronics at The University of Auckland’s Faculty of Engineering has won a worldwide programming competition that challenged university students from around the world to solve a series of mathematical problems using the Dyalog APL programming environment.
He is being flown to the United States in September to collect his US$2000 prize in person at the Dyalog ’09 Conference in New Jersey. He will also give a presentation on how he solved the problems.
Second Prize Winner is Chris King from Brown University, Rhode Island USA and Third Prize winner is Maks Verver from the Netherlands.
The Judges justification for Ronald’s winning submission reads: "Ronald’s submission showed impressive insight and analysis of the problems and the underlying mathematics, good use of classes. His submission ran considerably faster than any other entry. Ronald documented his solutions very well and many of his solutions were of a form to solve more general problems than the specific Project Euler problem presented. His efforts included error checking to capture invalid inputs".
Ronald, soon to be Bachelor of Engineering (Hons.) – Mechatronics Engineering (Accelerated Pathway) is an experienced competitor at maths Olympiads and international computer contests. He said, “I am quite excited to have achieved this placing, and look forward to the trip to the conference in September. I heard about the contest from a lecturer at university - Michael Dinneen - who organises the programming contests held on site at university. As for the contest, math and informatics olympiads really gave me the skills to do this contest effectively. I have had no prior APL experience. In fact, I had not even heard of this language before. As soon as I saw how easy the 20 questions were, I immediately thought that many competitors would be able to do all questions. So I decided to heavily optimize runtime for the questions. In optimizing the runtime, I drew on what I knew about computers and programming languages in general.”
The competition was launched 27th April 2009 with a deadline for submission on 1st July 2009. More than 250 downloaded the free Educational License and, of those, more than 10% entered the competition.
The entrants came from all over the world with submissions from Argentina, Canada, Estonia, India, South Korea, New Zealand, Portugal, Russia, The Netherlands, Ukraine and USA. The competition was open to all students from high school or younger up to University level and used Project Euler as the vehicle.
The 20 questions were from Project Euler, a website dedicated to a series of math problems intended to be solved with computer programmes. They included ‘Find the 10001st Prime’ and ‘How many Sundays fell on the first of the month during the twentieth century?’.
“The questions were relatively easy compared to problems I have solved in the past,” Ronald says. “Finding the solutions to all 20 problems does not guarantee a placing. My gambit was that since the questions were easy to solve, I had to ensure the way I solved them was smarter than anyone else. Most of my effort went into reducing the runtime of the programs in arriving at the answer.”
He says he reduced runtime by replacing complex calculations with simpler formulas, or improving algorithms, both of which reduce the amount of computation involved in solving the problems.
“I’m really excited about being able to present my submission, and showing all the little tricks and methods I used to improve my solutions,” Ronald says.
The Worldwide Programming Competition will be run again in 2010. Please visit regularly to keep track of the kick-off announcement.