Mailing List Archive

Competing algorithms...
Yay!

I have managed to get the course on algorithms here at the university
to use Python as its language!

Now, I have to find some cool uses for it :) I am planning on setting
up some programming competitions as a part of the course; i.e.
students send their algorithms (in Python) to a (rexec-) server which
benchmarks them and ranks them. So... Have you got any good ideas for
fair benchmarking?

The evaluation should preferrably be done automatically, so the only
thing I can think of is straight benchmarking baset on clocking and
test cases... But is this a good and fair measure of how good the
algorithm is? (Of course, a O(n) algorithm would probably out-perform
an O(n^2) algorithm...)

It might also be possible to do manual evaluation of the best ones, or
something - or to have a separate prize for beautiful programs...
Anything is possible...

eagerly-awaiting-several-exciting-suggestions-ly y'rs

-M

--

Magnus
Lie
Hetland http://arcadia.laiv.org <arcadia@laiv.org>
Competing algorithms... [ In reply to ]
--1SQmhf2mF2YjsYvc
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

On Fri, Jun 04, 1999 at 02:44:13PM +0200, Magnus L. Hetland wrote:
>=20
> Yay!
>=20
> I have managed to get the course on algorithms here at the university
> to use Python as its language!
>=20

woowoo! ;)

> Now, I have to find some cool uses for it :) I am planning on setting
> up some programming competitions as a part of the course; i.e.
> students send their algorithms (in Python) to a (rexec-) server which
> benchmarks them and ranks them. So... Have you got any good ideas for
> fair benchmarking?
>=20

hmm.. well, not really. I didn't find computing big-oh an exciting part of
school. ;)

> The evaluation should preferrably be done automatically, so the only
> thing I can think of is straight benchmarking baset on clocking and
> test cases... But is this a good and fair measure of how good the
> algorithm is? (Of course, a O(n) algorithm would probably out-perform
> an O(n^2) algorithm...)
>=20
> It might also be possible to do manual evaluation of the best ones, or
> something - or to have a separate prize for beautiful programs...
> Anything is possible...
>=20
> eagerly-awaiting-several-exciting-suggestions-ly y'rs
>=20
> -M

my idea would be to make a way to let the *students* rank themselves.. get
them to come up with a way to evaluate their peers.. this way the ones that
latch onto it quickly will end up teaching the ones that aren't as far along
yet.. and they will learn a lot more by seeing sometimes completely
different ways to solve the same problem. put the survey system up on the
web.. you can make a form that will allow them to post their code.. make
something that lets them authenticate to the system some how (simple
password will do), then after the assignments have been turned in they rank
the code of their peers based on some criteria (and have the students come
up with that, too).. say, a ranking system. you (as the organizer) get to
have the final call on what the grade is, so you can catch problems before
they become a problem.. the goal is to stir discussion in class about *why*
a certain algorithm is 'better'.. maybe one is way faster, but far less
beautiful, but no less correct than someones elses
beautiful-but-not-yet-fast-enough version-- they both deserve a passing
grade, but for different reasons.

setting-the-wheels-in-motion-ly y'rs,
J ;)
--=20
|| visit gfd <http://quark.newimage.com/>=20
|| psa member #293 <http://www.python.org/>=20
|| New Image Systems & Services, Inc. <http://www.newimage.com/>

--1SQmhf2mF2YjsYvc
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3a

iQBVAwUBN1fpHzN1a0UE6c0VAQEFDwH/R5+EDoEMBcUFqwIyPTf5qn1ea63lfA1V
dfXM757mD8e2mdSEiT2VgEkkaln8mMTj61dlJVsB1hMvl340oLvGkQ==
=q49/
-----END PGP SIGNATURE-----

--1SQmhf2mF2YjsYvc--