Open source software gains ground in higher education

No readers like this yet.
Open education and MIT OpenCourseWare

Opensource.com

Open source software is becoming a dominant force in the software world and the world in general. Unfortunately, many universities still teach computer science without any mention of this recent advance. In the fall of 2007, Rensselaer Polytechnic Institute (RPI) set out to change this.

The Rensselaer Center for Open Source Software (RCOS) was established with the goal of providing an environment where students can learn about open source software while sharing knowledge, experience, and insight with each other. Students can work on existing open source projects or start their own, honing their technical programming skills in an environment that allows them to work on real-world sized and styled projects while surrounding themselves with other students in many programming disciplines. They can share knowledge, share skills, and learn from others' strengths and weaknesses.

Programming skills are typically what one would think of as the most important factor in the success of an open source project. However, arguably more important but often overlooked, is the social and community interaction that takes place. RCOS does not formally teach any programming techniques. Learning takes places as part of the natural flow of things within the talented group of student members.

Instead, RCOS provides a place for students to simulate and practice the types of interactions (such as feedback, code reviews, or status reports) that they would experience working with a large open source project. Feedback on program design and implementation is given in the form of presentations, question and answer sessions, and informal code reviews.

Giving and receiving feedback is critically important to the success of open source projects, so practicing this in a non-threatening environment like RCOS is an excellent starting point for getting into real-world open source development.

Several student projects have been particularly successful. To track the progress of student projects, one student developed a Dashboard application. The Dashboard catalogs all student projects, contributors, code repositories, and project wikis and blogs. Another student worked on a lightweight presentation application, Ease, which has received some attention from omgubuntu.co.uk. A web application written by yet another student, Course Scheduler, helps students select their course schedule and then has it vetted by the university.

In addition to this project-based setting for students, RCOS funds a formal course at RPI. This course, Open Source Software Practices, has been previously highlighted here.

There is no reason that this open source feedback and review model cannot be used in other areas of study. Many non-software coursesrequire students to give a "final report" to the class at the end ofthe project. At this point, it is too late. Feedback that could comeout of this will never be acted upon. One idea: apply the "release early, release often" principle to semester projects of any type. With this approach students are more likely to receive feedback they can use to improve their project. The faculty must of course facilitate this by requiring more frequent, thoughtful peer critiques, but the payback for the little bit of extra work should be much more impressive resulting projects.

We hope that other universities will follow in the footsteps of Rensselaer and RCOS. Fostering and promoting open source development and practices in students will certainly lead to an even stronger awareness in the next generation of scientists and engineers. 

Tags
User profile image.
I am currently working on a Ph.D. in Electrical Engineering at Rensselaer Polytechnic Institute. I work in the field of computer vision and image processing. My research deals with 3D data analysis, particularly from LiDAR scanners. I have benefited tremendously from the practices of open source and strive to continue to do my part to continue the give-and-take cycle!

6 Comments

I noticed two open source program at uio.no, namely '<a href="http://www.uio.no/studier/emner/matnat/ifi/INF5750/">Open Source Software Development</a>' which has been going on since spring 2005, and the newer non-programming oriented '<a href="http://www.uio.no/studier/emner/matnat/ifi/INF5780/">Open source, open collaboration and innovation</a>'.

I really hope open source in and on itself will catch on as something worth educating the youth about. There are plenty of facets to focus on, e.g. the movement, the ideology, the ecosystem, the front runners and so forth.

I think the most important point you made was about how "release early, release often" can be applied outside of programming. That hasn't really come to mind until now, but it immediately struck me as a great principle for use in any kind of educational practice.

Weirdly enough, "release early release often" is sometimes actively discouraged in schools; any time we skip formative evaluations ("a little bland, try adding more salt") and go straight to summative ones ("your final soup is decent, you get a B"), we encourage students to release as infrequently as possible, and only when they <em>absolutely</em> need to, because zomg, they might get criticism that <em>counts as a final grade</em>. Feedback is bad when you don't get a chance to correct yourself!

Exactly the same thing happens with grant proposals sometimes; faculty will try to keep ideas they're writing up as private as possible, because if early drafts leak out, someone might not like a bug in the initial idea, and even if that bug is found and caught before the final draft is written, the first early (and now irrelevant) "no" is enough to kill the future of the whole project.

How do we flip this mindset? I don't know. I've seen faculty offer that students can resubmit assignments for feedback as many times as they like before the final deadline, and only the last grade gets recorded - though this is grading-intensive for them. What other solutions can you think of?

I'm a student programmer. Nice read.

This is great information, and it is excellent to see the nearly impenetrable shell of higher education is starting to crack and allow more innovation like this.

It is true that several facilities of higher education are starting to see the benefit of using and supporting open source projects. And it is also important to remember that the benefits to these projects extend in all directions. Students can learn so much from open source projects, and at the same time offer so much benefit to the well-being of the projects.

Students can easily fit into voids in open source project needs (documentation, minor bug fixes, irc/mailing list support, etc.). Simultaneously, students get to learn while working on an actual, tangible, and useful product. For many students, this type of experience can be the difference between coasting through coursework, and actual project engagement. This engagement is critical in educational efforts, and it seems to be lacking in many of the courses available to students today.

A better, more inspiring education, and a better open source product with a larger community. Everybody wins.

I missed a mention about this in the article, but is the source to http://rcos.cs.rpi.edu/projects/ available online ?

The source code is available in https://github.com/NateStedman/Observatory and the lead developer is Nate Stedman a senior at RPI, Troy NY 12180 It is also listed under Observatory in http://rcos.cs.rpi.edu/projects/
Hope this information is useful to you.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.