As seen here. Students left to their own devices on spring break are a funny bunch.

As seen here. Students left to their own devices on spring break are a funny bunch.

So, tomorrow I will be speaking to a group of Olin students who have put together a self-directed course titled “Vital Ideation.” Apparently, because I have a notebook, I’ve been invited to speak about the role of notebooks in the ideation process.
Mind you, I have a lot of notebooks. I had no idea how many I had, until I started putting together a presentation about my notebook practice. At Olin, I have all of my notebooks from my entire PhD process. Kinda cool.
But what made me laugh was their description of me on the course homepage on the Wikiversity.
Matt Jadud is a visiting professor at Olin College in electrical engineering and computer science. He has interests in concurrency in robotics and computing, human factors interface design, and software design. Although he is a visiting professor and still alive, students already have hopes of establishing a Matt Jadud Professor of Computer Science chair and awarding it to him.
I think I need to let students write my bio all the time. I especially like the bit “Although he is a visiting professor and still alive“. I mean, it makes me wonder how long I’ve got until they do me in.
Continuing on from my previous post, I continue to wonder about conversational (or dialogic) forms of course evaluation. A cursory search of a few online databases doesn’t yield anything in this area, which means a more serious, systematic literature search is required. While it is true I’ve never seen anyone take a conversational approach to course evaluation, that doesn’t mean that it hasn’t been done or investigated.
Some papers I’d like to investigate, however:
What is interesting was how enriching and valuable a conversational approach to course evaluation turned out to be. And, after receiving the college-issued anonymous course evals, I cannot even begin to imagine how I could evolve and refine my course based on the (blunt) instrument they employ. As I investigate these ideas further, I’ll make note of them on this blag.
Via BoingBoing, from Wired:
The bill, known as the Protect America Act, removes the prohibition on warrantless spying on Americans abroad and gives the government wide powers to order communication service providers such as cell phone companies and ISPs to make their networks available to government eavesdroppers. (…)
E-mail is plain-text. Currently, I even outsource my email to Google, a company that specializes in search. While I’m not (hugely) paranoid, I don’t believe the government has the right to read my mail. Or listen to my phone conversations. Not without due process, anyway.
I have a growing list of possible projects that students might be interested in working on next year. An easy-to-use, end-to-end secure, open platform for messaging is one of them. PGP with email doesn’t really cut it, sadly; I need a solution that my mother can use without realizing she is communicating with me using military-grade encryption.) I think a good plan with a good group of students should easily get in the door for a Y Combinator summer internship or similar.
I thought I’d run a post that is pulled straight from the greenfoot-discuss mailing list. I thought it was a good user story, as it illustrates some of how people “out there” are using Greenfoot, as well as being a fun read. At least, as someone who has taught Java using the Objects First textbook and used Greenfoot in the classroom, I certainly enjoyed the read.
This note comes in from Barry Brown at Sierra College:
I’ve been running a CS11 class this semester using BlueJ. I saw Greenfoot demoed at SIGCSE2 and participated in the Greeps competition.
Once the students completed chapter 4, I thought it would be a perfect opportunity to have a bit of fun and give them lots of practice writing Java. For two weeks, my students tackled the Greeps competition.
A bit of background: my students range in age from 17-ish up to the 40s. I have three high school students among traditional and returning college students. The students’ experience with Java is mixed; some were beginners and others had been exposed to Java before.
I introduced the competition on a Monday. They were shown the Greep class and the inherited methods from Creature. I started them out with a few hints, such as the obvious improvement of having the Greeps turn away from the water or the edge.
On Wednesday (two days later) we had the first round of competition. Of course, I ran the Greep classes on all ten maps. The top five finishers scored 52, 56, 61, 68, and 244. Interestingly, the 244 score was earned by a pair of the high schoolers and falls only 1 point short of the overall winner at SIGCSE.
Next Monday, we ran the Greeps again. This time the top five scores were 150, 174, 195, 215, and 254. The top two scores were earned by the same pair of students who were the top scorers in the first round. (They decided to split up and run their Greeps separately. Later, I would find it was a carefully calculated strategy to win.) Nearly all of the students had figured out how to get the Greeps to stop at the tomato piles and most had some kind of algorithm to steer them around the water.
Finals were on the following Wednesday. As with the SIGCSE competition, we did best-of-three for the finalists. The top five scores were 198, 206, 230, 236, and 281 with the top two scores being earned by the same two high school students.
Feedback from the students were overwhelmingly positive. Memorable quotations:
This was a lot of fun.
Much more fun than BlueJ.
I spent more time on Greeps than my other classes.
All students got a lot of practice invoking methods, reading documentation, writing loops and conditionals, and learning to make use of limited resources. In fact, by the time we got to Chapter 8, the subject matter of inheritance was easy and obvious. They had seen it all before in Greeps!
Kudos go to the Greenfoot team. Playing with Greeps was a fun break from the BlueJ exercises. I’m not sure if I would use Greenfoot exclusively next time, but I’m really leaning toward mixing BlueJ and Greenfoot.
What I like about this post is not just that it is a positive reflection of the use of Greenfoot in the classroom, but that Barry has provided a glimpse of his thoughts on how he would use it in the classroom in the future. The notion of mixing Greenfoot in with exercises from the Objects First textbook is certainly a good one, and might provide some good direction for a set of companion modules that instructors might use throughout the text for enrichment.
Also, what I think is even cooler was the constructivist learning that took place through the use of the Greeps competition. In particular, the students were not phased by the notion of inheritance when they saw it in the text because they had leveraged it throughout the Greeps competition. The purpose of the competition was to score points; however, the students were willing to tackle new learning in their attempt to score more points in the Greeps competition. This kind of self-driven, authentic learning is (in my opinion) the most powerful kind of learning an instructor can encourage in their classrooms. It usually requires giving students ill-defined challenges, and being willing to relinquish some control over how things will progress… but the rewards in terms of learning outcomes can be significant.
So, very cool stuff. That’s it for today, but in my next post, I really want to dive into a new feature in Greenfoot: the ability to export projects for sharing on the web! This is at the heart of the MyGame site, and will factor heavily into what I’m working on over the next few months. I think it is awesome, and before I’m done, I expect you will too.
Footnotes
1 CS1 is shorthand in the USA for a first course in computer science. It often implies a programming-intensive course, but not always. (back)
2 SIGCSE is the ACM Special Interest Group in Computer Science Education. When used in this way, “SIGCSE” implies the annual conference held in the USA each spring. Roughly 1400 computer science educators from all over the world, typically working with high-school and university-level students, attend. (back)
This rambles a bit, but it gets there in the end. And I enjoyed reminiscing, so please excuse me if I take the liberty of using a few virtual column inches to walk down memory lane.
The BBC has a short story on the OLPC project. I liked this quote:
“In fact, one of the saddest but most common conditions in elementary school computer labs (when they exist in the developing world), is the children are being trained to use Word, Excel and PowerPoint,” Mr Negroponte said.
“I consider that criminal, because children should be making things, communicating, exploring, sharing, not running office automation tools.”
This is so very true. I look at the UK ICT curriculum (or some of the kinds of “technology” courses available in US secondary schools) and am sad about the material students are subjected to. When I first encountered a computer, I didn’t run office automation tools—in fact, I used simple programs to do simple tasks. To be fair, it was an Apple ][e, and therefore there the level of possible complexity was limited. This machine had a maximum resolution of 560×192 (”Double Hi-Res”) and 1MB of RAM, all running at 1MHz. The MacBook that replaced my stolen Powerbook has a 1280×800 resolution, 2GB of RAM, all running at 2GHz… with two cores…

But I digress; the point I was making was about software complexity. You can probably argue (effectively) that software for the Apple ][e was simpler because it had to be, and that might be true. Oregon Trail was the most complex game I can remember, and it was (largely) a text-based game with the occasional image. Likewise, most of my time spent using the machine was spent writing BASIC programs to plot images, one point (or line) at a time. Sadly, I have none of these left—digital media being what it is—but I remember with great fondness plotting out pictures on graph paper, and then entering the countless BASIC PLOT statements to make pictures on the screen.
If you read papers by members of the BlueJ team, you see that simplicity in software is an explicit design goal. BlueJ has a limited number of menu options, and it’s primary interface has just four buttons (it might be five now—I can’t remember). Greenfoot, descended from BlueJ, inherits some of that simplicity for free, and maintaining that simplicity, while providing expressive programming power, is key.
But, perhaps more importantly, software like Greenfoot gives students a programmatic canvas on which to explore. A typical program in Greenfoot is still more complex than my first BASIC programs that plot pictures on the screen, but we could probably invent a Greenfoot world that had different colored, pixelated actors who I put in place with a long sequence of plot(x,y) methods. Object-oriented? No. Easy, and immediate, visual feedback regarding success or failure? Yes. Simple enough for a 4th grader? No doubt—and with much more room to grow into. I, myself, never really mastered PEEK and POKE in Apple BASIC.

To come back to the beginning—Negroponte bemoaning the fact that kids are learning Word and Powerpoint in schools today. I agree. On the social/economic side, the Microsoft Office suite is expensive, commercial software—we are irresponsible adults for addicting kids to such an expensive product at such an early age. But, even worse (sticking with my drug analogy for a moment): the drug isn’t even fun. Back in the day, I wrote reports on the Apple ][e, I used Bank Street Writer. You could type reports, and that’s it. It was simple to use, and let me do one thing only—write book reports. Compare this to the monstrosity that is Microsoft Word. Better yet, don’t—Bank Street Writer was function given form, and there is no comparison. Perhaps this explains why I like using text editors, or programs like WriteRoom from Hog Bay Software. A full-screen text editor and nothing else. I mean, it even looks like Bank Street Writer running on a ][e.
But more importantly than economic factors, or arguments regarding simplicity and complexity, I think there is a more fundamental and critical point to be made about kids having fun. And having fun, to me, means that children should be creating. (When does childhood end? Ask me again in ten years.) So really, I don’t care if it’s with clay, crayons, or the computer, but providing creative activities and outlets for kids of all ages is the best way to nurture a hungry mind. And if the OLPC opens up creative doors for millions of kids in the world, all the better.
I just hope Greenfoot can run on it.
A few weeks ago we had a Cool Stuff in Computer Science session dedicated to Greenfoot. Cool Stuff is an extra-curricular “course” open to students at the University of Kent where we explore… well, things they think are cool. Sometimes, we focus on things we think they’ll think are cool. (Did I get that right?)
Anyway, what I like about using Greenfoot in the classroom is the unpredictability of what students will do. I started things out by showing them “termites”, which is a world I created based on a world in StarLogo/NetLogo.
Termites! (~400KB MP4, click to play)
Then, I introduced them to the (mostly empty) Hippo world.

A hippo world
Now, I think the introduction matters. I sold them on hippos on the (false) belief that hippos are kind, friendly creatures that love nothing more than to wallow about in the water. Now, in truth, hippos are cantankerous creatures that are not to be trifled with. And, I think (but am not sure) that they are omnivores. They eat meat. I think.
Regardless of whether it is true, in my world, hippos eat sheep. Poor, defenseless, dumb-as-rocks sheep.
And that was it. Some introduction to how Greenfoot works, and how you actually add behavior to an Actor, and they were off. “Do something cool” was the extent of our instruction that evening.
The first world I’d like to share with you is Rage Lemons (hippos-ragelemon.zip). Below is a 2MB movie (MP4 encoded as well) of the hippos in action.
Rage Lemons! (click to play)
You see, in this world, Hippos and Sheep live together, peacefully. Until, of course, a Hippo eats a Rage Lemon! At that point, the Hippo goes bezerk, eating any and all Sheep it comes across. Eventually, the powerful effect of the Rage Lemon wears off, and the Hippo resumes its normally peaceful life.
At the University of Kent I run a series of workshops (along with Christian Jacobsen) called Cool Stuff in Computer Science. These workshops introduce students to… well, cool stuff. Generally, in computer science. As the year progresses, we let their interests drive the workshops. In the beginning, however, we pick things we think will be both entertaining and, perhaps more importantly, open doors to interesting parts of the discipline that they can explore further on their own.
This last week was our first meeting of CSCS this year, and we took a look at Greenfoot. I put together a simple exercise, and gave them two scenarios to explore. The first got them into making agents move, and the second was a bit broader in scope—it was more for them to look at on their own than to drive a particular exercise. For a moment, I want to focus on the first of these two.
It was called “hippos”, and it conatined two kinds of agent: hippos and sheep. It was little more than a reworking of the Wombats scenario, but instead of using cute, furry wombats, it used little gray hippos and white fluffy sheep. Of course, I set these up as ill-tempered, flesh-eating hippos who liked nothing more than a muttony, fluffy snack!
This may seem silly, but when we introduced Greenfoot the year before, we used Wombats. This is a fun scenario, and the students did some interesting things. But this year, they did some wacky things. I mean, really funny stuff. One student introduced rage lemons, which (when a hippo ate one), it would go into a homicidal rage, eating every sheep it could find. Another student wanted the sheep to explode when eaten (introducing a new Actor that was, essentially, the explosion). Yet another quickly discovered exponential growth, as their “love hippos” would procreate beyond control… ultimately, causing Greenfoot to throw an exception.
My point? Greenfoot is a very compelling microworld. And perhaps this is a property of all microworlds, but the “creatures” we populate those worlds with probably effect the kinds of projects students do greatly. In the past, I’ve introduced AIDS dissemination or traffic flow models. This year, I gave them enough to make their Agents move around with very little preamble, and let them be creative. Put another way, I wonder if the simple choice of icons that you use for populating a Greenfoot microworld effects the way students approach the problem?
Given that my Mac was stolen a few weeks ago, I’m not terribly effective at taking screenshots and the like. However, I do have copies of some of their projects, and will make those available here over the next week or two as a series of posts. Largely, this is because I thought that, at a “Cool Stuff in Computer Science” meeting, the students had done some pretty cool stuff.