One of the largest challenges facing CS students is the transition from being a CS student to writing production code in a work environment for a living. Historically programming challenges have focused more on CS-student-oriented work, but this year the Imagine Cup in the US is broadening out.
Students will be given a spec and told to implement it. When they are done, they will submit their DLL to an engine created by my old friend Ed Kaim's company, which will then run it through a battery of NUnit unit tests and award points based on the functionality, reliability, and performance. This process will culminate with a week in Redmond where the top competitors are placed in teams and duke it out by implementing a real-world solution.