Skip to content

AgileVentures/OpenSourceProjectCourse

Repository files navigation

OpenSourceProjectCourse

Description of a course where credit is given for contributions to Open Source Non-Profit Projects

Overall Course Goal

To be able to effectively contribute to large OSS projects.

Summary

The basic idea is a MOOC where students would get credit for contributions to a set of pre-specified open source projects that support non-profit clients. Students would need to follow BDD/TDD practices, forking the existing projects and working on tasks co-ordinated by Pivotal Tracker or similar. Credit would be given when student contributions via pull request were green and accepted into the main codebase by the repository maintainers.

Sub Goals

  • learn how to effectively find and use existing projects.
  • reasoning about large systems.
  • learning how to find tools and libraries
  • working with particular tool chains.

Challenges

  • Collecting enough non-profit clients
  • High drop out rate in the MOOC
  • Teach in a language/platform independent way? Or limit to projects in a particular language? Ditto for tool-chains; how to teach BDD/TDD without "locking in" too many tools. -- makes sense to initially limit language
  • How to keep course from getting progressively harder? (As students pick off easy projects, it becomes increasingly difficult to find new projects). -- course will need constant inflow of OS projects
  • How to avoid competition for tasks? (With a typical MOOC student base of thousands of students, many will gravitate to the same tasks. But, only one copy of code for a particular task can be accepted into a project). -- could give credit simply for pull request, or ensure an ever increasing number of projects

Motivation

Let me end with my own pedagogical recommendations for MOOC’s:

  • Be as open as possible. Go beyond open enrollments and use open pedagogies that leverage the entire web not just the specific content in the MOOC platform. As part of your open pedagogy strategy use OER and openly license your resources using Creative Commons licenses in a way that allows reuse, revision, remix, and redistribution. Make your MOOC platform open source software. Publish the learning analytics data you collect as open data using a CC0 license.

  • Use tried and proven modern online learning pedagogies not campus classroom-based didactic learning pedagogies which we know are ill-suited to online learning.

  • Use peer-to-peer pedagogies over self study. We know this improves learning outcomes. The cost of enabling a network of peers is the same as that of networking content – essentially zero.

  • Use social learning including blogs, chat, discussion forums, wikis, and group assignments.

  • Leverage massive participation – have all students contribute something that adds to or improves the course overall.

Background Material

  • History
    • Mythical Man-month
    • GNU Manifesto
    • Cathedral and Bazaar
  • Practical
    • Producing Open Source Software (Fogel)

About

Description of a course where credit is given for contributions to Open Source Non-Profit Projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages