The Pure Joy of Learning
For the same reason some people will spend an entire day playing basketball in a tournament. The pure joy of competing at something you love. These 24 students woke up early and spent their Saturday designing and writing code. Did they enjoy it? Every single one said they want to do it again next year. Why? Because a lot of us programmers love what we do. Yes we get paid well for it, but it's not the pay, it's that we love the work.
Events like this add significantly to the college experience. First off, it helps reinforce a joy in learning purely for the sake of increased knowledge. That is one of the fundamental tenets of learning.
Second, it provides a more diverse learning experience. A code war is different from an assigned project. With an assigned projectc everyone can get an A and the criteria to do so are very clear. In a code war there is only 1 winner and so you have to strive to write better code than the others, without knowing what the other teams are creating.
Third, I think back to what one mom said when we were complaining about driving our daughter's soccer team all over the state for games -- that it's cheaper than drug rehab. Providing compelling events for students that keep them busy helps reduce the time they're learning the hard way that dumb behavior has consequences.
What's a Code War
The teams get the problem and then all go to different classrooms. And they then quickly go into what most people know is the way to be as productive and innovative as possible. First they turn off all communication -- cell phones off, Facebook closed, etc. They then talk through the problem discussing approaches to the problem. And then it's an iterative of implementing an approach, trying it, discussing the result.
The team that won ended up implementing and discarding two approaches before finally settling on the third approach that was successful. One approach worked well but took too long to calculate a move (the game only allowed 1 second). The second approach made bad moves. The final approach was a pretty simple one (they didn't have much time left) but it showed that oftentimes simple does a better job.
The final play-off was as exciting as a basketball game tied in the final minutes. The team members were watching their robot on the screen as the robots all moved, fired, took flags, etc. But from the cheering (on good moves) and cries of anguish (on bad ones) they were there on the screen in their robot. And they watched their 8 hours of effort as their robot moved in relation to the others.
I hope C.U. (and other schools) can come up with events like this for other majors. It would be a great way to start the school year off on a positive note.
And if your school would like to participate next year, please contact us at Windward Code War.