Independent Capstone Project Design

(Difference between revisions)
Jump to: navigation, search
(Suggestions for Open Source Community:)
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''DRAFT IN PROGRESS!!!'''
 
 
 
__NOTOC__
 
__NOTOC__
{| border="1"
 
|-
 
|'''Title''' || Independent Capstone Project
 
|-
 
|'''Overview''' || The student will create a detailed plan for an independent capstone project in an (H)FOSS community
 
|-
 
|'''Prerequisite Knowledge''' || Basic knowledge of software development skills
 
|-
 
|'''Learning Objectives''' || The student will demonstrate the totality of skills required by a CS graduate.
 
|}
 
  
=== Background: ===
+
=== Overview ===
Is there background reading material?
+
  
Are there other activities the student should have done first?
+
{{Course Overview
 +
|course=
 +
Independent Capstone Project
 +
|institution=
 +
|instructors=
 +
|offerings=
 +
|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.
 +
|students=
 +
|prerequisites=
 +
Basic knowledge of software development skills
 +
|infrastructure=
 +
}}
  
What is the rationale for this activity?
+
=== Background ===
  
Include helpful hints to faculty here.
+
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. 
  
=== Directions: ===
+
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.
What should the student do?
+
  
 +
=== Directions ===
  
=== Deliverables: ===
+
==== Step One: Learn about HFOSS ====
What will the student hand in?
+
  
 +
Complete the following foss2serve learning activities:
  
=== Assessment: ===
+
# [[Intro to FOSS (Activity)]]
How will the activity be graded?
+
# [[Intro to FOSS Project Anatomy (Activity)]]
+
# [[FOSS Field Trip (Activity)]]
How will learning will be measured?
+
# [[Evaluate a Project (Activity)]]
 +
# As needed, activities to learn about contemporary tools commonly used in FOSS communities:
 +
## [[Intro to Wiki (Activity)]]
 +
## [[Intro to IRC (Activity)]]
 +
## [[Blog Activity]]
 +
## [[Intro to Bug Trackers (Activity)]]
 +
## [[Intro to GitHub (Activity)]]
  
Include sample assessment questions/rubrics.
+
At the conclusion of Step One, the student will meet with the academic advisor to discuss the material covered and answer any questions.
  
{| border="1" class="wikitable"
+
==== Step Two: Select and Investigate an HFOSS Community ====
! Criteria
+
! Level 1 (fail)
+
! Level 2 (pass)
+
! Level 3 (good)
+
! Level 4 (exceptional)
+
|-
+
| '''The purpose of the project'''
+
|
+
|
+
|
+
|
+
  
|-
+
The student should investigate and a select an HFOSS community in which this capstone project will be performed. 
| '''Why the project is open source'''
+
|
+
|
+
|
+
|
+
  
|}
+
After selection, the student should complete [[Evaluate a Project (Activity)]], in order to ensure that the HFOSS project is mature enough to support the capstone project.
  
=== Comments: ===
+
Upon completion of the [[Evaluate a Project (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.
What should the instructor know before using this activity?
+
  
What are some likely difficulties that an instructor may encounter using this activity?
+
 
 +
==== 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:
 +
 
 +
# [[FOSS in Courses 1 (Instructors)]]
 +
# [[FOSS in Courses 2 (Instructors)]]
 +
 
 +
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: ===
 
=== Additional Information: ===
{| border="1"
+
{| class="wikitable"
 
|-  
 
|-  
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]
+
| '''ACM Knowledge Area/Knowledge Unit''' || various
 
|-
 
|-
|'''ACM Topic''' || What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics - https://www.acm.org/education/CS2013-final-report.pdf
+
| '''ACM Topic''' || various
 
|-
 
|-
|'''Level of Difficulty''' || Is this activity easy, medium or challenging?
+
| '''Level of Difficulty''' || Medium to challenging, depending upon the project selected
 
|-
 
|-
|'''Estimated Time to Completion''' ||  How long should it take for the student to complete the activity?
+
| '''Estimated Time to Completion''' ||  Several weeks
 
|-
 
|-
|'''Materials/Environment''' || What does the student need?  Internet access, IRC client, Git Hub account, LINUX machine, etc.?
+
| '''Materials/Environment''' || Internet access, possibly access to various common FOSS tools (outlined below)
 
|-
 
|-
|'''Author''' || Who wrote this activity?
+
| '''Author''' || Jim Huggins (jhuggins@kettering.edu)
 
|-
 
|-
|'''Source''' || Is there another activity on which this activity is based?  If so, please provide a link to the original resource.
+
| '''Source''' || Based on the September 2015 POSSE workshop [[POSSE 2015-09]]
 
|-
 
|-
|'''License''' || Under which license is this material made available? (http://creativecommons.org/licenses/)
+
| '''License''' || {{License CC BY SA}}
 
|}
 
|}
  
 
=== Suggestions for Open Source Community: ===
 
=== Suggestions for Open Source Community: ===
Suggestions for an open source community member who is working in conjunction with the instructor.
 
 
 
--------------------
 
This work is licensed under a
 
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]
 
  
[[File:CC_license.png]]
 
  
[[Category: Learning_Activity]]
+
[[Category:Learning Activity]]
[[Category: LEARNING_ACTIVITY_SUBCATEGORY]]
+
[[Category:Specification and Design]]
 +
[[Category:Capstone]]
 +
[[Category:Good Draft]]

Revision as of 17:50, 8 March 2017


Overview

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:

  1. Intro to FOSS (Activity)
  2. Intro to FOSS Project Anatomy (Activity)
  3. FOSS Field Trip (Activity)
  4. Evaluate a Project (Activity)
  5. As needed, activities to learn about contemporary tools commonly used in FOSS communities:
    1. Intro to Wiki (Activity)
    2. Intro to IRC (Activity)
    3. Blog Activity
    4. Intro to Bug Trackers (Activity)
    5. Intro to GitHub (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 Evaluate a Project (Activity), in order to ensure that the HFOSS project is mature enough to support the capstone project.

Upon completion of the Evaluate a Project (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:

  1. FOSS in Courses 1 (Instructors)
  2. FOSS in Courses 2 (Instructors)

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

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png

Suggestions for Open Source Community:

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox