Code Camp Room Planner

Code Camp Room Planner

I just finished creating a project on CodePlex for the Code Camp Room Planner, a little app I wrote to help me plan the schedule at CodeStock 2009.  I’ve also created some basic documentation.

Background: CodeStock is involving attendees in the planning of the conference.  We started out with attendees voting on submissions, and used those votes to select sessions and speakers – the top 20 have ribbons on the sessions list page.   The next step is asking attendees what sessions from the accepted list did they want to attend.  We can use this data to plan a schedule with the least amount of conflicts.

It sounds simple, until I realized this is a P = NP type of problem.  In simple terms, there are problems that are easy to verify a solution yet hard to calculate one.  Imagine you had to select 5 prime numbers that add up to zero (negative primes allowed).  This would be easy to verify that a set of 5 primes fulfill the requirements by adding them up – the trick is in how to figure out what those five numbers are, and if it’s even possible.

The question is if there is a problem, who's solution is easily checked, does that mean there is a set of steps to find the answer to the solution?  Put another way, since I know how to see if one schedule is better than another (by having lower number of conflicts, with the ideal of zero) does that mean there is a method to tell me the best schedule?  It’s been called the greatest problem of computer science today, but since Alan Turing isn’t answering his phone I’ll have to put off finding the solution until CodeStock 2010.

So what I did was to schedule sessions by overall popularity, then adjust to see if the total conflicts went up or down.  When I started, there were 460 conflicts and I now have it down to 304 (the final schedule is out for review by speakers and should be public Monday).  If you download the app you get the CodeStock data as an example – if you can beat 304 let me know!  (Email me the “save” data, and also let me know your approach)

Posted By Mike On Sunday, June 07, 2009
Filed under codeplex wpf codestock ccrplanner | No Comments

Submit this story to DotNetKicks   

Leave a comment



Your name:
 

Your email (not shown):
 
Will display your Gravatar image.

Your website (optional):



About Michael

Michael C. Neel, born 1976 in Houston, TX and now live in Knoxvile, TN. Software developer, currently .Net focused. Board member of ETNUG and organizes CodeStock, East Tennessee's annual developers conference. .Net speaker, a Microsoft ASP.NET MVP and ASPInsider. Co-Founder of FuncWorks, LLC and GameMarx.

Proud father of two amazing girls, Rachel and Hannah, and loving husband to Cicelie who inflates and pops his ego as necessary.

 Subscribe to ViNull.com |  Comments

Follow me on Twitter | Contact Me

Related Posts

DevLink 2009 – Good News Everyone!

DevLink 2009 has come and gone. Thanks to the hard work of John Kellar and crew it was once again awesome.  John and DevLink were the inspiration ... Read more

Ada Lovelace Day: Mary Everest Boole and Beautiful Math

October 16th, 2012 is technically Ada Lovelace Day, a day for celebrating women in science, technology, engineering, and math (STEM), but as long as it's ... Read more

SilverLight 2.0: Setting the Background of a Button

I know, this hardly seems a topic worthy of a blog post.  To create a Button in SilverLight like the first in the picture is just: <Button Content="Stock ... Read more

WPF: Using Viewbox and Canvas to create a virtual resolution workspace

First, for you SilverLight 2.0 junkies, you can skip over this.  SilverLight 2.0 doesn't (yet?) support the WPF ViewBox. The problem: when you start ... Read more

WPF: Threading basics in WPF

In my previous WPF post I created a simple photo viewer.  If you run the application, you'll notice things "lock up" while downloading an image.  ... Read more

XNA 3D Primer by Michael C. Neel

XNA 3D Primer by Michael C. Neel
Buy Now: [ Amazon ] [ Wrox ]

GameMarx

CodeStock

ASPInsiders Member

ETNUG Member