Innovations and Opportunities

SIGCSE 2022 Affiliated Event by the SIGCSE Committee on Computing Education in Liberal Arts Colleges

Humanitarian Free and Open Source Software in a Liberal Arts Computing Curriculum

Dickinson College

Contributed by Grant Braught,

Institutional and departmental context

Description of Curricular Innovation

At Dickinson we have integrated Free and Open Source Software (FOSS) and more specifically FOSS with humanitarian goals (HFOSS) into our curriculum. From a practical perspective, FOSS participation provides students with many opportunities for both technical and soft skill development. The openness of the project artifacts (code, documentation, discussions, history) provide rich real-world examples for students to learn from and work with. Engaging with the open communities surrounding FOSS projects helps students to develop their softer communication and collaboration skills. As open source skills and experience are in high demand, FOSS experience gives our students a distinctive quality for their internship and job searches.

Including an emphasis on humanitarian FOSS has provided us a way to gain those pragmatic advantages, while simultaneously making more explicit the connections between computing and civic minded liberal arts ideals. Many of the communities and challenges that give rise to HFOSS projects connect to broader issues including access, social justice, equity and sustainability that our students are increasingly studying in their non-computing courses. Thus, HFOSS opens opportunities for students to recognize and create meaningful bidirectional connections between their computer science studies and the full breadth of the liberal arts curriculum. Engaging with HFOSS projects and communities exposes students to idea that computing can be employed to directly effect social change, complementing their already keen awareness of its value to business, technical and personal gain. This elevation of the social value of computing opens a new avenue of appeal. It helps students see how learning computing can empower them to impact communities and causes that are important to them; potentially drawing an additional audience of students to the discipline. Overall, HFOSS has helped us to both add value for our students and to connect more authentically with Dickinson’s core institutional mission of providing “a useful education for the common good.”

FOSS and HFOSS have been integrated across our computer science curriculum. Students are first exposed to FOSS concepts and examples of HFOSS across two or three sessions early in our introductory course. This course is a fairly traditional first course using Python and is largely taken by students looking to satisfy the college’s laboratory science graduation requirement. By introducing HFOSS and computing for social value here, we set a tone and reach our broadest possible audience. At the intermediate level we have a sequence of two 1/2 courses that build student’s technical skills and familiarize them with FOSS communities and practices through engagement with an HFOSS project. The HFOSS project that we use at this level is FarmData2, which we have created and manage as an authentic open source project in collaboration with the college’s organic farm. Because we manage this project, we are able to shape the timelines, architecture and technology stack to meet our students where they are (often having had only one prior CS course) while also facilitating our pedagogical objectives (e.g. learning web development, practicing open source workflows, civic/community engagement, preparation for the capstone). Students complete the major with a year-long two-course senior capstone sequence. In this capstone, students research FOSS and HFOSS projects and communities that are of interest to them. Teams are formed around common projects and areas of interest. Each team then collaboratively chooses a project and engages with its community using a structured sequence of activities that guide them to increasingly deeper engagement.

We have collected pre/post course survey data at both the intermediate and capstone levels and have analyzed the types of projects selected (FOSS or HFOSS) by students in the capstone. Major takeaways from these analyses suggest that (1) students gain an appreciation of the use of computing to contribute to the greater good, (2) students become more likely to contribute to FOSS or HFOSS projects in the future and (3) that the social value of HFOSS projects appeals to students from groups that are underrepresented in our major and in computing more broadly. As the program matures we hope to look at the impact of the use of HFOSS on the diversity students in our major and on student experiences with internship and job placements.