Nothing like a little shameless self-promotion

Posted in Computing, Education, Photography, Research, Sabbatical, Science, Travels on March 10th, 2008

Choosing two points at random

I’ve been sitting on this for a while I waited for EuroGP to get their web site updated; they have, freeing me up to do a little unabashed chest-thumping, leavened with some praise for UMM’s excellent students.

A few weeks from now the Eleventh European conference on Genetic Programming (EuroGP) will happen in Naples Italy. The only other time I’ve been to EuroGP was in 2001 when we were here on sabbatical the first time. I really love the conference, and it’s small and intimate and tends to have a really high signal-to-noise ratio. Unfortunately, it’s also an expensive flight from Minnesota for a three day event, and the timing tends to be really awkward in my teaching schedule, so I’ve never made it back. One of my many fond memories of that conference was winning the best paper award with Riccardo Poli for a pair of papers we’d written together as part of that sabbatical visit. Lake Como and the Alps (Oddly, both times I’ve attended have happened to be the only two times it’s been in Italy. The little photo is from the 2001 event at Lake Como.)

The best paper nominations for this year’s event have been released, and I’m quite excited that both of the papers that I submitted this year are on the list. One is another join project with Riccardo, and the other is a paper with two UMM undergrads: Brian Ohs and Tyler Hutchison.

That’s Tyler in the photo up top, presenting some work he did with Andy Korth and I that won the best student paper award at MICS a year ago; Tyler also did the cover illustration for the forthcoming book Riccardo, Bill Langdon, and I are just wrapping up. In a big happy, Tyler was able to pull together the funds to fly out for the conference, so we’ll be able to do a joint presentation enlivened by his presence and cool drawings. Unfortunately Brian can’t make it, but it’s cool that Tyler can; this will be the first of my students co-authors that’s made it to a European conference with me.

The competition is gonna be tough for the best paper award, including a very nice paper by one of Riccardo’s students (Stephen Dignum). Fingers crossed!

The full program is also now on-line (as a PDF) — it looks like some cool material. I’m quite looking forward to the conference, although I must say I’m a bit nervous about the ongoing trash crisis in Naples (here and there).

Tags: , , , , , , , ,

Related posts

JOCP! At revision 400!

Posted in Books, Computing, Education, My writing, Research, Science, Writing on February 28th, 2008

Revision 400 screenshot

It’s pretty cool when you update your repository and see

At revision 400

We just hit that on the genetic programming book that Riccardo and Bill and I are working on; we’re currently averaging close to 10 commits a day here in the final stages. We hope to wrap it up in the next 1.5 weeks and then off to the printers for fun (and no profit in the traditional sense)!

P.S. Anyone want to proof read a few pages? Get in touch and we can work something out.

Tags: , , , , , , , , ,

Related posts

Decentralized, distributed systems, evolutionary computation, and prisoner’s dilemma

Posted in Computing, Research, Science on February 8th, 2008

Farming up close and personal

Chris posted some cool questions on my earlier post about decentralized behavior in social insects:

so what kinds of things do computer scientists do w/this idea? is sort of what evolutionary computing is about? i picked up the evolution of cooperation recently (tit for tat wins prisoner’s dilemma) you must be familiar w/this, yes?”

There’s really three different (but related) ideas in this question:

  • Decentralized and emergent behavior
  • Evolutionary computation
  • Game theory and cooperation

I’ll take them one at a time, with more on the first of the three, at least for now.

Read the rest of this entry »

Tags: , , , , , , , , ,

Related posts

N-grams and the evolution of programs

Posted in Computing, Research, Sabbatical, Science on February 2nd, 2008

Which of the following was written by (a) me, (b) William Shakespeare, and (c) Charles Darwin?

“I would have sent to Rome that’s worthy death?”

“The naturalist looking at species as he might succeed from a fork low down in the separation of the species of any species in a more or less from their sap this is unimportant for the instincts already possessed by certain plants so that natural selection of mere piles of superimposed strata and watch the sea separating an island even if we believe that pure water can effect little or no offspring.”

“The troubling aspects of a building block semantics in a given tree in the context and false.”

The answer and (much) more is below the fold.

Read the rest of this entry »

Tags: , , , , , , ,

Related posts

Celebrate your inner nerd!

Posted in Computing, Education on January 15th, 2008

TopCoder Open 2008 registration banner

Registration for both the Algorithm and Marathon competitions in this year’s TopCoder Open close in the last week of January, so start sharpening your … uh … programming … thingies …

I was participating in TopCoder events a fair bit when we first got to Colchester. I stopped, though, once the research really got up to speed, and I haven’t participated in TopCoder in several months. I’m not entirely sure I’ll be able to participate in this year’s open (there may be an unavoidable scheduling conflict), but it would be nice to try to add another t-shirt to my collection.

For those about to code, we salute you!

Tags: , , ,

Related posts

A wonderfully different way to thing about computing

Posted in Computing, Education, Politics, Research, Science on November 19th, 2007

One Laptop Per Child logo
One of my constant struggles as an educator in computer science has been helping students see a bigger picture, look past the mundanities of yesterday’s “help wanted” page, and see what the world could be rather than what it has been.

One way this has often played out has been in debates over programming languages and development tools. Students are (quite legitimately) concerned with their near term employment prospects, and so they tend to focus what they’ve heard of, and what they see in the job web sites. Unfortunately that is almost always an exercise in looking backwards in time. When I started in 1991, the problem was getting students out of Pascal and C and start thinking about objects. Now we’re working to add things like Ruby and Python to our Java-heavy toolkit. Constant throughout has been the difficult task of getting them to take (semi-) functional languages (Scheme, Haskell) seriously or, in fact, any language doesn’t have a “For dummies” book at their local mega-bookshop.

I need to be fair, though, and make it clear that we’ve always had students who could see the bigger picture, and have often pushed us faculty to open some important new doors. I suspect that we’ve actually been luckier in that respect at UMM than many other programs. That said, you still get groaners (often very vocal) who never seem to be happy unless you’re emphasizing whatever tool or language they’re firmly convinced is their only road to employment.

This is one of the reasons that it makes me so happy to see the list of programming languages used in the One Laptop Per Child project:

We will support five programming environments on the laptop: (1) Python, from which we have built our user interface and our activity model; (2) Javascript for browser-based scripting; (3) Csound, a programmable music and audio environment; (4) Squeak, a version of Smalltalk embedded into a media-rich authoring environment; and (5) Logo. We will also provide some support for Java and Flash.

OK, we can debate the details (and I’m sure people have and will), but let’s skip all that shall we? Let’s instead note that none of these was a “heavy hitter” 5 or 10 years ago, and there are plenty of people who would (wrongly in my opinion) argue that none are terribly important today. How many data structures classes in the U.S., for example, (a key “bread and butter” course in most computing curriculums) use any of these languages? I’m sure there are a few (especially Python), but proportionally I bet it’s pretty tiny. (Try searching either Amazon or the web for textbooks for such a course, for example.)

It’s also worth considering impact here. Sure, I doubt that anyone’s likely to start building inventory control systems in Logo, but should that be the issue? What’s the real opportunity for impact here? How do I change the world? By building accounting systems? Or by contributing to a project that plans to put computers and software in the hands to millions of kids all around the world?

You want to make the world a better place? You want to really fight terrorism? Then give people hope, a chance to grow and make their world better. Give them something to protect. Contribute to a project like this.

And, if you’re contributing to this project, you apparently program in Python, JavaScript, CSound, Squeak and Logo.

So let’s put an end to the whining about these not being “real” programming languages and nobody building “real” programs with them. I’ve written a crapload of Java code in my day that only a handful of people will ever use. Some bright bulbs used Squeak to build Scratch, which I suspect will be used by millions. Hmmm … which do I find more impressive?

Tags: , , , , , , , ,

Related posts