Simple Suggestions, Misc., /rant
I just wanted to post some ideas for possible programming competitions and general meanderings.
When thinking up a competition it depends on how much time you give the competitors time to solve the problem. My thoughts are that if you have a weekly competition then the problem should really not take more than an hour to solve and maybe up to a half hour to code (if any coding really needed). If the competition time was an entire month then the no more than 5 hours should be needed to solve.
Basically, I suggest a rule of 1 hour per week to solve a problem. My reasoning is that, yes, we are college students, not all of us have the time to do the really hard problems (if we even want to spend time outside of homework).
Another idea I had was to add code debugging to the competitions. Something like Steve would have a paper hand out (or pdf) of code that is riddled with errors and its up to the competitor to solve and compile the code. Yeah I understand that really anyone could just copy the code in to an IDE and have the compiler do the work, but even then we are kinda enforcing the notion of repetition of key typing and that could be beneficial. Also the idea of debugging is more of a industry practice. Do you think you will get a job and not debug someone else code?
Another idea is to take math problems (like the ones in the math building) and have the competitors make a program to it. The inexperience coders can use any way to solve the problem, and the more experience coders have to supply a GUI with their solution.
These are just my thoughts.
- Forums:


More thoughts
Some thoughts (some of which go along with what the rest of you are saying)...
Hard problems can be fun, but... who has the time? And who has the time every week? It's so hit and miss.
Making problems easier is one fix.
Making the deadlines longer is another. Why can't we have overlapping ones, and sum up points at arbitrary times instead of a fixed weekly schedule?
Making teams allowable is another... let people break up the work. Maybe each problem has a number of points that go with it -- let the team decide how to split them up, maybe?
As for debugging, this is potentially a good idea, though... I have seen some debugging challenges that employ a technique I think we should avoid -- they're purposefully obscure. If it's not something that might actually come up, it's just annoying.
I like Ben's idea of favoring "demoable" or graphical problems/solutions.
Critical thinking problems are great, but I do think it'd be good to see some code.
Ideas for Programming Problems and Competitions
I'd like to add some thoughts to Talbert's and open this up for some more ideas and discussion on said ideas.
First, some ideas about what the the Programming Committee should organize:
- Weekly/bi-weekly problems should be fairly simple, or at least seem simple, to encourage involvement and be suitable for students of all years.
- Critical thinking problems without a programming component. For example, look for interview questions.
- Graphics and eye-catching projects, major points for people who make something that looks cool and can be used in demonstrations.
- Difficult problems are given around programming competitions for the people who are interested in competing.
- Find/organize some real competitions, maybe 2-3+ a semester depending on involvement.
General pointers for running problems:
- Integrate with PwnPoints(?) or some similar system as the reward. In addition, doing something is worth points (pseudo code, coming up with a reasonably close answer); doing it right is worth more points; doing something awesome is worth an awesome amount of points.
- Most problems should be solvable by Freshmen, with the occasional more advanced problem.
- Mix things up: Critical thinking problem one week, programming problem the next. Or something.
Math Problem of the Week
I like this idea a lot! I think the direction we're going to be heading in with this activity is much like the Math Building's "Problem of the Week" which I remember hearing gets about 20-30 submissions a week.
Math's Problem of the Week
Wow Talbert...
Yeah, A Debugging Competition.
...
That will certainly get the kids to actually submit something... (You can pretty much put a bar over that and order drinks from it! translation: NOT)
LOL! No, but seriously, if it was a somewhat interesting logical debugging problem that I could possibly learn more about how the language works under the hood, I'd get excited about it. But that's just me.