Presented by

  • Grant Braught

    Grant Braught
    http://users.dickinson.edu/~braught/

    Grant Braught is a Professor of Computer Science at Dickinson College where he has taught courses across the undergraduate computer science curriculum for 25 years. He led a curricular revision of Dickinson’s computer science program to incorporate a focus on FOSS and Humanitarian FOSS (HFOSS) with the goals of deepening student engagement, broadening participation in computing, raising awareness of the power of computing for social good and enhancing student’s technical career-ready skills. He has guided student engagement with HFOSS communities including OpenMRS, SugarLabs, Sahana Eden, FreeCodeCamp, Oden, and Oppia. He is a lead maintainer of the FarmData2 project, which engages primarily student developers to build an application supporting small organic vegetable farmers. In 2017 he was recognized by Red Hat as among the “Instructors Who Champion Open Source Education in the U.S.” In 2020 he led a project centered around integrating FOSS in the undergraduate curriculum that was a finalist in the Gnome Community Engagement Challenge. He also works closely with The Non-Profit FOSS Institute, Teaching Open Source and Foss2Serve to promote HFOSS in computing education. He is an advocate of liberal arts education and has been active in the forthcoming ACM/IEEE/AAAI CS2023 curricular recommendations for undergraduate computer science programs.

  • Karl R. Wurst

    Karl R. Wurst
    http://cs.worcester.edu/kwurst/

    Karl R. Wurst, PhD, is a Professor of Computer Science at Worcester State University in Worcester, Massachusetts, USA where he teaches primarily Software Development courses. He has had students work in open source projects for the last 10 years. He is a member of the Coordinating Committee for Teaching Open Source (a Software Freedom Conservancy member project), and a founder and Coordinating Committee member of LibreFoodPantry, a community building free and open source software for campus food pantries. He was one of 21 educators who received the 2017 Red Hat Honors Instructors Who Champion Open Source Education in the U.S., and received the 2014 George I. Alden Excellence in Teaching award.

Abstract

Engaging students in free and open source software (FOSS) projects is educationally rewarding, however experience shows that it is challenging for both students and faculty. Engagement in FOSS fosters students’ technical, professional and personal development in ways that "class-size" projects cannot. Students can study and interact with large, complex, real-world software artifacts, tools, and development processes central to modern software development and in high demand. They can observe and practice professional skills including communication, collaboration, critical thinking, question asking, and technical writing. In addition, growing evidence suggests that a context of social good, such as in FOSS projects with humanitarian goals (HFOSS), may attract more women and other underrepresented student groups to computing. However, these advantages come with a number of practical and cultural challenges. Work in FOSS communities is often less structured, even chaotic, as compared to traditional academic assignments. The content and timing of community responses to student inquiries and contributions may not align well with student background or assignment due dates. Assignments created around a project can be rendered quickly obsolete as the project evolves. As a result, faculty doing this work have found it difficult to transition students from classroom activities to participating in open source projects “in the wild.” This talk will present our work on two intermediate steps, HFOSS Kits and Education-Oriented HFOSS Projects, designed to bridge the gap between classroom activities and student participation in FOSS “in the wild.” An HFOSS kit is a snapshot of an active HFOSS project’s artifacts (code-base(s), issues, documentation, communications, etc.), taken at a particular point in time and packaged with student learning activities, an instructor guide, and a containerized development environment. Using a snapshot that is independent of the live project creates an authentic environment, while enabling the creation of reusable educational activities and providing a more comfortable space for students to experiment and learn. Using a containerized development environment minimizes startup time, allows automated context-sensitive feedback, and the simulation of community interaction. Education-Oriented HFOSS Projects, have real clients and are consciously designed and managed to facilitate faculty and undergraduate student engagement. Some examples managed by our team include LibreFoodPantry, FarmData2, Open Energy Dashboard, and Open Circuits. These are ongoing projects that continue across semesters and welcome outside participation. They are often humanitarian in nature and connect to causes or communities that align with institutional mission and student experiences. They use modern technologies but are architected, scoped and managed to facilitate student learning, support specific curricular goals, accommodate academic schedules, and understand that these objectives will slow project development. As entire new cohorts of students engage each term, particular attention is paid to onboarding, including documentation at the appropriate level and fully containerized development environments that make the process as easy as possible. We have talked about these approaches at computing education conferences and are excited to hear different perspectives on our approaches from FOSS practitioners and educators in this community. Thus, significant time will be allocated for feedback and discussion with the audience.