TOS Site: Contribution Guidelines

This page describes how to create various contributions to the TeachingOpenource site.

Create a Link to Material not Located on TeachingOpenSource

It is expected that many members of the teachingopensource.org community will want to add links to existing materials found on the web. One example of such material is the Intro to GitHub learning activity.

In order to contribute such a link:

  1. Use the Materials Search to ensure that material is not already included in the materials collection.
  2. Click on the Learning Materials/Add New link on the left side of the Dashboard. This will open a new form for entering the material. The beginning of this form is shown below. Note that the Yoast SEO and Discussion sections may be expanded.
  3. Create a 3-5 word descriptive name for the material. Place this in the input box titled “Enter title here”.
  4. The material has three main parts:

    Enter information for each of the three inputs:

    1. Overview – A 3-5 sentence description of the material.
    2. Link to Material – The URL where the material may be found.
    3. Source – An indication of the source of the material. This could be the author, an organization, or web site.
  5. Once you have provided the core information about the material, categorize the material based on three categorizations found on the right side of the screen:

    1. Course Categories: These categories are used to identify the courses in which the learning material is most likely to be used. Categories include: CS0/Non-majors; CS1/CS2/Data Structures; Data & Information Management; Data Mining/Business Intelligence; HCI UI/UX; Information Assurance & Security; Operating Systems; Project Management; Social Issues & Professional Practice; Software Engineering & Process; System Architecture & Administration; Web Systems & Technology
    2. FOSS Categories: These categories are used to identify the FOSS-related topics that are most closely related to the material. Categories include: Advocacy; Coding & Style; Culture/Intellectual Property; Documentation; FOSS History; HFOSS; Introduction; Philosophy/Politics; Privacy/Security; Product Packaging & Distribution; Quality & Testing; Specification & Design; Tools & Communication; Use & Evaluate; Visual Design
    3. Materials Categories: These categories identify the type of material which could be a learning activity (an activity that can be carried out inside or out of class), reference which could be a background reading, cheatsheet, or other supplemental information, or repo which indicates a collection of materials.
  6. Lastly, provide a few tags that will help describe the material. These tags should not be terms found in the categories (e.g., “documentation), and should help uniquely identify the material and could include tools, projects, etc. (e.g., GitHub). The tag form is found on the right side of the screen just above the categories.

Create Material on TeachingOpenSource

It is expected that TeachingOpenSource community members may want to develop learning materials directly on the teachingopensource.org site. One example of such material is the FOSS Field Trip that involves browsing a forge.

In order to contribute such content:

  1. Use the Materials Search to ensure that material is not already included in the materials collection.
  2. Click on the Activities/Add New link on the left side of the Dashboard. This will open a new form for entering the material. Note that the Yoast SEO and Discussion sections may be expanded.
  3. Create a 3-5 word descriptive name for the material. Place this in the input box titled “Enter title here”.
  4. Enter the following information:
    1. Overview – A 3-5 sentence description of the material.
    2. Pre-requisites – List of topics and tools the student needs to know prior to beginning this activity.
    3. Learning Objectives – “After successfully completing this activity, the learner should be able to:” List capabilities of students gained from completing the material.
    4. Background – List any background reading, rationale for activity, and notes for instructors.
    5. Directions – The core of the activity. List what the student needs to do to complete the activity.
    6. Deliverables – Describe what the student should hand in. There may be several options for deliverables depending on the level of student.
    7. Assessment – Describe how the activity will be graded, how the learning will be measured. Ideally, there should be a way to measure each of the objectives in the Learning Objectives section. Include sample assessment questions/rubrics. Feel free to indicate that the activity itself is not graded, however it would be helpful to include any questions that might be used at a later date to interpret learning, for example on a quiz or exam.
    8. Comments – Identify any helpful comments for instructors. List any possible difficulties with the activity or variations on the activity.
    9. ACM Body of Knowledge Area & Unit(s) – List the ACM Body of Knowledge Area and Unit(s) covered.
    10. ACM Topic(s)
      List the specific topics addressed. The Computing Curricula 2013 provides a list of topics in Appendix A – The Body of Knowledge (page 58)
    11. Level of Difficulty – Indicate whether the activity is easy, medium, or hard.
    12. Estimated Completion Time – Indicate the time a typical student would take to complete the activity.
    13. Environment / Materials List any materials needed to complete the activity (e.g. Internet access, IRC client, Git Hub account, LINUX machine, etc.).
    14. Activity Author – List the author of the activity.
    15. Source – Identify whether there is another activity on which this activity is based. If so, please provide a link to the original resource.
    16. License – List the license under which this material made available. We request that you pick a Creative Commons license. We suggest using a template like: {{License CC BY}} or {{License CC BY SA}}
  5. Once you have provided the core information about the material, categorize the material based on three categorizations found on the right side of the screen:

    1. Course Categories: These categories are used to identify the courses in which the learning material is most likely to be used. Categories include: CS0/Non-majors; CS1/CS2/Data Structures; Data & Information Management; Data Mining/Business Intelligence; HCI UI/UX; Information Assurance & Security; Operating Systems; Project Management; Social Issues & Professional Practice; Software Engineering & Process; System Architecture & Administration; Web Systems & Technology
    2. FOSS Categories: These categories are used to identify the FOSS-related topics that are most closely related to the material. Categories include: Advocacy; Coding & Style; Culture/Intellectual Property; Documentation; FOSS History; HFOSS; Introduction; Philosophy/Politics; Privacy/Security; Product Packaging & Distribution; Quality & Testing; Specification & Design; Tools & Communication; Use & Evaluate; Visual Design
    3. Materials Categories: These categories identify the type of material which could be a learning activity (an activity that can be carried out inside or out of class), reference which could be a background reading, cheatsheet, or other supplemental information, or repo which indicates a collection of materials.
  6. Lastly, provide a few tags that will help describe the material. These tags should not be terms found in the categories (e.g., “documentation), and should help uniquely identify the material and could include tools, projects, etc. (e.g., GitHub). The tag form is found on the right side of the screen just above the categories.

Create a Link to an Academic Course or Class

Members of the teachingopensource.org community may want to add information about courses in which students learn about and/or contribute to open source projects. Such classes provide a rich resource for teaching ideas. An example of such a class is Open Source Software from the University of Pennsylvania.

In order to contribute such a link:

  1. Check the list of all courses to make sure that the course is not already present.
  2. Click on the Class/Add New link on the left side of the Dashboard. This will open a new form for entering the material. The form is shown in two images below below. Note that the Yoast SEO and Discussion sections may be expanded.
     
  3. Courses are named with the institution name followed by the course name. For example CMU Open Source Software. Place this in the input box titled “Enter title here”.
  4. Seven pieces of information are used to represent a course. Enter information for each of the seven inputs in the form shown above:
    1. Class Name – Name of the class, including number. E.g., CS 490 Software Engineering.
    2. Institution– Name of the institution that is hosting the course.
    3. Term – Term or semester in which the class is offered.
    4. Pre-Requisites – List any pre-requisite courses and knowledge required for the course. Be as descriptive as possible. For many readers “CS 230” does not convey an understanding of the course content.
    5. Description – Provide the course description or an overview of the course contents.
    6. Instructor – Name of the professor(s) teaching the course.
    7. Link to Class – URL of the class location. If the class has multiple pages, provide the highest level page, usually the main course page.
  5. Once you have provided the core information about the material, categorize the material based on two categorizations found on the right side of the screen:
     

    1. Course Categories: These categories are used to identify the courses in which the learning material is most likely to be used. Categories include: CS0/Non-majors; CS1/CS2/Data Structures; Data & Information Management; Data Mining/Business Intelligence; HCI UI/UX; Information Assurance & Security; Operating Systems; Project Management; Social Issues & Professional Practice; Software Engineering & Process; System Architecture & Administration; Web Systems & Technology
    2. FOSS Categories: These categories are used to identify the FOSS-related topics that are most closely related to the material. Categories include: Advocacy; Coding & Style; Culture/Intellectual Property; Documentation; FOSS History; HFOSS; Introduction; Philosophy/Politics; Privacy/Security; Product Packaging & Distribution; Quality & Testing; Specification & Design; Tools & Communication; Use & Evaluate; Visual Design
  6. Lastly, provide a few tags that will help describe the material. These tags should not be terms found in the categories (e.g., “documentation), and should help uniquely identify the material and could include tools, projects, etc. (e.g., GitHub). The tag form is found on the right side of the screen just above the categories.