Overview

The last book of the semester, Just For Fun, examines the life of Linus Torvalds and the deveopment of the Linux operating system.

The goal of the final project is for you to mimic Linus Torvalds and work on an open source project "just for fun". Rather than work from scratch, however, you are to take one of your previous projects (perhaps from another class or a side hobby) and turn it into a presentable open source project others can not only utilize, but also contribute to.

Requirements

Working in groups of 2 - 4, students must create their own open source project that meets the following requirements:

The source code for your project should be stored on an online repository such as GitHub, GitLab, or Bitbucket.

Examples

Here are some real world examples you should strive towards:

Timeline

Here is the project timeline:

Date Milestone Description
April 27 Proposal Description of proposed project.
May 04 Progress Status report of current progress.
May 09 Submission Final submission of project.

More details about each of these milestones is described below.

Proposal

Your group must submit a proposal document by noon on Saturday, April 27, which provides the following information:

  1. Lists the group members and each of their proposed roles.

  2. Describe the proposed project and how it meets the project requirements.

  3. Explains how the original project will be converted into an open source project and what modifications will take place.

Progress

Your group must submit a proposal slide deck (5 - 8 slides) by noon on Saturday, May 04, which provides the following information:

  1. Addresses the questions and expections in feedback email provided regarding the project proposal.

  2. Summarizes the work done thus far, in particular the design and implementation details of your artifact.

  3. Enumerates the remaining tasks, with specifics on what you plan on accomplishing during the upcoming sprint week and what you realistically plan on accomplishing before the deadline.

  4. Itemize contributions to the project thus far and what how each member will aid in completing the tasks above.

Provide video or image evidence of your project and your progress.

Presentation

There will be no in-person presentation for this project. Instead, everything should be on the website for your project.

Rubric

The project will be graded with the following rubric:

Metric Points Description
Proposal 5 Does the proposed project meet the requirements?
Progress 5 How much work did the group do for the progress report?
Website 15 How well does the website advertise and explain the project?
Requirements 5 How well did the project meet the requirements?
Technical Challenge 5 How difficult was the project?
Execution 5 How complete was the project?
User Experience 5 How enjoyable was project for end users?

Deliverables

Once you have organized your group, please fill out the following form:

Note, while you can always update your submission whenever you have your proposal, code repository, and website link, I would recommend creating place-holder links that you fill-in later (ie. create empty slides for the proposal and progress report and then update those documents later).