From: Stefan Peters Date: 2009-10-06T03:53:14+09:00 Subject: Re: what do you enjoy in a ruby quiz? On 5 Okt., 15:09, James Edward Gray II wrote: > On Oct 4, 2009, at 10:41 PM, Mason Kelsey wrote: > > > Here is an artificial intelligence problem waiting for an   > > algorithm.  Would make a great but hard quiz problem. > > The rest is self evident. > > Personal experience is everything.  I can't even read this problem.  :( > > James Edward Gray II Me too. :) I think a good Ruby Quiz should meet the following criteria: * An average programmer should find a acceptable (maybe not perfect) solution in about two hours. Faster programmers than have the time to write a small test suite ;)) * It should be possible to implement the solution in under 100 LOC * The quiz should not require special skills (and if, provide information) * The quiz should not require a lot of preparation (for example finding a suitable web service as in the current quiz) * The solutions should be test-friendly I think a good example, that I read today about is: http://rubylearning.com/blog/2009/09/24/rpcfn-shift-subtitle-1/ I also like the idea of multilevel challenges. Examples may be: Basic: Write a small backup DSL. It should provide a backup command with a include and/or a exclude pattern. Also provide a destination command. It should be possible to compress the data. Advanced: Split your program into client and server and find a very simple solution to send your backup over the network. Test your program at least at localhost or: Basic: Implement a kind of rename command to rename a method of a class. The other command should be still usable, but print a warning on the screen, that the method was renamed (possible syntax _could_ be "rename :method1, :method2") Advanced: Provide additional information were in your code a old method was used (file and line, or stacktrace, or...) This information should be print to screen if the command "show_all_violations" is called Basic: