Jun
30
2009
Although written up some time ago, I hesitated sharing my reflections on Junior Seminar from the Spring 2009 semester. It was a challenging semester for a variety of reasons: a very small enrollment coupled with a lack of good communication between the conveners meant that the student experience was inconsistent (at best) from one 2-week module to the next. I walked away feeling that my larger pedagogic goals for the course were (at best) poorly serviced because of this inconsistency. However, the reflection is still incredibly valuable—because a course did not go as planned, or because all of my goals were not achieved does not mean it should be swept under the rug and disappeared. In fact, these make it even more important that I reflect and share that reflection, in the odd event that the WWW survives the Apocalypse/Singularity/Road Trip to Vegas.
As in past semesters, I asked my students what they would keep, change, add, or throw away (KCAT). I have used this evaluation process for many courses over the years, and have only recently begun writing up the results of this conversation and sharing it back with my students (and the world, FWIW). Software Design at Olin (F2007), Introduction to Computing at Allegheny (F2008), and the Spring 2009 offering of CMPSC 220: Programming Languages at Allegheny College (direct PDF link) have all received this kind of reflective treatment. To these, I add my thoughts on my Spring 2009 offering of the Junior Seminar in the Computer Science Department at Allegheny College (PDF link).
Jun
29
2009
The MDI AirCar prototype is a toy I want. (Full article at Edmunds.com.)

It runs on compressed air. If you have a renewable source for compressing the air (eg. hydro or wind turbines), it is a truly zero-emission vehicle.
It has a 180cc, two-cylinder engine that runs on compressed air.

You can see the air cylinders underneath the seat.

How awesome would that be for in-town driving? All we have to do is get all the bullshit Hum-Vees off the road so I don’t get killed the first time someone talking on a cell phone while yelling at their kids in the backseat loses track of the red light they’re approaching…
Jun
28
2009
For the next three weeks, I have to friends and colleagues here in town. We’re busy hacking away, laying some foundations for the “next steps” in the work that we do surrounding concurrent and parallel programming languages.
It does mean that we have a very full house, but on the flip side, we’re eating well (everyone likes to cook or bake) and getting good work done so far. That, I suspect, will continue.
Especially the eating well part.
Speaking of which, I’m no longer frying, but instead burning, the mushrooms I have in the pan…
Jun
06
2009
Twenty years ago, CNC machining was a black art. CAD-driven solutions were expensive, and program-at-the-machine was just becoming available. My first experiences with this technology were with my father’s 1986 Hitachi Seiki CNC lathe with Fanuc 5T control. It had a punched tape reader, and editing (once a program was loaded into memory) was on a per-line basis using a 9-key numeric keypad.
What looks like a Hitachi Seiki 3NE CNC lathe
Today is a different world. It is possible to draw, using free/open-source software, a 2D part and have it sent out to be laser cut by companies like Ponoko. You can take 3D designs and have them printed, or you can have them produced (on-demand, one-off) by CNC. You can even have them turned into molds through the same process for short-run (10-1000) injection-molding. For that matter, you can build your own 3D printer from open-source designs, or buy a kit that gets you moving in the world of personal fabrication.
I am fascinated by this space, in part, because of my experiences in my father’s shop. It is also as a computer scientist, and in particular someone who is fascinated with languages and robotics, that I see a great deal of potential. As these tools become more affordable (for play and exploration), they become not just tools of manufacture, but of art and creativity. Likewise, I can begin to think about how I would create a mid-sized, affordable robotics platform for use in and out of the classroom—without being entirely constrained by what I can purchase off-the-shelf. That is, I can actually design, and have produced, low-cost bracketing specific to my needs, if necessary.
So many toys, so little time…
Jun
05
2009

In two weeks, I’ll be giving a talk (along with Christian Jacbosen) at USENIX ‘09 entitled Towards Designing Usable Languages. We’re excited about the talk, and it should be very, very exciting.
I believe the talk will be on-line when we’re done, so I’ll make sure to point to it. If you’re in the San Diego area, and want to try and get together, drop a note—the schedule will be tight, however. We’re in-and-out like a burger.
May
23
2009
Friends of ours were heading through from upstate New York through to the Cleveland area. Erie, as it happens, is right on I90, and there are plenty of tasty places for a quick bite in such situations. So, we scooted up with Matthew and had a wonderful little lunch at George’s restaurant.

Located right near the intersection of W26th and State, it has almost no parking to speak of. However, it was a respectable little diner, with friendly staff and tasty food. The patty melt, fish sandwich, and chicken and gravy were all sampled, and it was agreed that they did OK. For a place that looked a bit like a dive, it was priced right and very tasty.
Matthew, in case you were wondering, had the chicken gravy. His appetite has grown tremendously in the first two months of life.
Now, we are off to find milk, yogurt, and other tasty treats.
Apr
21
2009
During the Spring 2009 semester (my second semester at Allegheny College), I had the opportunity to teach Programming Languages. If there is something in the canon of computer science that I love, it is languages. Or, perhaps I just like writing compilers and VMs. Either way, I was excited to offer the course.
I struggled with the design: I had 25 students ranging from first- through fourth-year, and the only background I could count on was that they all had two semesters of Java. I considered a survey approach, but I couldn’t see how this could possibly compare to the writing of interpreters implementing a variety of language features. In the end, we ended up using Shriram Krishnamurthi’s CC-licensed Programming Languages: Application and Interpretation along with some materials I developed myself.
I think the course went over well, and the students (in my estimation) learned a great deal about naturally recursive data structures, software testing, and the interpretation of languages. There is work to be done to improve the course for its next offering, but I think I have established a good starting point for future revisions.
As in past semesters, I asked my students what they would keep, change, add, or throw away (KCAT). I have used this evaluation process for many courses over the years, and have only recently begun writing up the results of this conversation and sharing it back with my students (and the world, FWIW). Software Design at Olin (F2007) and Introduction to Computing at Allegheny (F2008) both received this treatment. To this collection, I add a reflection on the Spring 2009 offering of CMPSC 220: Programming Languages at Allegheny College (direct PDF link).
Mar
25
2009
I’m a day late.
As we enter the fifth day of Matthew’s life outside the womb, I’m finding I do not have the time to craft a particularly eloquent essay on the topic of women and computing—Carrie and I spent the majority of the last night awake, and we both have long days ahead of us. (I get off easy with classes and meetings throughout the day.) So, we’ll go for short and to-the-point.
I will simply say that I am grateful to my academic parents—my colleagues at the University of Kent—and specifically Sally Fincher, my PhD supervisor, for the absolutely world-class mentorship I received. Further, through her work on the Bootstrapping and Scaffolding projects, the Disciplinary Commons, and the founding of ICER, I know that many other people have benefited from her knowledge and insight when it comes to computer science education research.
Mar
23
2009
http://www.jadud.com/matthew_john/
Matthew came home today.
This is trickier than I thought it would be.