Karl R. Wurst

I am Professor of Computer Science at Worcester State University.

Feb 012012

My Spring 2012 course is well underway (into the second week), and going well. But, as I was putting up the latest assignments and resources for the class, it struck me: I’m defaulting to CLOSED!

Many of the materials that I’m using are coming from Heidi Ellis‘ course at Western New England University, and from other open, online sources. Yet, here I am, posting them in our Blackboard CMS, where only my students have access to them! And this really is a default action — it’s just what I’m used to doing, so I’ve done it without thinking.

This is a somewhat minor at this point, since Heidi has already made these materials available. But, I’m starting to develop new exercises and assignments that others may want to use. And, just as I borrowed some of the course organization from Heidi’s course, someone else might find my “remix” of her organization useful or inspiring.

So, I’m starting to think about where I want to post my course materials to make them open. (Licensing is not the issue, as I’ve been CC-licensing my course materials for years.) Unfortunately, our school is not good about giving faculty web space that they can easily edit for themselves (our default is Microsoft SharePoint.) But, we have our own departmental server, where we are hosting our departmental blog (acting as a planet), our Git and Subversion servers, and our Wiki. I have a vestigial web site there (that just redirects to my Sharepoint page), so I can probably press that into service as the home for the course.

It may take a bit more work, because it won’t be the default. I’ll have to move all the materials I’ve already posted and remember to post the new ones I’m writing to this more open location.

And, I’ll have to work on making open my new default.

Nov 302011

The Worcester State University CS Department now has its own blog at http://cs.worcester.edu/blog. It was set up to act as an aggregator, so that faculty and students in the department can contribute posts.

I had it set up primarily for the students in my CS 401 class to blog about their Open Source project work, but anyone in the department can submit posts about their classes, projects, or research. It is my hope that it will serve to build a community within the department, so that we can all learn about the cool and interesting things that the members of the department are doing.

The blog is running as a WordPress instance, with the FeedWordPress plugin doing the aggregation. Erin McLaughlin, who is helping me with preparation for my Spring 2011 CS 401 class, did the grunt work of the WordPress install. Thanks Erin!

Jan 012011

I’ve been inspired by Mel Chua‘s post, Join Nicholas: chronicle the start of your own FOSS adventures, which, in turn, was inspired by Nicholas Whittier‘s post, New Year’s Resolution: More open source participation.

Nicholas has made a New Year’s resolution to participate more in Free Open Source Software (FOSS), not just evangelize for its use. Mel has encouraged him to write about it to help document the process of a newbie joining an open source project. Mel very eloquently explains why this is important:

I’m very much looking forward to reading these posts, and have encouraged Nicholas to tag them so they’ll show up on Planet TOS – he’s a keen writer with the ability to reflect on his mental processes while learning something as a novice, which is something that will be incredibly valuable for any open source project trying to get insights into how the participation process looks like from the newbie side, and also to newcomers looking to read about the thoughts of someone going through the process they’re about to launch into.

I hope that more newcomers join Nicholas in writing down their thoughts as they begin their own FOSS journeys. It’s actually the sort of thinking and contribution that we typically lack the most – and something that experienced contributors cannot do. I have some of my own thoughts in this blog from several years ago when I began actively contributing to open source, but they’re faded and fuzzy and I wish I’d done more (I was confident that nobody would care, but as it turns out, I wish I had written more down).

Too often we’re only publicly reflective only when we’re confident and experienced with something – so I applaud (and admire!) the courage being demonstrated here. Good luck, Nicholas – please keep writing, and let us know if we can help you with your adventures in any way.

I felt this lack of documentation for newbies in a FOSS project myself — twice in the last six months. The first was in June when I participated in POSSE Worcester State to learn about teaching students about FOSS participation, and had a very difficult time getting involved in a FOSS project myself (despite having three instructors who all have high-level leadership positions in the project). The second was this past semester, when I required the students in my CS 401 software development class to participate in an FOSS project. The students learned a lot, but it was clear to me that I need to know much more about the process to be able to give them a better learning experience.

So, inspired by Mel and Nicholas, I am going to make a big push this year in FOSS participation myself. I have an entire year until I will be teaching CS 401 again, and in that time, I want to become someone who has participated in a FOSS project. I want to document my experience so that I can help my students more effectively when I throw them off the deep end again in Spring 2012.

I have four main goals (at this point):

  1. Learn the tools and processes myself by participating in a FOSS project.
  2. Figure out what FOSS tools and processes I can begin to introduce my students to in earlier courses.
  3. Figure out what FOSS experience(s) I can provide my non-CS students.
  4. Find a project (or projects) to place my Senior CS students into in Spring 2012.

I’ll write more about each of these goals in future posts. (An unrelated goal is to become more comfortable with blogging — I find this process to be a relatively scary one. As an academic, I find it difficult to discuss the process, rather than the finished product.)

And, with that, I hit Publish

Jun 102010

I spent most of POSSE Day 3 being lost – and not necessarily “productively”.

After spinning my wheels for a while and aimlessly looking at the code for Measure, Aparna and I finally decided to try to add a tool tip to the slider in the sound tools. By lunch we had broken Measure. We finally discovered that the issue is that, while the buttons are Sugar graphics elements, the slider is a GTK element. (Or maybe Kristina told us that – I can’t remember.) So I spent some time looking for where the toolbarbutton is defined. (The Sugar graphics elements are at /usr/lib/python*/site-packages/sugar/graphics – Google knows all…)

After looking at that code, I decided that the “best” fix would be to create a Sugar-based graphics element. I haven’t started on that because it would require changes to Sugar code, not just Measure code, and that seemed like a much bigger task – both coding-wise and process-wise. I may take a look at it later.

I have to do some thinking about how “unproductive” a day this was. It was certainly unproductive in terms of code. However, it was probably productive in terms of realizing what my students may go through while trying to do this next semester. I’ll have to think about what I’ve learned while doing this that I may want to help them with. Even harder will be trying to decide how much to help them. Is there something important for them to learn in spending a stretch of time being “unproductive”?

Jun 092010

Today we spent our time learning how to get the source code for a FOSS project. We used git to get the source for the Abacus activity from Sugar, and then made modifications to Abacus. Jerry Breecher and I added a “decimal” version of the abacus (10 beads on each rod). The changes to the code were easy to make – mostly copying and pasting, and then making some simple changes.

The more difficult part of the task was committing the changes to my local repository and making patches. These were not technically difficult, but I don’t really know enough about how to use git. I think that a more thorough introduction to git would have been useful (although I guess I can just read the documentation on my own…) I also think it would have been helpful to have created our own branches on gitorius and committed our changes there. That would have accomplished multiple things for me:

  1. It would have allowed me to test the ssh key I created on Monday to see if I registered it correctly in gitorius. I also want to find out if that ssh key is machine-specific, in other words, will I have to create a new key on my other main machine and register that one as well, or can I use the same key on both machines?
  2. It would have allowed us to learn how to submit a merge request. Since I was creating the patches in my VM instance of the POSSE Education live CD, I wasn’t sure how I was going to get them off the VM and send them to Walter. It seems it would have been easier to just commit to gitorius and request a merge.

I spent most of the evening not working on the assigned homework. Instead, I spent my time getting a working instance of Sugar on a Stick (SoaS) running on a virtual machine. Since I had been unsuccessful at creating a Live USB version that would boot on the Mac, I wanted a version I could work in to test my Sugar activities. I had been booting the SoaS Live CD in a virtual machine, but that didn’t provide any persistence. After some failed attempts at using zyx-liveinstaller, I contacted Peter Robinson over IRC and found out that I should be using liveinst instead. That worked fine, but it took me a couple of iterations because I made the virtual hard drive too small the first time.

Today, in between assigned tasks, Peter Robinson and I are going to try to get the SoaS Live USB to boot on the Mac. He’s pretty sure he knows how to do it, but has never had a Mac to try it on.

Jun 072010

I am currently participating in POSSE Worcester State, taking place Worcester State College on June 6-11, 2010. This is a week-long bootcamp to prepare Computer Science faculty to participate in Free Open Source Software (FOSS) projects, and to be able to help their students participate as well.

My own goal for this workshop is to prepare for my section of CS 401 Object-Oriented Software Development in Fall 2010. I would like to have my students participate in a existing FOSS project as a way of learning to participate in a large software project with a large codebase and a large number of participants. However, I haven’t done this yet myself, so I am participating this week to learn how it all works.