Friday, March 6, 2009

Thank You! BlueJ and Greenfoot open up.

I just stumbled across this announcement about BlueJ and Greenfoot going open source. These are two applications used by many teachers of AP Computer Science classes. In the past they were always "free" as in free beer, but the source code was not available. Opening up their code can only help spread the use of these two wonderful programs.

Many times in the past I've contacted Ubuntu users in the Ubuntu forums for help on issues with BlueJ and Greenfoot. The response has always been a bit reserved--show us the code and maybe we can help. This change of policy will immediately build acceptance from a very talented group of developers and programmers.

Also, it's just plain fun to read the source code. Michael Kolling and John Rosenberg have written code with much better documentation than you will usually find. Here's just one example:

/**
* Java 1.4 & prior version of trinary "? :" operator. See JLS 2nd ed.
* section 15.25.
*
* @throws RecognitionException
* @throws SemanticException
*/
private JavaType questionOperator14(AST node) throws RecognitionException, SemanticException
{
AST trueAlt = node.getFirstChild().getNextSibling();
AST falseAlt = trueAlt.getNextSibling();
ExprValue trueAltEv = getExpressionType(trueAlt);
ExprValue falseAltEv = getExpressionType(falseAlt);
JavaType trueAltType = trueAltEv.getType();
JavaType falseAltType = falseAltEv.getType();

That was interesting. This comment here was also fun to find:

/**
* Find the Wireless Toolkit. In Windows we search all the filesystem roots.
* In other systems (Linux, that is) we search the directories in the
* initializer list of array 'roots' listed below.
*/

I've got a lot of reading to do, it seems.... :-)

Saturday, February 14, 2009

The Day it Rained Forever

The Public Library just had a book sale and I was lucky enough to find a nice hard-cover copy of The Stories of Ray Bradbury. The 100 stories in here will nicely complement my copy of a more recent Bradbury anthology of 100 stories--none of them are duplicated.

I've been in a lull. Although I have been quite productive teaching-wise, my life has been dominated lately by the difficulties my boxer dog is having. She's 10 years old and shows the symptoms of geriatric vestibular syndrome. Although her mind is still there, she lacks to coordination now to feed herself. I've been feeding her by hand, though, as it's the least I can do. She really has been a great dog--albeit a somewhat high-maintenance one. :-) She went through a difficult spell last Spring and fully recovered. We're hoping she can do so again, although this time the symptoms are much more severe. When I was a kid I used to absolutely dread the extreme emptiness you experience when you lose a pet. Not much has changed, really. Many things just don't matter as much all of a sudden, and you feel as if you're floating through life.

Thursday, February 5, 2009

Alice 2.2 Video Export Test



Just seeing if this works. Recently we upgraded to Alice 2.2 in my Intro to Programming classes and we are now testing out the cool features 2.2 has that 2.0 did not. Exporting videos is one of them.

Wednesday, January 28, 2009

Scratch on Ubuntu

Today I had a personal visit from Bud the Teacher. We had a few things to discuss about our upcoming district tech fair, but as usual we soon were talking about big ideas and all sorts of stuff that we would like to see reach fruition.

Bud mentioned the possibility of using Scratch with some of our district Gifted and Talented student. Bud didn't even start by saying, "have you heard of Scratch?" No, by now he knows that if it deals with teaching programming and/or is open source, I probably have looked into it. I told Bud I would be happy to help teach Scratch to any interested teachers, possibly this upcoming June.

When I got home, I fired up my Ubuntu laptop, opened the command line and typed "scratch". I got the cold and impersonal Linux response of "command not found" and realized that I had NOT installed Scratch on my current Ubuntu version (8.10). I did recall, however, installing it on Ubuntu 8.04 and having it work great. A quick visit to this page had me up and running, scratching my way along in a neat little world of click and drag logic. I remember the days when Linux versions were a ton of work. That's changing, though, and more and more great apps for teachers are fully supported on Linux, with Ubuntu being the most common choice.

Gotta go. My Scratch is rusty....

Oh, and if you're like me, you'll want the source code. Happy {code} reading.

Sunday, January 18, 2009

Raygun Gothic: The Future That Wasn't

Today I went for my first long bike ride of the year. It's day one of our school's voluntary "wellness challenge", and I'm looking forward to getting in shape.

The weather was very windy, but warm, almost warm enough for me to be wearing the t-shirt and shorts I had on. While biking, I listened to my iPod play the first episode of the old time radio series X Minus One. It was a great example of retro futurism, as the episode (from the mid 1950s) described the "future" in the 1980s.

Now, if you were a kid of the 80s like me, you won't recognise the 1980s in the old radio episode. That's because it was the future that did not occur, the future from the forgivably short-sighted minds of 1950s writers and producers.

As I was riding along, I got to wondering: what's the term for that style? Steampunk has it's own look, as does Cyberpunk. I found myself wishing I could Google it right then and there on my bike just to put an official term to it. Now, after looking it up, I find there are really two terms: retro futurism and raygun gothic (from Wikipedia):

Raygun Gothic is a catchall term for a visual style that incorporates various aspects of the Googie, Streamline Moderne and Art Deco architectural styles when applied to retro-futuristic science fiction environments. Academic Lance Olsen has characterised Raygun Gothic as "a tomorrow that never was".
I first came across this term when William Gibson coined it in his excellent short story, "The Gernsback Continuum." That was the first time I really thought long and hard about the concept of retro futurism. I mean, of course I had always watched The Jetsons and a host of other old science fiction shows. When I first watched them I still thought they were presenting a plausible (all-white, sexist, and safe) version of what the future could be. In time, though, you notice that the "future" of those old shows looks more like our own past--albeit with big shiny fins and slidewalks.

Great examples of Raygun Gothic are all around us. The Fallout 3 video game is 100% raygun gothic. The TV series LOST is also almost entirely raygun gothic. Heck, even this great video on Youtube is Raygun Gothic, as it tried to imagine the world of 1999 way back in 1967.

The thing is, though, that every story about the future to come is doomed to become another case of retro futurism. When I was reading cyberpunk in the late 80s, it sure looked cool and exciting. Now it looks a lot like ... well ... the late 80s. :-)

[Note: All the episodes of X Minus One are now in the public domain. You can find them at the Internet Archive for free.]

[Note number two: The difference between the term retro futurism and raygun gothic is this: raygun gothic is a particular type of retro futurism that features a future that was envisioned by the (male) writers and producers of the 1950s: automobiles with big fins, blonds ubber people, rayguns, etc. Stempunk, therefore, is also a form of retro futurism.]

Why Teachers Don't Share More Often.

One thing that drives me nuts is watching money be wasted. Pretty much every institution finds ways to spend money unnecessarily, but schools are often quite proficient at this skill.

What makes this even more frustrating is that teachers are by nature one of the most sharing and willing to contribute group of people I've known. Teachers create things every day that they'd be willing to share with others. If only someone would coordinate this resource and bring a true community to fruition!

Sadly, it seldom happens. I blame proprietary formats and money-hungry businesses. Teachers have been slammed for so long by the copyright zealots of the textbook publishing industry that they simply are unaware that there can be an open alternative to the way they do their jobs. Certainly within individual schools and districts there may be a large amount of sharing going on. By this I do not mean illegal sharing. Instead, I'm talking about the plethora of lesson plans, activities, and strategies that teachers create and use in their classroom. Most teachers would love to share their creations and utilise the creations of other teachers. This occurs whenever teachers get together at a workshop--they exchange email addresses and promise to send each other their creations.

Many times, though, they feel guilty doing this, or feel that it is too good to be true to be able to "steal" from other teachers. [They use that term, "stealing"! when they should be saying "sharing."] Where does this come from? Maybe from the fact that any time teachers attend a workshop sponsored by major textbook publishers, they are given complimentary copies of what often appear to be wonderful resources. As soon as they open up the book to make a few copies to share in class, though, they see the strict copyright warnings printed on every page. This is so common that they believe it is typical of teachers sharing resources: there's always a cost.

But, there isn't always a cost. Most of the resources that teachers share are not photocopied from copyrighted materials--they're quizes, plans and activities that teachers created by themselves. They should be able to enter these items into the vast network of teachers and create a free and open community of resources for any teacher to contribute to and to use.

There's one problem, though: proprietary formats. If teachers continue to use closed software like Geometer's Sketchpad, we remain slaves to the format. This is changing slowly, however, as there is no longer a stigma attached to writing pdf files or importing doc files into OpenOffice. Geometry teachers could use several of the free and open source alternatives to Geometer's Sketchpad, but few do. Why? Because the textbook publishers are like crack dealers. They know by now how to "give" (although you really don't get any rights to what you're given) teachers a free copy of their software. They also know how to make district tech departments feel like adopting their software will make their lives very easy.

So the district buys a site license to Geometer's Sketchpad and they're all set. Notice the students were never mentioned in this process? That was intentional. They are NOT factored into this process at all. Instead, decisions are made that lock students into having to use expensive software that they have no access to outside of class. Students would have access to all of the open source alternatives at home.

My district has done quite a dance with proprietary software. In the past it was acceptable to pay for access to, say, MacSchool, as it was pretty reliable and did what we wanted it to do. Since then, though, we have used expensive software that was terrible, and freeware (NOT open source) that was generally despised by all involved. Next year we switch to Infinite Campus, which I believe is a good thing. In the meantime, though, we have a semester where teachers are allowed to use whatever they want for a grading program. Really. Whatever we want. Some will no doubt just use the traditional red gradebook and only use computers for reporting final grades. Others will try to find an old copy of Making the Grade or something similar lying around.

I decided to Google "open source grading program teachers" and found Open Grade. It's simple and (dare I say) elegant. I did the Linux make, build, install and now have a pretty cool grading program with few features, but even less annoyances. It works. I can print out student or class reports into text files and fit a lot of info on one page. Also, since it's open source, you can get to the source code (in Perl) and alter the way it works.

We're lucky, as educators, that there are people like Ben Crowell, who created Open Grade. Some may scratch their heads and say, "but why would someone do that and share it for free?" I would say, however, that behavior like that is the rule, not the exception, in higher education, and I have hundreds of examples to prove that point. Here's a couple:

Jason R Briggs has written an excellent Python book for teaching Python to kids.
Dick Baldwin shares a ton of his own work for the Alice programming environment.
Allen Downey has been sharing his Java and Python books for years.
Moodle and Wordpress are used by many teachers, most of which can't believe they're free.

I just wish we had a more efficient way of sharing all these homegrown education resources....

Sunday, January 4, 2009

Leaving on a jet plane

Tomorrow is the first day of the Spring semester. While my students are filing into my classroom, I'll be on a jet flying to Carnegie Mellon University in Pittsburgh for a one-day workshop on Alice 3.0, which I'll be using in my Intro to Programming class this semester.

My students will be official bug reporters for Alice 3.0, a scary and yet exciting job for us. I'm also hoping to put a word in for Linux support while I'm there. Wish I was better at tweaking Java in Linux, so I could help out more. :-(

Spent most of today packing up and storing away my NES and SNES game collection. Had to make more room for some recent book acquisitions....