Judy Weng: Opening Doors with Open Source

Judy Weng: Opening Doors with Open Source

Judy Weng is a senior in Computer and Information Science (CIS), where she is also submatriculating to earn a master’s degree. A former member of the organizing team for PennApps, a semi-annual hackathon, Weng is also a teaching assistant for two CIS courses. She began studying computer science in her sophomore year and ended up switching her major during the fall semester. Weng has also interned at J.P. Morgan Chase for two summers. Here, she outlines the connection between open source software projects and how they can play a role in encouraging underrepresented minorities to pursue the field of computer science.

Judy Weng and Professor Chris Murphy, on the right, presented research on how open source software can help underrepresented minorities pursue the field of computer science at a conference last month. Also picture, co-presenters Jan Pearce of Berea College and Nanette Veilleux of Simmons College.

When I was a senior, I took CIS 399: Open Source Software Development, which was taught by Professor Chris Murphy. The course topics covered technical skills, legal knowledge, and the soft skills necessary to successfully contribute to free and open source (FOSS) projects, such as several commonly used FOSS project communication channels and licensing and legal issues. The main project of the course was to contribute to an open source project under the guidance of a dedicated mentor. I took the course initially to learn more about open source software and, hopefully, to get exposure to other programmers outside of my peers and internships. What I didn’t expect was for this course to help me grow not only technically, but also as a person.

With free and open source software, there are few restrictions on people’s ability to use, copy, study, and modify the software’s code, as opposed to proprietary software with its source code that is usually kept private. One unique aspect of FOSS is that anybody can contribute to the project. These software projects provide a great opportunity for people learning to program because they are able to see what other programmers are doing. In addition, the project is usually written and maintained by a group of other programmers, so contributing to these projects is also an opportunity for people to work in a team.

Despite the potential benefits, there are very few courses that provide traditional students a similar opportunity to work with code written by others, work concurrently with other skilled programmers, or work on projects of similar magnitude. However, integrating FOSS projects into traditional course curriculums is more difficult than traditional assignments written by professors because there is less control over these external projects.

When the class met, we weren’t taught through traditional lectures; instead, we had discussions based on previous readings related to the topic of that day. During these discussions, we had the opportunity to learn a lot about our peers and their opinions on anything ranging from their political views of software licensing to the diversity divide students noticed in the field. Over time, I got a lot closer to a few of my peers who had taken other courses with me, but with whom I’d never really interacted. It’s easy to feel hidden when almost all CIS courses have over 60 students, but this course provided me with a group of people I never thought I would come to know.

My open source project was Cesium, which is a JavaScript library for creating 3D globes and maps. My project mentor was extremely helpful in helping me feel comfortable asking questions publicly on the code-sharing site GitHub. It’s always a bit daunting to think about how my work and code is going to be open to the public to be scrutinized, especially with a large code base that I was not familiar with. I remember that initially a long time would pass before I was confident enough in my code to submit it for others to see, but as my mentor and others in the community continued to guide me and show me how I could improve as a programmer, I became a lot more confident in my work. I started to notice that contributing to open source projects helped me learn how to communicate efficiently and learn from a varied group of people with different experiences.

Toward the end of the course, Professor Murphy and I discussed how contributing to open source projects seemed to address a few things that discouraged some students from entering the field of computer science. Specifically, we wondered if open source projects really do help visibility for underrepresented minorities, as some of our peers in the open source community believe, and we decided to explore this idea more formally.

For my senior thesis, I worked with Professor Murphy to redesign CIS 399, the open source software development course. Our aim was to better combat some underlying causes that have been found to discourage underrepresented minorities from pursuing computer science by integrating educational best practices from previous successful initiatives.

In the beginning, through literature reviews and by interviewing students who identify as underrepresented minorities, five causes were identified as potentially discouraging underrepresented minority students from studying computer science: stereotype threat, imposter syndrome, little sense of belonging, lack of diversity in representation, and a misconception of computer science and technology.

At that point, I looked into different pedagogical approaches other educators suggest have helped increase retention rates within different majors that also suffer from a diversity gap. After understanding why those pedagogical approaches were successful and their effects on students, I realized that the open source software development course could potentially have the same effects. For example, to counter stereotype threat and imposter syndrome, the key was to increase students’ confidence in the field, which my peers and I noticed within ourselves as we took the open source software course.

As we formalized and found more supporting research with respect to open source software development courses and how they can benefit underrepresented minority students, Professor Murphy told me about the ACM Richard Tapia Celebration of Diversity in Computing, an annual conference that acknowledges, promotes and celebrates diversity in computing. He then spoke with two of his colleagues, Jan Pearce from Berea College and Nanette Veilleux from Simmons College, who both have experience teaching free and open source software courses. Both professors have long been trying to address the lack of diversity in computer science, and Professor Murphy approached them about collaborating to organize a group discussion session at the Tapia Conference.

Tapia was my first computer science conference and it was an amazing experience. It focuses on ensuring that all minorities, whether racial, gender or sexuality, or people with disabilities, are all included and engaged throughout the events. The conference did an amazing job finding a balance between events, posters, and panels for general computer science knowledge like one would see at other conferences, all while promoting efforts in closing the diversity gap.

Our session was part of the “Birds of a Feather” series, which are informal discussions about one topic. Our session, “Addressing Diversity & Inclusion in Computer Science through Contributions to Free and Open Source Software,” had a diverse group of participants consisting of 16 people ranging from undergraduate students and graduate students to individuals from industry who work with open source software. We discussed topics such as how free and open source software benefits from diversity, how it can help with retention of underrepresented minorities, and our experiences and interests in free and open source software.

This one-year journey that started from a class at Penn and ended with participating in a Birds of a Feather session at the Tapia Conference has been invaluable to me. The course taught me many things about programming, software, and essential soft skills that I have been using in internships and other projects already. More importantly, while working on my senior thesis and coming to the Tapia Conference, I met so many other people who are passionate about solving the diversity gap, I heard people share their knowledge and stories, and I had a chance to raise awareness to a potential initiative that could help others like me who once felt discouraged.