Linux.com 6.19.08 Lessons learned from NCSU FOSS class By Bruce Byfield Free and open source software (FOSS) is only beginning to find a foothold in computer science departments in North America. FOSS tools may be used in teaching or be the subject of research or special committees, but few departments include courses that introduce students to the FOSS community. As a result, when North Carolina State University created a FOSS graduate course in the 2008 spring semester, it turned to Red Hat to find an instructor with a suitable background of FOSS involvement and university teaching experience. Community manager Greg DeKoenigsberg recommended performance tools engineer Will Cohen, who now looks back at the experience with an eye to how what he and his students learned might help other instructors. Cohen says he taught Open Source Software Communication (CSC 591W) as a graduate course to nine students. Eventually, the course may be offered to undergraduates, but Cohen says that this spring's format was "more a case of making sure we get the mechanics down, and the course material." Teaching about FOSS at the graduate level simplified Cohen's role as instructor in the first offering of the course. He says, "If you teach an undergraduate course, you have to be more concerned with accreditation requirements in terms of the design and test requirements." Moreover, because of the emphasis on direct experience, the course had an open-ended structure that would be more comfortable for graduate rather than undergraduate students, to say nothing of being easier for Cohen to grade because of the much smaller size of graduate courses. Nor, on the graduate level, was there much need to worry about prerequisites -- students either had the programming skills to participate in the FOSS community, or else could be safely assumed to be capable of quickly picking them up. Just as importantly, a FOSS course could benefit graduate students most. Not only could grad students "leverage existing software for their own research purposes," rather than writing what they needed for themselves, but their code could potentially find a larger audience. "If you take a look at some software projects that students work on," Cohen says, "they may have something that's really great and interesting, but it never gets very much exposure because it's built in their own little lab and only really gets used in the lab." Instead, by contributing to a FOSS project, students could both get more peer review and have a portfolio sample when they start to look for employment after graduation. Full article: http://www.linux.com/feature/138338