Colleges and universities across the country are increasingly realizing the value and importance of integrating open source software courses into their computer science curriculum. Red Hat and the Fedora Project are excited to stand behind this effort and outreach to academic communities to aid in the process. We’ve partnered with Seneca College, one of the leaders in instituting open source software into its coursework, to bring Fedora to the classroom. Members of the Fedora Project team also went on the road last spring to talk to students and faculty at top computer science schools during the 2008 North America University Tour. A little closer to home, Red Hat’s Raleigh, N.C. neighbor, North Carolina State University, recently turned to Will Cohen, one of our performance tools engineers, to teach its first open source software class.
A graduate-level computer science course, Open Source Software Communications debuted at NC State during the spring 2008 semester as part of the initiative of the NC State Center for Open Software Engineering. Students jumped right in to the open source community as a large portion of their class grade was based on their work throughout the semester with a FOSS project of their choice. Their selections included projects such as ArgoUML, KeePassX, Collabtive and SQLite. Throughout the semester, each student worked with the respective project’s bug-tracking system to fix bugs, participated in testing and proposed and added new features, among other activities.
Working in open source software provided students with a more realistic view of the software development process and strengthened their collaboration and project management skills. For example, students gained a better appreciation of the need for good documentation because they weren’t writing all of the code on an open source project. The students also had the opportunity to select a project of interest to them and build upon that idea rather than starting a project from scratch. Similarly, they enjoyed seeing other people use the results of their research and work to get their contributions accepted into FOSS projects.
You can’t learn FOSS exclusively in books - collaboration with the community is a critical element to success. While lectures covered the basic concepts of FOSS, the true innovation and learning occurred through student work with FOSS projects. A measure of success for this class and other collegiate-level open source classes is to have students continue working on FOSS projects beyond their required work in the classroom. FOSS projects have a lifeline longer than a semester, and having students’ work culminate at the end of the class would defeat what we’re trying to accomplish in bringing open source to the classroom.
FOSS is beginning to spread roots in computer science departments and we’re excited to be a part of that effort at NC State and across academic institutions worldwide. Our ultimate goal is to see students continue to contribute after they finish their coursework, graduate and move into the working world.