CSC 397 · Programming for the common good
Spring, 2011 · Department of Computer Science · Grinnell College

Greetings, visitors!

The course is now over, but you're welcome to look around if you like.

About this course

In September, 2010, several members of the Free Network Movement, a newly established student organization advocating Internet freedom through distributed networking, expressed an interest in contributing to the Diaspora Project. Diaspora is a peer-to-peer application for social networking. It is designed to provide Facebook-like services to users, without the opportunities for violation of users' privacy, commercialization, data mining, profiteering, and abuse of power.

I offered to help these students out by teaching them the programming languages, software tools, and development practices that Diaspora contributors use. As I began to collect resources, I realized that a four-credit independent project course would be an effective way to structure this occasion for learning. In such a course, it is natural to place this specific software-development project in a broader setting, clarifying the connections of the project to larger social and political issues and demonstrating that the knowledge and training that contributors to the project need can also be applied in many other contexts.

Course requirements

Grinnell College requires a project undertaken as part of an independent study course to yield one or more products (“papers ..., works of art, presentations, journals, etc.”). In this case, the products will be the repository for a software development project (including source code, tests, and documentation) and two papers.

Just before spring break, we'll review the Diaspora roadmap and project tracker. Students will select the projects that they want to work on, either as individuals or in small groups. The goal for the remainder of the course will then be to implement these projects and submit their implementations to the Diaspora Project. During this time, we will continue to meet as a class, to review one another's code and to provide one another with encouragement, suggestions, and progress reports.

The first of the papers will identify the student's chosen project and include a specification and design for it. It will be about twelve hundred words long and will be due on Tuesday, April 5, 2011.

The second paper will describe and explain what the student has accomplished, how it fits into the Diaspora Project generally, and what conclusions the student draws from the experience. It will be about twenty-five hundred words long. Each student will submit a draft version of this paper no later than Friday, May 6, 2011. The final version will be due on Friday, May 13, 2011, which is also the date on which the project repository will be due.

Schedule of topics · Grading and attendance policies · Project papers

· ·
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 United States License.

This text is available on the World Wide Web as

http://www.cs.grinnell.edu/~stone/courses/independents/common-good/


John David Stone · stone@cs.grinnell.edu