Ryan Bensussan Harvey Instructor in Computer Science

COSC A499 Independent Study
Open Source Software
Syllabus (General)

Table of Contents

Course Description

From the Instructor

Modern software development uses numerous tools and libraries that are built using an open source model. In this independent study, students will gain and demonstrate an understanding of open source development processes, tools, licenses, and communities. Emphasis is on practical aspects of open source development communities and how they relate to theoretical concepts from computer science and software engineering.

From the Undergraduate Bulletin

Students work with a faculty member on a topic of their choosing. Credits vary.

Prerequistes

  • Instructor Approval.

To be successful in this course, students are expected to have ractical experience building software, and in particular, should be comfortable working with data structures, designing classes, and writing software modules. Students should also have an interest in understanding how open source projects and communities work, and in building open source software.

Learning Objectives

All students majoring in Computer Science related degrees are required to complete at least three credits of Internship or Practicum to complete the degree program. This independent study course enhances these activities, having aspects of a Practicum study while building real experience working in one or more open source communities during the semester, similar to an Internship.

Learning Outcomes

Upon completion of this course, students should be able to:

  • Build a comprehensive understanding of how open source creators and communities work and how open source software is built.
  • Obtain hands-on experience working on open source software.
  • Process, reflect, and assess the experience.

Learning Format

This course is a combination reading and practicum course. Students will be expected to independently read and digest a variety of readings related to open source software, and reflect on those in writing. In addition, students will be expected to find and make several material contributions to one or more open source projects during the course of the semester, and reflect on those experiences in writing.

The final exam of the course will be a reflection paper covering the scope of the semester’s experiences and readings.

Student assessment will be split as follows:

  • 25% - Weekly Meetings & Readings
  • 50% - Open Source Project Deliverables
  • 25% - Reflections, including the Final Reflection Paper

Selected Topics

This course generally covers some combination of the following topics:

  • Open source projects, project types and management approaches
  • Common roles in and motivations for contributing to open source software projects
  • Licensing and sale of open source software
  • Communications management approaches for open source software projects
  • Approaches to funding work on open source projects
  • Common tools and techniques used in open source software projects
  • Open source projects in organizations