Summary

The Non-Profit FOSS Institute (NPFI) provided Steven Huss-Lederman with a grant for the 2018-19 academic year to implement an HFOSS project in a senior capstone course that spanned the entire academic year. This course differed from the CO-FOSS model in several ways and thereby offered an opportunity to analyze how this model might be applicable in fostering HFOSS projects at academic institutions. This report to NPFI summarizes the techniques used, analysis of outcomes and ideas/steps for using this model.

Overview

This report contains the following sections:

  1. Overview of Open Energy Dashboard Project
  2. Overview of Course and Beloit College
  3. Overview of Model
  4. Tradeoffs & Experiences
  5. Why Use This Model
  6. Timeline of Actions
  7. Course Outcomes
  8. Course Materials

Many of the thoughts in this report mirror what others have written about using open source projects in a course. Thus, the discussion is not necessarily unique but is designed to show how these ideas apply to this model.

Overview of Open Energy Dashboard Project

The Open Energy Dashboard (OED) is a Humanitarian Free Open Source Project (HFOSS) aimed at supporting sustainability by allowing an organization to acquire, store, analyze and display energy usage. The user interface is via a web browser where significant code runs on a back-end server. The software is designed to be usable and customizable by each organization to allow for easy portability. The OED project has existed since the fall of 2016 and, as of spring 2019, is in use in about half a dozen colleges and universities. While it can be used by any organization, higher education institutions have been the users to date.

An important aspect in terms of its use in a course is that it was begun by a college (Beloit College) and continues to be driven by academic institutions. This means that while the project has important goals in terms of sustainability, it also wishes to support its use in computer science education. Thus, the OED project offers mentoring to interested developers, links to resources to learn about its technologies, and tries to organize its work so it is accessible to a range of potential developers. It also has a tradition of helping support the advancement of developers for both the advantage of the student and the project.

OED is a modern application that utilizes a large number of technologies and frameworks. These include Javascript with promises, React, Redux, PostgreSQL and general SQL. The application is designed to rapidly acquire/store new data and provide graphical displays of information with sub-second response times. These goals mean that while functionality is important, it is generally critical that efficient implementations be used. This means the code is more complex than a less responsive system. The code also needs greater complexity to meet its goals of portability, testing for reliability, and other goals. This does not mean that it is beyond the reach of student developers but it does mean that a solid base of computer science knowledge is needed to engage with the OED project.

It is noted that while OED was used in this course, the general idea is using an existing open source project in support of educational goals in a computer science curriculum. Thus, the model should apply to a large number of potential projects and can even start as a new project for the initial offering of a course using this model.

Overview of Course and Beloit College

The Open Energy Dashboard project was used as part of the Database Capstone I & II course at Beloit College. This pair of courses runs over two semesters in one academic year where it generally meets three times per week for 65 minutes for each class. Students normally take both semesters with limited exceptions for student who are not in residence in a given semester (such as during study abroad). This report is about the 2018-19 academic year when 17 students were enrolled in the course and four students only did one semester (two first semester and two second semester so enrollment was constant at 17).

The course has a number of objectives that directly relate to the use of OSS:

Overview of Model

An important model for supporting HFOSS in higher education is the CO-FOSS model. The techniques used in the current course has similarities and differences from the CO-FOSS model as outlined below:

Tradeoffs & Experiences

Several of the tradeoffs and experience have been mentioned in the previous sections. Here greater details are given with an honest assessment.

Why Use This Model

The model described was chosen because it was a good fit for the objectives of the course. Here are a few thoughts on when and how this model might be appropriate for others.

Timeline of Actions

Similar to doing any large project, utilizing an open source project means doing items at appropriate time. Here are some of the more important ones for this model.

Course Outcomes

Overall, the course evaluations showed that students had a good experience. They appreciated being exposed to real-world software and development. As seen by others, they were motivated and excited to work on a humanitarian project. Another important outcome is that a significant fraction of the students report that their work on OED was discussed during job/internship interviews and/or they felt it was important in securing a position. It is also noteworthy that this work/project was noticed by the institution and its leaders.

Course Materials

Course materials that might be of value to others are: