
This weekend was the world premier (doesn’t that sound grand?) of our son Thomas’s play “The House of Atreus”. He wrote the play for the Morris Area High School (MAHS) folks to perform as their entry in the annual One Act competition, and it was a really wonderful opportunity to give back to the theatre program that was so valuable to him during his time at MAHS.
The play is a challenging one to perform, involving a lot of monologue from the four leads, and a lot of synchronized response from the chorus. There’s not a lot of action, as the play emphasizes ideas instead of car chases and love scenes. The cast really rose to the challenge, though, and managed to own these complex concepts and stories.
I’m particularly grateful that teacher/director Seth Kelly was willing to work with Tom on this. Not everyone would be willing to take a flyer on a still-being-written play by a college student. Mr. Kelly, however, was incredibly supportive of Tom’s writing, and was then able to help his student actors inhabit these complex characters and make the play really work on the stage.
All this would have been totally wonderful if all that happened were the two performances at the high school. Today, however, they took the play to the one act sub-sections and won first place! This qualifies them to go on to sections next Saturday (8 Feb). If they can take first there as well then they perform in the state event on Friday the 14th! Taking first at sections is tough as the competition is likely to be stiff, but a parent can hope :-)
Congratulations to Thomas for writing such a cool play, and to all the MAHS folks that brought it to life on the stage!
We really liked Mr. Kelly’s description of the story in the program:
This bold and honest Greek drama is a tragedy within a tragedy, focusing on Agamemnon’s children. Agamemnon, a hero of the Iliad and the Odyssey, has no shortage of heroic feats and triumphs under his storied belt, but his children’s struggles are more complex. In popular mythology, these four siblings are rarely given depth, often acted upon as pawns, and usually treated as victims rather than individuals. This play gives them the voices they lost millennia ago.
Iphigenia, Chrysothemis, Electra, and Orestes must face the terrible realities of their existence in order to make peace with their lives. As they bravely face the trauma of their pasts, they grasp for hope’s elusive grip. The truths they stumble upon along the way are as relevant today as they were in ancient Greece.
and his “Director’s Note”:
]]>I knew that selecting a Greek play for our One Act this year was ambitious. After all, stripping actors of all physical objects and elaborate scenery leaves them with little but their own dramatic imaginations to carry the story. That said, at the production’s onset I couldn’t have fathomed the intensity we eventually found in these stories and characters. I’m tremendously proud of our cast and crew, and I would never have burdened them with such a complex and challenging script if I didn’t have faith in their ability and dedication.
We are pleased that this year’s show was written by MAHS alum Thomas McPhee, who currently studies Theatre and Writing at Hampshire College in Amherst, Massachusetts. I am delighted that his passions have continued to inspire us beyond his tenure here, and I sincerely hope this won’t be the last time he lends us his talent.
It is also worth noting that, as in all Greek tragedies, very weighty themes abound in this show. At its best, tragedy informs the audience how we might improve the business of our own fleeting lives, therefore an ever-present, foreboding sense of mortality drives these stories. We recognize that these concepts might be difficult for younger children to digest, so please don’t feel locked in to your ticket purchase if, knowing this, you’d rather not have your children hear about violence, war, sacrifice, death, and revenge. We understand! The ticket taker can refund you if you leave before the show begins.
It’s a true joy, and I’m really looking forward to being able to read the “finished” work. It’s a project oriented book, though, which means that to really learn from it we’re going to have to play along at home, programming, and experimenting, and analyzing. We’re all going to have to set aside some time for this when it does come out. But it’ll be worth it. And while the claim is that we’ll be learning about Generative Projects or Genetic Programming or whatever Bill decides to have GP stand for when he wraps this thing, we’re also going to learn a lot about software development and problem solving along the way, from someone who’s got a lot of great things to say on those important subjects. So we’d best buckle our seatbelts!
I do, however, have to take issue with a claim Bill makes in the introductory “About this book” section:
This is not a textbook. If your instructors try to use it as one, complain. If they argue, send them to me.
To be honest, it’s turning out a lot more like an anti-textbook. It will not improve your performance on tests. We’ll use “advanced” techniques before we discuss “basic” ones, ignore common practices to focus on more appropriate contingent solutions for specific problems, and may not even touch on techniques your instructors think you ought to know.
Remember, my goal is to support and extend your existing skills so you can productively explore further. Seek comprehensive knowledge and historical grounding in other books. They are full of it.
I can’t help but think he had me in mind when he wrote these lines, and I doubt he’ll be surprised to learn that I’m certainly seriously considering using it in my Evolutionary Computation and Artificial Intelligence course in the Spring. <snigger>
The issue, I suspect, is what one considers a “textbook” and what the point of such a thing is. Traditionally textbooks are big, fat things that provide a “coherent” overview of “everything you need to know about subject X”. I’ve got a bunch of these on my shelves with nice overviews of things like calculus and physics and chemistry. Old things, with a clear sense of what matters and what order it should be presented in.
In teaching computer science, however, things are typically much less clear. What’s “vital” in our field? What’s the “natural” or most pedagogically sensible order to present that material? There are lots of ideas out there, but hardly consensus. And that’s on the introductory material; my upper division electives usually focus on material where there’s even less agreement.
Starting in the late 90’s I started moving away from “traditional” textbooks when I could. I found that the most important part of most of my courses was process rather then content. Most computing textbooks I’ve seen are, unfortunately, much stronger on content than process. There are piles of books full of catalogues of algorithms, but they’re mostly presented like magic tricks, things Very Smart People dreamt up in some strange opium vision, inaccessible to the rest of us. The challenge in my experience is coming up with these visions, the process and the problem solving. So a book like Fowler’s wondrous Refactoring is far more educational in the long run, giving us skills for life instead of a box full of baubles.
The contrast between process and content has been made far more pronounced by the web and its many tools and collections. Young folks (and even this old guy) almost never reach for a book when they want to look something up; that’s what Google is for. The reference value of big encyclopedias of “facts” is greatly diminished when we can so easily find things on-line, but a well-written description of an important process is still a treasure.
Which brings us back to Bill’s book.
He claims it’s not a textbook because he doesn’t plan to cover “every” technique or concept or approach. He’s going to doing things in the “wrong” order. Foolishly, he’s not going to help improve our performance on tests, choosing to instead helping us develop skills that will help us for years to come.
Silly, silly man.
So, yeah, I do want to use Bill’s book in my class, and my students are more than welcome to complain to me or take it up with Bill. I doubt, however, that they will. The writing is opinionated and ornery and humble in all the right ways, and the emphasis on projects and problem solving are the sort of thing our students just eat up. I’m guessing that they’d happily line up behind something like this vs. a more traditional text.
As will I.
P.S. You should check out the book’s LeanPub site (https://leanpub.com/pragmaticGP) and sign up for notification. It’s a great way for people to help delude Bill into thinking that he’s not actually wasting his time.
Or something like that.
]]>And has packed his bags for Egypt.
He’s going on a UMM course “Pyramids and politics on the Nile” led by UMM Poli Sci faculty Sheri Breen and UMM librarian Jayne Blodgett, both super cool people. This is a pretty structured experience (full itinerary as a PDF) using Cairo as their primary base but with trips down the Nile to Luxor and Aswan, visits to Alexandria, and time at a desert research station.
One of their requirements is to keep a journal during the trip, and they all had to write a “Letter to Cairo” before departing as their first entry, and I thought I’d play along.
Dear Cairo,
Please take good care of our son. I really wanted to start with something more profound, but to be honest this is the first thing that I thought of. I’m genuinely not worried. His mother and I survived a number of great study abroad experiences which did so much to define who we are, and we’re sure he’ll have an amazing and glorious time. Still, it’s an exciting time to be in Egypt, and I’d greatly appreciate it if you’d play nice.
Inspire some wonderful writing. People keep telling him to take lots of pictures, but they’re really barking up the wrong tree, as he doesn’t really do that. (Here the apple fell on a slope and rolled well away and down the hill.) Tom is much more likely to digest and record his experience in words than images. It probably won’t be straightforward journaling, however, and instead be more indirectly represented in his poetry. “Vulcan’s bed”, for example, is a response to his time with me in Lava Beds National Monument two years ago; it is his version of all my photos. So while I know that he’ll have phenomenal experiences in Egypt, I hope to see them creep (or smash) into his poetry and other writings.
Open some doors; I’m sure he’ll walk through them. Morris has been a wonderful town for Tom to grow up in, but it’s a pretty small world. Thomas has had the huge advantage of living in the UK twice, and travelling in Europe on both of those trips, but it’s still been a very European life. You represent such a fascinating crossroads of history and culture: Mediterranean and Arab and African and Islamic and pharaonic and crowded and vibrant and changing and old and new. In 3.5 weeks he’ll only be able to sample such a feast, probably taking more than he realizes in some ways and less in others. When he comes back, though, I suspect he’ll never quite see things the same, sometimes in ways that may take years to fully realize.
I know that he’ll be a tiny mite on the huge organism that is Cairo, so odds are that you’ll never even notice he was there. You’ll loom huge for him, however, and we appreciate all you have to offer.
Best wishes,
Nic aka Thomas’s Dad
]]>Segregating information by its mode of production, convenient and profitable for software houses, too often becomes a corrupting metaphor for evidence presentations. Why should the intellectual architecture of our reports and evidence reflect the the chaos of software bureaucracies producing those reports?
— Edward Tufte, Beautiful Evidence, p. 61
]]>
I’ve taught Refactoring several times and have a pretty good handle on that. Fuzzy Logic I’ve taught once before and am pretty comfortable with. The Systems course, however, is one I’ve never taught before and am still struggling with on a number of levels, including the textbook.
Any suggestions and ideas on any of these would most certainly be appreciated. I’ll say a little more about each course below the fold for those who want all the gory details.
Models of Computing Systems This is one of our three core courses (the others being Algorithms and Computability, and Software Design and Development), is a 5 credit course (4 hours of lecture and a 2 hour lab each week), and is intended to expose students to computing systems using a layer model that includes as major topics
I’m planning to use x86 assembly for the first item, and the sysadmin work will happen on Linux boxes. I’m planning (still in a vague way at the moment) to try to use computer security issues to motivate/illustrate a number of key concepts in this course. Things like file system and disk structure can be pretty abstract, for example, but I’m thinking that doing a lab where we see how those decisions lead to lots of “erased” data being recoverable might make it seem more “real” and significant.
I realize that no book is going to cover all these things, and on-line resources plus lecture can provide the necessary background for several of these. This course has typically using a “standard” OS book like Silberschatz, et al, but this is large and expensive and really only addresses one of the four topics. If anyone knows of a good book that would touch meaningfully on more than one of these areas, though, that would be really helpful.
Fuzzy logic This is a 2 credit elective course, and should provide a reasonable background in the theoretical definitions and concepts in fuzzy logic, as well as giving the students a chance to apply those ideas. (My current plan is to write robot race car drivers using fuzzy notions of concepts like fast, slow, near, and straight.)
I’m probably more interested in solid coverage of the theoretical material than the applications side. The students will benefit from a good introduction and reference on the mathematical material, and I can probably handle the motivation and application side in class pretty well.
When I last taught this (Spring, 2006) I used An Introduction to Fuzzy Logic for Practical Applications by Kazuo Tanaka, translated by T. Niimura. That book actually worked quite decently. There were some predictable translation issues, but nothing that we couldn’t manage.
Refactoring This is also a 2 credit elective course. I’ve taught this course several times, and I’m likely to again use a combination of Fowler’s Refactoring and Kerievsky’s Refactoring to Patterns. Fowler is the “standard” in the field; the first five chapters of his book are absolutely classic material on the realities of software development and should be read by pretty much anyone who aspires to write good software. Kerievsky’s book builds on Fowler and does a really nice job of demystifying design patterns, converting them from magical insights codified by geniuses into things you could discover on your own through careful refactoring. When I last taught it I think I had Kerievsky as the required text and Fowler as the optional book. Given that together they still add up to less than $100, I’m tempted to require them both. We have lots of copies of Fowler in the lab, though, so I might just require Kerievsky again. Ideas/thoughts on this would definitely be appreciated.
One of the problems we’ve run into in this course in the past has been attempting refactorings on code with limited automated testing. Without good tests you lose your courage to refactor mercilessly, or you have false courage and end up breaking things without realizing it until (sometimes much) later. With only 2 credits to work with, however, you don’t want to spend two weeks writing unit tests for a system before you can start refactoring it, especially when you don’t really understand what the units are and what they’re supposed to be doing. This time I’m planning to use BDD tools like Cucumber, RSpec, and JBehave this time to more cheaply write high level acceptance/functional tests that exercise the key parts of the system in meaningful ways without getting bogged down in a bunch of poorly understood unit tests. We’ll see how that goes.
Wrap-up
So, there they be. Any thoughts, ideas, or suggestions would be greatly appreciated, especially on the Models of Computing Systems course.
]]>
Chris Butler is doing a specialty show on KUMM this semester that opens with an hour-long interview segment. He’s asked me to be his guest this week (6-7pm tonight, Wednesday, 17 Sep), and as part of that I was asked to list (and bring) my “5 favorite songs”.
Five.
Just five.
Yeah, right.
My 5 star iTunes playlist here at the office has 388 songs on it and runs over 21 hours, and that’s just based on things I’ve bothered hauling up to the office and ripping at some point, and includes almost none of our old vinyl.
And I’m supposed to choose five.
Five.
I eventually gave up pretty much entirely on the idea of “favorite” songs ’cause there was just no way to whittle things down that way. I instead started to focus on songs that have been important to me (“life changing”?), which narrowed things down a fair bit. There are a lot of songs I adore that didn’t really change me, but there was still a surprising number left even after that – a number considerably larger than five.
So there was swearing, consultation, swearing, trolling through playlists and CD racks, swearing, notes scribbled on battered sheets of paper, and more swearing. And here’s where I ended up, in no particular order. All these are great songs and songs that I’ve enjoyed consistently for many years. Would I make the same list if I had to do this again next year? Probably not, but I don’t think I’d be unhappy with this list.
And here are a few alternates just ’cause I couldn’t entirely leave them off, again in no particular order:
Lord only knows what I just gapped in the rush and will slap myself for later, but such is life.
I actually tried uploading this playlist to iTunes, but not surprisingly iTunes only has a handful of these songs (4 or 5, I think), so the exercise is clearly futile and I canceled. So, unfortunately, you’re left with my words instead of the wonderful music that inspired them. Check out the show (89.7 FM or on-line at kumm.org) tonight and you can hear the first five, intermingled with far too much of me talking…
P.S. In reading through this I realized that I never actually mention my wonderful family anywhere in here. This is really weird because my parents, my sister, my wife, and my son all weave through this in all kinds of deep, important, and mysterious ways. But none of that made it onto the page. Hmph.
P.P.S. There’s no jazz or classical on this list in any traditional sense. I made a decision to largely set those huge and important (to me) areas aside for this exercise just because things were already so desperate and thinking about those areas only made it worse. But Miles, Mingus, and Monk (not to mention Ellington, Coltrane, and Louis) all belong here, along with gregorian chants, Bach, Beethoven, Kodaly, and Shostakovitch. Life’s a challenge, isn’t it?
]]>
When I edit, I tend to scribble a lot, even when it’s my own stuff (or the writing of people I really like). Last January, for example, I took a set of photos after scribbling all over a paper that Riccardo and I were working on for GECCO. This paper went on to win the Best Paper award in the genetic programming track at GECCO last month, so I’d like to think that all this editing had some value :-).
I posted the full set over in my events account, and I plan on using some of them to show my students that I’m not just being mean to them — I’m mean to everyone, myself included!
This showed up here now because a publisher contacted me about using it in a college writing textbook. I figured I’d clean it up and post the full size version.
]]>Some of my most common Flickr tags (click on the cloud to see it bigger on Wordle’s site):
The contents of the front page of my blog as of 3 July 2008:
I like how the latter captures our time in Spain quite nicely, and I really like how Wordle can intermingle the ascenders and descenders. Wordle can grind pretty hard on your CPU, but there are lots of neat options to play with and some very fun results to be had. w00t!
Thanks to banned photography inc for the tip.
]]>
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.
]]>
Just finished my GECCO reviewing, and I must say that is seriously sucks when people don’t attend to even the most basic of issues. Two things almost guaranteed to majorly annoy a reviewer:
And just guess the average publication date of 8 fine references.
1985.
Yeah, over 20 years ago.
3 entries were books (two of which were over 10 years old), and the only 2 journal articles were from 1938 and 1964 respectively.
Strangely enough, I didn’t encourage acceptance of that paper.
The really depressing thing is that most of our (undergraduate) students at UMM would do better than this.
No, maybe that’s the uplifting thing.
Maybe the really depressing thing is that I see papers with this kind of bibliography fairly often. I’d almost recommend some sort of automatic rejection system for obviously stupid bibliographies, but then people would just start padding their bibliographies with random citations to get past that blockade.
Sigh.
photo credit: markopoulos