iPhone app iPad app Android phone app Android tablet app More

Featuring fresh takes and real-time analysis from HuffPost's signature lineup of contributors
David Thielen

GET UPDATES FROM David Thielen

The Programming Olympics

Posted: 09/21/11 12:00 PM ET

The Pure Joy of Learning

It's 10:00 am on the first Saturday of school at C.U. (University of Colorado). No projects have been assigned yet. No significant homework. So why do we have 24 C.S. students in the Computer Science Engineering Lab? They're about to compete in the first annual Windward / C.U. Code War. Participating doesn't count toward a grade. It fulfills no school requirements. It doesn't pay. So why are they here?

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

A code war is a contest where each team is given an identical programming problem. Each team then writes a solution to the problem in the allowed time and the solutions are run against each other. For the Windward Code Wars I create problems where each team writes an A.I. (Artificial Intelligence) for a game. I do think an A.I. is fun because instead of the result being a score for each team with the high score winning, you watch robots move on the board and shoot each other as you are following your robot cheering for it when it makes a good move. The play-off is a lot more interesting.

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.

To sum up the Code War -- a good time was had by all.

And so...

If you are hiring programmers for a start-up, these are the students you want to interview. A love of creating good code means this is someone who will put everything they have into creating a successful company. Yes you need to interview on other criteria but on this one very important criteria, these students are clearly what you want.

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.

 
 
 
  • Comments
  • 32
  • Pending Comments
  • 0
  • View FAQ
Comments are closed for this entry
View All
Recency  | 
Popularity
Page: 1 2 3  Next ›  Last »  (3 total)
04:32 PM on 09/24/2011
Interesting idea. Two errors, though--"Yes we get paid" should be "Yes, we get paid," and "projectc" should be "project."
11:37 AM on 09/24/2011
This sounds like such a rewarding activity. Code Wars is such a self-motivating way for young programmers to gain experience and showcase their knowledge to potential employers.
11:38 PM on 09/23/2011
I think it is more than the joy of programming and the diverse learning experience. It keeps the programmers on their toes and expands their analytical skills and brain power. In conclusion it is the best way to produce the best of the best programmers, no question about it. Hat off to those came up with this brilliant idea.
07:02 PM on 09/23/2011
being a Information technology student, i always like this sort of activities. I like this kind of project where the output type is uncertain. I agree, it increase the knowledge, improve the skill to meet deadline and improve learning experience.
02:26 PM on 09/23/2011
I think any extracurricular event, especially one directly related to what they are studying is great. Not only is it entertaining to them, it shows future employers the dedication they have to their future lines of work.
11:11 AM on 09/23/2011
I once had the joy of working for a start up company that grew and grew until it was sold. One key component to that companies success was the "cave dwellers" as they were called.

This was a group of college and high school kids that created all of the intellectual property and controlled all of the computer systems for the company. They would work from dawn on into the night; some night's they would sleep in the office. I ran the sales side of the company and had built a solid friendship with most of them. These guys would gush about their newest project in MySQL and how they solved a problem. Passion is the best ingredient for great results! Pay was their secondary motivation. (But) they were paid very well!

I think these talented kids were products of teachers like yourself and these code war games.

Bravo on creating a challenging environment for people to grow and find themselves in! I wish I had have the skills I need in the code and computer department to build the projects online that I have in my heart!

Eric Pinola
09:13 AM on 09/23/2011
I think that this is an amazing way for students to be given the opportunity to show their knowledge through something that they obviously love to do! There may not be pay involved but the recognition and the future doors it could open for them is invaluable!
01:56 AM on 09/23/2011
Code war is not just a contest where anyone can share their joys, views, knowledge so this article is really relevant for those who are entirely eager to prograamming and Windward Code War creates thats stage so its too much opportunity for those peoples.
12:24 AM on 09/23/2011
These students have much more patience then I do. I could never do something like Code Wars for employment much less doing it out of pure pleasure. It is good to know that there are some highly driven students who will put in the effort to compete though. Makes the future look bright for companies seeking to employ hard workers.
10:57 PM on 09/22/2011
I wish that we had Code Wars when I was in college. It would have made programming much more interesting to me. Originally, I was a double major in IT and graphic design. But as times got tough I decided to drop one.

I found all of my programming courses incredibly boring and the thought of taking another logic class made me want to stick a pencil in my eye. The graphic design department on the other hand was much more fun. There were neat toys to play with in the photography department and I enjoyed the company of my creative and strange friends and professors.

So in the end I majored in Art not caring if I could make a living at it or not. After years of being a starving artist, I wish I had stuck with programming. Maybe if there had been A.I. and robots and competitions back then, I would have made a better decision. Also, with an event like this going on, it would have certainly gotten the attention of recruiters and potential employers.
07:42 PM on 09/22/2011
Im an avid coder myself. I personally can relate to the joy of knowing that you beat someone in a coding war. Me and my buddies do this all the time and it is great fun.
06:18 PM on 09/22/2011
This is a great idea for motivating young programmers. This will give young programmers an opportunity to showcase their talent in an interesting way. This idea should go a long way!
05:51 PM on 09/22/2011
That is an innovative way to use the programming skills to play against each other. This sort of learning is actually very motivating. A real life problem solving program. Great way for the enhancement of programming skills
02:48 PM on 09/22/2011
Wow! It's great to see a competition that is not athletically motivated! I believe the implications for this go beyond just learning for the fun of it. It sounds like a wonderful way to enhance programming skills and problem solving abilities. Not to mention, a great way to gain real-world experience and build credentials. I would love to see each team's unique approach to solving their programming challenge.
12:53 PM on 09/22/2011
I don't doubt that all students love what they are learning. I am certain, however, that these students are learning more than their counterparts because they are given the opportunity to excersise that love and compete with it in a unique way. Play is the path to greater learning. This is a fantastic learning experiencce and it will ensure that they will also be better able to work "under the gun" once they are employed.