Archive for May, 2006

May 27 2006

RoboDeb Away!

Published by matt under Uncategorized

For those of you looking for an excellent way to explore programming in a concurrent programming language, and are ready to lead your own evil robotic warlord uprising, you should check out RoboDeb.

Granted, I need to write more documentation, but there are plenty of books and tutorials available for the occam programming language, as it isn’t new… it’s been around for quite some time.

And, in case you were worried, we submitted the most recent version of RoboDeb (an auspicious version 007) to the VMWare $100,000 uber-appliance challenge. Our most recent release does little more than include the new Sun Java Distribution License; as far as we know, we’re 100% legal on this release.

Comments Off

May 19 2006

From v209 to v301.14

Published by matt under Uncategorized

If only everything was easy…

To do a source release, we need the slinker. To do a source release that will work out-of-the-box on the MacIntel, we need the slinker running on the v300-series of MzScheme.

Yesterday, I finished what looks like a successful upgrade of the slinker to the most recent (301.14) version of MzScheme. This is nice, as MzScheme/MzC now produces JIT-compiled code, and soon may drop its dependencies on external libraries. In other words, we may soon be able to distribute binaries on a number of platforms without requiring the user to install support libraries, which has always been an extra/annoying step.

In other words, because of the continued excellence of the work done on PLT Scheme, we benefit. I return to the UK on what looks like a long flight spanning Monday and Tuesday; while we currently don’t have ‘make dist’ working, we may be able to do a source release very soon. And I think that would make me happy.

Or, at least, take something off the to-do list.

Perhaps the opportunity will present itself during the weekend to do some additional updating of the TVM Blog; a bunch of things continue to fall into place, including improved floating point support, and some really nice performance improvements. More to come…

Comments Off

May 19 2006

Ok, so it wasn’t proof

Published by matt under Uncategorized

In my last post I wasn’t actually trying to prove that foreigners are dirty. No doubt, someday, I’ll try and get a job, and this will tank my chances. I’ll be labeled a racist, pornographer, or some other nonsense, and *poof* no job for me. So, the question is: what inspired the post?

I’ve spent the last four weeks in the USA, away from my wife, simply because I had to leave so the University of Kent could apply for a work permit. I’m not allowed (as someone formerly on a student visa, by some rule/law) to be in-country when the application is made. Furthermore, my passport must be updated by a British Consulate in my home country—and that implies, of course, that I am in my home country when that update happens.

In other words, I’ve spent the last four weeks in the States simply because, from the UK’s perspective, I’m a dirty foreigner.

But I go back in a day or two, and can live and work there for some time, if I so choose. And while it is sometimes difficult being a foreigner, I kinda like the UK. In particular, I love that I can walk most everywhere I need to go, have a public rail system that I can use to go anywhere in the country, and have cheap and easy access to Europe. In the USA, I can drive for hours on end, and all I find are the same rest stops, chain restaurants, and Wal-Mart stores as far as the eye can see. From the UK, I can take a car on a train, the train under water, and then drive a few hours… crossing several international borders in the process. The language, culture, and way of life change drastically from one country to the next.

(Technically, you can take the car on a boat, too, but I haven’t done that yet.)

That’s kinda cool. And to think, in the USA, we’re afraid of Mexicans coming over the border.

Comments Off

May 13 2006

LumpWorld

Published by matt under Uncategorized

I want you all to know that programming for all to see like this is kinda like wandering through a crowded farmers market in your pajamas. Everyone can see how many mistakes you make, and that you’ve got a robe that’s just a bit too small, and you still like fuzzy slippers with funny little monsters on them.

My point is, don’t make fun of my first Greenfoot world. I’m proud of it, even if it doesn’t have wombats in it.

I called it LumpWorld.

To start, I fired up my freshly downloaded copy of Greenfoot. You may need to get Java 5 before you can get started; it’s a big download, so you’ll want to start downloading it slightly before you started reading this post.

First things first; I opened up Greenfoot, and I created a New project (File -> New). I called it “LumpWorld”, because… well, I figured my first world really wouldn’t do anything. So, everything in it would kinda be like a lump.


lump-01

Now remember Matt’s Mantra: documentation is for C programmers. I figure that I’ve hung around the BlueJ guys enough that I can just figure out how to use Greenfoot. So, I right-clicked on Actor, and chose New subclass. When given the opportunity, I called it “Lump”.


lump-02

(Question to self: If you’ve never programmed before, does New subclass mean anything whatsoever? Perhaps this should be New Protoge, or New understudy?)

What I was surprised by was the next dialog: I get to choose a picture for my Greenfoot Actor! Sweet. Now, I could go digging around my hard drive for something really lumpish, but for now, I’ll use a mushroom. They’re kinda lumpy.


lump-03

My Lump now has a picture, but it isn’t ready to go on-stage. To do that, I need to hit the Compile All button. This checks my code, and then gets my Lump ready to run around in the Greenfoot World.


lump-04

I have to admit, I was getting excited at this point. I right-clicked on Lump, and said New Lump(). I thought “Sweet. Mushrooms everywhere!” Turns out, though, I was wrong.


lump-05

I can’t put my mushroom down! You see, I’ve just created a new Lump, but not a new world. This may not be obvious, but I apparently need to have both a World and an Actor to play in it. And here I thought “… all the world’s a stage,” or something like that…


lump-06

If I right-click on World, I can select New Subclass again. Here, I’ve called my new World “LumpWorld”. To use it, I have to Compile All again.

Now, things change a bit! This was nice: I now have an empty world in which to place my lumpy mushrooms. Pretty cool.


lump-08

I know it seems silly, but this struck me as a really nice behavior. So far, I’ve written absolutely no code, but the environment is doing reasonable things for me… like giving me a titled, blank canvas to work on. Oh, the universes I will conjure!

(*cough* OK. It’s getting late. I get a bit loopy when I’m tired.)

At this point, I can right-click on Lump, and place one or more mushrooms in the world. Keep in mind, they’re not really mushrooms—they’re Lumps, but they happen to have an icon that looks like a mushroom. (In the future, I’ll try and use icons that look like the thing I’m creating. At least for a little while.)


lump-10

Bling! A world full of mushrooms! If you’re keen, you can run your world now:


lump-11

And nothing happens! Why? Because we haven’t made the Lump actor do anything. But making our Lump objects do nifty and exciting things is going to have to be for another time… because right now, I need to catch a bus to Chicago.

Comments Off

May 12 2006

Woot! 0.9 hit the streets!

Published by matt under Uncategorized

I don’t think I’ve got any readers yet. Helloooo! Big news! Big news!


Greenfoot-09-Announce

So Bruce, Davin, Mik, and Poul (alphabetical by first name) rolled out version 0.9. Obviously it is time for me to up the ante and start showing you some of what is possible with Greenfoot. Or, to start exploring, and let you tag along. I know Mik has a tutorial in the works (which will be a better place for beginners to start), but I’m going to do a little exploring in the next post just the same.

(And look at that! A plug for the blog! *sniff* It makes me feel loved. :) )

Comments Off

May 11 2006

Proof that Foreigners are Dirty

Published by matt under Uncategorized

Or, one or two people I know have been doing a lot of web searches while traveling!

Google has provided access to its trends data. OK. That’s cool. What do I spy with my little eye? Well, I wondered who has been searching for porn. In particular, the search phrase xxx.

Xxx-Trend

Hm. It looks like porn is on the rise in 2006. That’s good news if you like to get nekkid. Now, those little letters are not, like you might expect, dates that Paris Hilton decided to get nekkid herself in some public place, or when Brittany decided to get some surgery done. Instead, they’re news events that GoogleBot has decided are important.

Xxx-News

But here’s the thing that really matters. You see, the US government is tasking the FBI on searching out and destroying porn. Not the bad, illegal stuff involving kids and whatnot, but just good-old-fashioned naked people doin’ the nasty. Well, something like that. I don’t “do the nasty,” myself… I just make sweet, sweet love… when I happen to be in the same place as my wife, anyway.

I had a point there about the FBI, but I forget what it was. I hope this isn’t getting too personal… I asked if I should quit blogging, you know.

So, let’s see who the dirty people are:

Xxx-Cities

Foreigners! I knew it! Look at that! South America has five cities on the list: Santiago, Mexico City, Lima, Buenos Ares, Bogota, Caracas, and Montreal. OK, so Montreal isn’t in South America, but it’s things like the Mexican-Canadian Overpass that gets me all riled up, so they’re in with the rest of the dirty porn people. That, and Canada has a band called Barenaked Ladies! It does not get more pornographic than that, I tell you. Well, the Ohio Players had some rather risque record covers back in the day, but that doesn’t count. Vinyl is kinky, not dirty.

You know, there’s a lot of places in South America I’ve always wanted to visit. I’m sure I’ve blogged about that before… Good, wholesome people down there. They know how to kick back and have a good time. Real relaxed-like.

;)


THIS POST WAS BROUGHT TO YOU BY ME BEING BORED OF PRODUCTIVITY AND GOOGLE TRENDS


PS. I’d like to point out that, most of the time, I’m a foreigner. Therefore, it is eye-ronic when I say it. Like the song. You know, “doncha’ think?”

PPS. I’ve been knocking things off my to-do list all day, the day started at 5AM, and I’m catching a bus to Chicago at Midnight. It’s going to be a long, long day. Call this my humour/sanity break for the day, eh?

Comments Off

May 11 2006

I M NINJA

Published by matt under Uncategorized

http://www.askaninja.com/

I think I’ve just watched, like, eight of these in a row.

I LOOK FORWARD TO POSTING ANOTHER GOOFY WEBLOG ENTRY AT YOU SOON!

Comments Off

May 11 2006

LEGO Mindstorms, CS0

Published by matt under Uncategorized

Peter, a friend from my time at IUB (and author of the most excellent Data Structures and Algorithms in Java, plug-plug), will be teaching his department’s CS0 next term. He was curious about the NXT, and more generally, about teaching with the LEGO Mindstorms. Here’s the email I sent back his way, with small edits.

The LEGO route is the path of mavericks and people who like to yell loud, incoherent things while leaping off high surfaces. There are not, I do not believe, a lot of materials pre-packaged to get you rolling. I haven’t looked lately, however. (I have a bunch of stuff, but it isn’t polished. It might even be rough around the edges.)

That said, there are a number of tools out there that you can reach for that have a lower startup cost, where “cost” isn’t measured in $, but instead in time/effort (by far, the more important metric).

  1. Python/Alice

    Alice is a programming environment that I’ve not worked with much, but it provides an OO/actor-based approach to programming that lets students do experiments in a 3D world with all kinds of nifty objects. There’s a book available from Prentice Hall, which may make it appealing.

    I forget if Alice uses it’s own bogolanguage, or if it uses Python.

    http://www.alice.org/

    1b. Having just seen the Alice site, you could probably build a course around scripting within a game environment. For example, you could probably equip them all with The Sims, and teach them about programming through scripting the Sims universe. This, probably, involves few transferable skills, and lots of students letting their Sims burn to death in bitterness over the assignment you gave them last week.

  2. NetLogo

    Another “simulation” environment, this exposes students to modelling (again) from an agent-based perspective. They work in a dialect of LOGO, and write the code for one agent (be it a turtle, or a person, sheep, whatever), and can easily release thousands of them into the world. I do not believe there is a supporting text, per se, but you’ll find a good deal of supporting material available from the website.

    http://ccl.northwestern.edu/netlogo/

  3. Greenfoot

    Like NetLogo, but a bit more freeform, and in Java. I don’t know if it will be ready for primetime by next semester. From the creators of BlueJ, and as it turns out, my housemate. It should/will be cool, and personally, I look forward to teaching with it.

    http://www.greenfoot.org/

  4. Scheme

    Just teach them Scheme. Oh, wait, sorry, I thought I was someone else for a moment…

    Then again, the second hit in a Google search for “CS0″ is this link:

    http://www.cs.brandeis.edu/~tim/Papers/sigcse-cs0.pdf

  5. Squeak/Media computing

    You might look at the work Mark Guzdial is doing at Georgia Tech. I’m not sure if the media computing approach is too much or not, but I’ve heard him talk about it in the context of both CS0 and CS1.

    http://www.gvu.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html

    http://www.squeak.org/

  6. You can search in the ACM DL for “CS0″, and get back oodles of hits. Pick and choose based on what looks interesting. I recommend most papers by “Jadud, M.”, as his writing is typically brilliant, witty, and self-aggrandizing.

  7. I know I started off by suggesting that the LEGO route isn’t easy, but I think that’s true. However, it depends on how you sell it to the students, and whether you’re prepared for things to go wrong from time-to-time. If you treat it as an experiment, have a clear direction/goal (I can help with brainstorming based on previous experience there), and your department is cool with the experiment, you probably can’t go wrong. Or, put another way, the worst you can do is engage in an educational experiment with your students, and *all* of you will learn something along the way.

    Hm. That didn’t sound very supportive/positive either. I guess my point is that you have to be prepared to let go. I wrote a bunch of stuff under the rubrick of “TeamStorms” a few years ago. It captures a lot of how I approached/felt/thought about teaching with the LEGO Mindstorms in the classroom. You might check that out.

    http://www.jadud.com/people/mcj/files/2000-SMC-teamstorms.pdf

    http://www.jadud.com/people/mcj/files/1999-R626-teamstorms.pdf

    The first is a “short version,” which I presented at SMC2000 (they must let anyone in). The second is the R626 paper it was distilled from. I don’t claim either is great, but they were written at the time I was actively teaching A290 at IUB, and reflect my thoughts at the time.

    That’s some material to kick you off, anyway.

Comments Off

May 10 2006

Teaching with LEGO

Published by matt under Uncategorized

It is frustrating watching all the Lego Mindstorms Developer Program weblogs. Many of them appear to be people who were randomly chosen to be in the program, and are now (apparently) maintaining weblogs about the robots they’re building.

So, I’ve realized that I could, after all, put my weblog to good use: I could write about some of the things I know, and are appropriate to the blog’s title. One is how students engage in the act of programming—I’ve written very little about my dissertation work over the past few years, and I might as well start serializing my research, results, and ideas out into this space. Certainly, it is a rare and hardy soul who would want to read my dissertation.

Likewise, I have spent years teaching with the LEGO Mindstorms in the classroom. I designed and taught my own course in the CS department at Indiana University Bloomington, and have continued using LEGO in my workings with students at the University of Kent in Canterbury, England. I’ve even helped write a massively concurrent runtime for the LEGO Mindstorms, and have been a judge at two First LEGO League competitions now, but never mind that we weren’t selected to be part of the developer program. I’m not bitter. Much.

So. Purpose. Direction. These are good things. And it will help keep me from blathering on about things that don’t matter in this space. Like, um, Peeps. Erhm… yeah.

(Actually, Peep research seems pretty important. But I’ll let that go for now.)

Comments Off

May 06 2006

Let it go?

Published by matt under Uncategorized

If I want to write about CS education and concurrency, I can write about it on the Transterpreter weblog.

If I want to write about things happening in the CS world “at large,” I can use the Untyping weblog.

Now, when I want to write about cool things in Greenfoot, I can use On Walkabout with Greenfoot.

I still dream of turning CS-ED.org into a collaborative, group weblog written by CS Educators.

The truth is, I actually like having these obvious contexts for writing; whether anyone reads these things is another matter entirely. However, I enjoy my work on the Transterpreter, and having a place to put that content (that makes sense) is great. Likewise, I’m very excited about On Walkabout; I think it’s a great way to explore a new piece of software, and perhaps come up with some good material for teaching and learning besides. And who knows—perhaps I can still make CS-ED.org work.

Eh, we’ll see. I was, in some ways, wondering if I wanted to let this weblog go. Then again, perhaps I shouldn’t; we’ll see. If nothing else, this is a roundabout way to encourage people who are interested in teaching, microworlds, and Java, to start reading Walkabout. And for everyone else, if you wonder where the words are going, it’s just that they’re usually not going here.

Comments Off

Next »