This is what a computer scientist looks like

Musings on teaching, research, technology, and diversity by someone who doesn't look the part.

Menu

Skip to content
  • Home
  • About
  • Readings and resources
27Oct2016

Exploring the HFOSS world for fun and profit (OK, for pedagogical purposes)

Posted in computer science, teaching by acdalal

One of my post-tenure teaching explorations has been in the general area of integrating academic civic engagement projects and experiences into my courses. In the past, I’ve had students work with campus and/or community members on term-long projects in our dyad, my Argument and Inquiry (first-year) seminar, in our Human-Computer Interaction elective, and in a Comps (senior comprehensive exercise) project last year. These have been amazing experiences for my students (and for me!), and hopefully for our partners, and I’ve had the privilege of working with Carleton staff and our Center for Community and Civic Engagement who make setting up and executing these projects easy and fun.

I’ve always been a bit curious about ways to extend these civic engagement experiences outside the Carleton and Northfield communities. In addition, I’ve always been interested in helping our students have encounters and experience with real-world code and real-world development processes. So it was sheer dumb luck, or maybe fate, at Tapia when I found myself sitting in between Gena Likins and Janet Davis. Gena works for university outreach at Red Hat and talked about a workshop that Red Hat sponsors (and NSF partially funds) called the Professors’ Open Source Software Experience (POSSE), where faculty learn about how to incorporate humanitarian free and open source software (HFOSS) project experiences into their courses. Janet, whom it feels like I’ve known for forever at this point, had attended the most recent POSSE and highly recommended it. I came home from Tapia and immediately applied (and was accepted) to attend the next POSSE in November.

As part of my homework for the workshop, I need to do a couple of blog posts on open source software based on some pre-workshop activities. The first such blogged activity is the “FOSS Field Trip”. This field trip was a great experience for me, since I’m pretty much a newbie in the HFOSS world and am still trying to get the lay of the land. The activity asked us to do some structured poking around in SourceForge and OpenHub to get a sense of the activity levels, contribution histories, etc. of various projects, as well as to get used to those two particular sites.

My first stop was SourceForge. It’s been a very long time since I’ve been on SourceForge, or at least not gone directly to a specific project page on SourceForge. The prompt asked me to type in a search term of interest. Since I’ve supervised a few Comps projects on health care and health related apps, I typed in “health care” as my search term.

This is a screenshot of the results:

Screen shot of SourceForge search for "health care".

Screen shot of SourceForge search for “health care”.

I show the results here because I was struck by how crowded and cluttered the UI was. Large ads competing with the results for screen real estate. Lots of real estate devoted to “sponsored links”, which as far as I can tell are not or may not be projects? It’s very disorienting and makes it hard to figure out where to start or where to focus. I can see why many people find it so overwhelming to contribute to open source projects, if something similar to this is their first encounter with the projects.

So. There are 87 projects (does this include “sponsored links”? Unclear.) A brief perusal of the first page of results when I sorted by “Last updated” showed a few projects which seemed to be vitamin scams and a number of health records/administrative related projects, along with some projects that didn’t seem to relate to health care at all. Sorting by “most popular” yielded some more promising looking projects. And I figured out that I could mouse over a project and see a brief description. But the descriptions still didn’t tell me a lot about the projects, and I was still overwhelmed by the number of things to click. (Fun fact: Filtering by “recently updated” limited the search results to 6 projects, many of which were different from the top ones that appeared when I sorted by “last updated”! There were 6 recently updated projects, most of them dealing with health care records, such as OpenMRS.)

The projects were written in 15 different languages; the most popular being Java (by a long shot), PHP, Javascript, and JSP. I was actually surprised by how popular Java is as a language — I think I expected more Javascript.

I decided to drill down more into OpenMRS, which is a framework for medical records systems —specifically, a framework that can be used to set up a medical records system in a resource-constrained environment by people with little to no programming experience. This appears to be a very stable project (in fact, its status is both mature and stable/production). As an educator, I am more interested in stable, established projects — I can’t take the risk of having my students contribute to something which may go away or may lay dormant for the duration of the class/term. It’s been recently updated (commits within several hours of me viewing the page), which is a good sign. I couldn’t glean much info from the SourceForge site, so I went to the project web site instead. The web site is super helpful! It looks like the project is mostly written in Java. There are clear ways to get involved in the project, and good documentation (from my quick skim). This site makes me feel good about potentially contributing to this project and puts my fears at ease. There are currently 51 people listed on the “people” page of the Github repository, so I presume these are the active committers.

The second part of the exercise asked me to explore the OpenMRS project on Open Hub. Well, at least it will be interesting to see how this project is differently represented on the two platforms. Anyway, I went on OpenHub and searched for OpenMRS. Here’s the screenshot of the result:

OpenHub screen shot, search for OpenMRS.

Open Hub screen shot, search for OpenMRS.

This interface was much, much clearer to navigate. I like the analysis it attempts to provide about the activity level of the project, although I was struck by the discrepancies between the data reported here and the data on Github in terms of project participation and updates. (Looks like this is because the data is based on project activity from a few months ago.) I also like the stats view, which I think would make it easy to compare the activity level of different projects before deciding to integrate one of them into a class. Here is part of the stats page for OpenMRS Core:

Screenshot of OpenHub stats about OpenMRS Core

Open Hub stats about OpenMRS Core

 

OK, at this point I have to admit that I started geeking out on the stats. Here’s the OpenMRS Core stats page about the languages in which the project is written:

Screen shot: Language stats for OpenMRS Core

Language stats for OpenMRS Core

Something like this would be super useful to use in my Software Design class, when we talk about code structure. Lots of potential teachable moments in this data. Also, I don’t think you can see this in the screen shot, but the OpenMRS Core has 187 lines of Pascal code (27% of which are comments). Not sure if that’s scary or impressive or a bit of both.

OpenHub reaffirms that this is an active, healthy project. There seems to be a core group of contributors and a number of new contributors, which would make me feel good about assigning students to work on this project in a class.

In completing this FOSS field trip, I’ve started to reflect on how to incorporate HFOSS more broadly into my courses. I went into this experience thinking that HFOSS would be a good fit for a Comps project, and I’m still planning on primarily exploring that angle. I also thought that it might fit the HCI course, but as I go through these activities I’m less sold on that idea. I think there is real value in having students meet face-to-face with their clients, and less of a chance of having them fall back on the “I understand my users so I don’t have to talk to them” path. I am, however, starting to think about smaller ways in which I can incorporate HFOSS activities into Software Design: the code stats are one thing, but I could also see some smaller assignments or maybe an in-class lab around writing test cases or debugging a small piece of code or even commenting existing code. I’m excited to explore these little activities further.

 

Advertisement

Share this:

  • Email
  • Facebook
  • Twitter
  • Tumblr
  • LinkedIn
  • Print

Like this:

Like Loading...

Related

civic engagement, open source, teaching

Post navigation

« Trip report: GHC 2016
#AcWriMo: Sabbatical Edition »

Find that post!

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 544 other subscribers

Latest tweets

My Tweets

computer science gender and diversity just for fun mentoring productivity real life research teaching technology tenure

Latest rantings

  • Spring term starts with a (YAWN) is it bedtime yet?
  • Spring “break”
  • Making time
  • (Nearly) Halfway there
  • What I’m working on this term

Readers respond

  • Spring term starts with a (YAWN) is it bedtime yet? | This is what a computer scientist looks like on Spring “break”
  • (Nearly) Halfway there | This is what a computer scientist looks like on What I’m working on this term
  • 2023 goals and one word theme | This is what a computer scientist looks like on Reflecting back on a year without goals
  • 5 things that had the biggest impact on my happiness this year | This is what a computer scientist looks like on Reflecting back on a year without goals
  • Reflecting back on a year without goals | This is what a computer scientist looks like on What’s next?

Postings by date

October 2016
S M T W T F S
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
« Sep   Nov »

Archives

  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • August 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • January 2022
  • December 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • October 2019
  • August 2019
  • July 2019
  • May 2019
  • April 2019
  • January 2019
  • November 2018
  • August 2018
  • June 2018
  • April 2018
  • January 2018
  • November 2017
  • September 2017
  • August 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • March 2016
  • January 2016
  • December 2015
  • October 2015
  • September 2015
  • August 2015
  • June 2015
  • May 2015
  • April 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009

Blogroll

  • WordPress.com
  • WordPress.org
Create a free website or blog at WordPress.com.
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Follow Following
    • This is what a computer scientist looks like
    • Join 94 other followers
    • Already have a WordPress.com account? Log in now.
    • This is what a computer scientist looks like
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Copy shortlink
    • Report this content
    • View post in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...
 

    %d bloggers like this: