Independent Capstone Project Design
Course | Independent Capstone Project |
---|---|
Institution | |
Instructor(s) | |
Term | |
Course Overview | The student will create a detailed plan for an independent capstone project in an HFOSS community.
This will demonstrate the totality of skills required by a CS graduate. |
Course Length | {{{courselength}}} |
Student Characteristics | |
Prerequisites | Basic knowledge of software development skills |
Infrastructure |
Background
At many institutions, students often enroll in a "capstone" course which requires a completion of a "big" project: a project that requires months rather than weeks to perform. Often this project involves teams of students rather than individuals, but might be performed as individuals. Often, the project is chosen arbitrarily by the instructor, and results in an artificial academic artifact at the end of the project.
Students and/or faculty who desire a project with a greater practical impact might be interested in joining an HFOSS community and choosing a project that would ultimately be submitted to that community. This activities outlines a potential path to planning such a project.
The project could be appropriate for individuals or teams; it could be appropriate for upper-division or lower-division students; it could be appropriate for projects of various time lengths. The plan gives room for individual faculty to customize to meet their needs.
Directions
Step One: Learn about HFOSS
Complete the following foss2serve learning activities:
- Intro to FOSS (Activity)
- Project Anatomy Activity
- FOSS Field Trip Activity
- Project Evaluation Activity
- As needed, activities to learn about contemporary tools commonly used in FOSS communities:
- Wikis: Wiki Activity
- IRC: Intro IRC Activity
- Blogging: Blog Activity
- Bug Trackers: Bug Tracker Activity
- Git: Git Activity
At the conclusion of Step One, the student will meet with the academic advisor to discuss the material covered and answer any questions.
Step Two: Select and Investigate an HFOSS Community
The student should investigate and a select an HFOSS community in which this capstone project will be performed.
After selection, the student should complete the Project Evaluation Activity, in order to ensure that the HFOSS project is mature enough to support the capstone project.
Upon completion of the Project Evaluation Activity, the student will meet with the academic advisor to discuss the results and ensure that the selected community is mature enough to support the capstone project.
Step Three: Prepare The Capstone Plan
First, the student should complete the following activities in order to identify possible concrete tasks and/or deliverables that could be used within the selected HFOSS community:
Finally, in consultation with the academic advisor, the student should prepare the Final Capstone Project Design Document. The format for this will depend upon the particular institution, but may include many of the following items:
- Project title
- Faculty members involved in final review of the project
- Description of the work to be performed, including:
- Value of the project to the HFOSS community
- Relationship of the project to institutional capstone goals
- Expected deliverables
- Project timeline
- Relationship to the overall HFOSS project, including dependencies (if any)
- Prerequisite skills needed
- Literature review (if needed)
- Facilities and/or equipment required
Deliverables
The only deliverable is the Final Capstone Project Design Document, outlined in Step Three above.
Assessment
The project is successful if the student's department accepts the project proposal and allows the student to begin work on the capstone project.
Comments
Additional Information:
ACM Knowledge Area/Knowledge Unit | various |
ACM Topic | various |
Level of Difficulty | Medium to challenging, depending upon the project selected |
Estimated Time to Completion | Several weeks |
Materials/Environment | Internet access, possibly access to various common FOSS tools (outlined below) |
Author | Jim Huggins (jhuggins@kettering.edu) |
Source | Based on the September 2015 POSSE workshop POSSE 2015-09 |
License | Licensed CC BY-SA |