Difference between revisions of "FOSS Field Trip (Activity)"

From TeachingOpenSource
(26 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{| border="1"
|-
|'''Title''' || FOSS Field Trip Activity - Browsing a Forge
|-
|'''Overview''' || Learners will gain an understanding of the breadth of available FOSS projects. Learners will also gain an understanding of the identifying characteristics of FOSS projects including pattern of contributions, patterns of commits, programming languages used, and more. 
|-
|'''Prerequisite Knowledge''' || None.
|-
|'''Learning Objectives''' ||Upon completion of this activity, students will be able to: 1) Locate a FOSS project on SourceForge and OpenHub, 2) Describe basic features of the project including start date, programming language, code size, and recent activity
|}


=== Background: ===
{{Learning Activity Overview
|title=
FOSS Field Trip - Browsing a Forge
|overview=
Learners will gain an understanding of the breadth of available FOSS projects. Learners will also gain an understanding of the identifying characteristics of FOSS projects including pattern of contributions, patterns of commits, programming languages used, and more.
|prerequisites=
None.
|objectives=
# Locate a FOSS project on GitHub and OpenHub,
# Describe basic features of the project including programming language, code size, and recent activity.
|process skills=
# Critical Thinking
# Information Processing
}}
 
=== Background ===
 
Open source pre-dates the Web, but the Web and Internet connectivity have been essential for the blossoming of FOSS in recent years. FOSS projects need to be available on the Web to ever gain much attention. There are a growing number of sites (often called “forges”) that provide a home and visibility to FOSS projects (although many of the biggest projects live on their own sites).  
Open source pre-dates the Web, but the Web and Internet connectivity have been essential for the blossoming of FOSS in recent years. FOSS projects need to be available on the Web to ever gain much attention. There are a growing number of sites (often called “forges”) that provide a home and visibility to FOSS projects (although many of the biggest projects live on their own sites).  


=== Directions: ===
=== Directions ===
POSSE Attendees: Please keep notes on your answers to the following questions.  You will use them as part of the '''[[Project_Evaluation_Activity | Project Selection Activity]]''' and '''[[Blog_Activity | Blogging Activity]]''' which you will work on next.
 
==== Part 1 - SourceForge ====
POSSE Attendees: Please keep notes on your answers to the following questions.  You will use them as part of '''[[Evaluate a Project (Activity)]]''' which you will work on next.
One of the best known of these FOSS project hosting sites is Source Forge. In this activity you will explore projects in SourceForge to gain an understanding of the key characteristics of a FOSS project.  
 
==== Part 1 - GitHub ====
 
One of the best known of these FOSS project hosting sites is GitHub. In this activity you will explore projects in GitHub to gain an understanding of the key characteristics of a FOSS project.  


Do the following:
Do the following:
# Go to: http://sourceforge.net/
# Go to: https://github.com/
# Use the Search feature in the center of the screen to view applications in an area of interest to you (e.g., gaming, sports, music, computing, etc.).
# Use the Search feature on the top right next to the Log In button to view applications in an area of interest to you (e.g., gaming, sports, music, computing, etc.).
# How many projects are there in this category?
# How many projects are there in this category?
# How many different programming languages are used to write software in this category?
# List the top four programming languages used to write programs in this category.
# List the top four programming languages used to write programs in this category.
# Identify the meaning of each of the statuses below:
# Pick a project in your category by clicking on the repository. Answer the questions below:
## Inactive
## Mature
## Production/Stable
## Beta
## Alpha
## Pre-Alpha
## Planning
# Compare two projects in this category that have two different statuses. Describe the differences between the statuses.
# Which projects are the most used? How do you know?
# Pick a project in your category. Answer the questions below:
## What does it do?
## What does it do?
## What programming language is the project written in?
## What programming language is the project written in?
Line 43: Line 41:
## How many committers does the project have?
## How many committers does the project have?
## Would you use the project? Why or why not?
## Would you use the project? Why or why not?
# Create a new search for humanitarian. Answer the questions below:
## What is the name of the top project?
## When was it last updated?
## How many forks has it had?
Keep this browser window open while you move onto Part 2.


==== Part 2 - OpenHub ====
==== Part 2 - OpenHub ====
In this activity, you will use OpenHub to gather information about a Humanitarian Free and Open Source project named OpenMRS.


'''Explore OpenMRS:'''
In this activity, you will use OpenHub to search for humanitarian projects.
 
'''Searching OpenHub:'''
# Go to: https://www.openhub.net/
# Go to: https://www.openhub.net/
# In the upper-most search space, enter:  OpenMRS
# In the upper-most search space, enter:  humanitarian
# Notice that for many of the projects it says that the Activity is not Available while others are listed as Inactive or New Projects.  Locate the Shelter Database project and click on it.
# How many contributors does it have?
# When was the most recent commit?
# Where is the code located?
# Open the Homepage for the project in another browser window.
# Click on the link to download the code.  How does the information on this page compare to what you saw on OpenHub?
# For the OpenMRS Core project, identify when the data in OpenHub was last analyzed and the last commit date. How much difference is there?
# For the OpenMRS Core project, identify when the data in OpenHub was last analyzed and the last commit date. How much difference is there?
# What is the main programming language used in OpenMRS Core?
# What is the main programming language used in OpenMRS Core?
Line 65: Line 77:
* If you would like to see a project that has had recent student activity, repeat the above with "MouseTrap".
* If you would like to see a project that has had recent student activity, repeat the above with "MouseTrap".


=== Deliverables: ===
=== Part 3: Comparing a Project on GitHub and OpenHub ===
 
=== Deliverables ===


POSSE: Please post this on your foss2serve user wiki page.
POSSE: Please post this on your foss2serve user wiki page.
Line 72: Line 86:


= Notes for Instructors =
= Notes for Instructors =
The remaining sections of this document are intended for the instructor.  They are not part of the learning activity that would be given to students.


=== Assessment: ===
The remaining sections of this document are intended for the instructor.
How will the activity be graded?
They are not part of the learning activity that would be given to students.
 
How will learning will be measured?
=== Assessment ===


Include sample assessment questions/rubrics.
* How will the activity be graded?
* How will learning will be measured?
* Include sample assessment questions/rubrics.


{| border="1" class="wikitable"
{| class="wikitable"
! Criteria
! Criteria
! Level 1 (fail)
! Level 1 (fail)
Line 103: Line 118:
|}
|}


=== Comments: ===
=== Comments ===
What should the instructor know before using this activity?


What are some likely difficulties that an instructor may encounter using this activity?
* What should the instructor know before using this activity?
* What are some likely difficulties that an instructor may encounter using this activity?


=== Variants and Adaptations: ===
=== Variants and Adaptations: ===
[https://github.com/ChrisMurphyOnline/open-source-software-development-course/blob/master/activities/foss-evaluation-activity.txt POGIL-style combined FOSS Field Trip and Project Evaluation] used by [[User:Cmurphy|Chris Murphy]] at UPenn in his [[FOSS_Course_Syllabus|Full FOSS Course]]


=== Additional Information: ===
[https://github.com/ChrisMurphyOnline/open-source-software-development-course/blob/master/activities/foss-evaluation-activity.txt POGIL-style combined FOSS Field Trip and Project Evaluation] used by [[User:Cmurphy|Chris Murphy]] in his [[FOSS Course, UPenn, Murphy]].
{| border="1"
 
|-  
{{Learning Activity Info
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]
|acm unit=
|-
|acm topic=
|'''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
|difficulty=
|-
|time=
|'''Level of Difficulty''' || Is this activity easy, medium or challenging?
30-60 minutes
|-
|environment=
|'''Estimated Time to Completion''' || 30-60 minutes
Access to Internet/Web and web browser.
|-
|author=
|'''Materials/Environment''' || Access to Internet/Web and web browser.  
|source=
|-
[http://www.xcitegroup.org/softhum/doku.php?id=f:assignment_ossfieldtrip1detail Detailed FOSS Field Trip]
|'''Author''' || Who wrote this activity?
|license=
|-
{{License CC BY SA}}
|'''Source''' || [http://www.xcitegroup.org/softhum/doku.php?id=f:assignment_ossfieldtrip1detail Detailed FOSS Field Trip]
}}
|-
 
|'''License''' || Licensed 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.
Suggestions for an open source community member who is working in conjunction with the instructor.
--------------------
{{License CC BY SA}}


[[Category:Instructor Activities]]
[[Category:Instructor Activities]]

Revision as of 19:18, 11 February 2017


Title

FOSS Field Trip - Browsing a Forge

Overview

Learners will gain an understanding of the breadth of available FOSS projects. Learners will also gain an understanding of the identifying characteristics of FOSS projects including pattern of contributions, patterns of commits, programming languages used, and more.

Prerequisites

None.

Learning
Objectives
After successfully completing this activity, the learner should be able to:
  1. Locate a FOSS project on GitHub and OpenHub,
  2. Describe basic features of the project including programming language, code size, and recent activity.
Process Skills
Practiced
  1. Critical Thinking
  2. Information Processing


Background

Open source pre-dates the Web, but the Web and Internet connectivity have been essential for the blossoming of FOSS in recent years. FOSS projects need to be available on the Web to ever gain much attention. There are a growing number of sites (often called “forges”) that provide a home and visibility to FOSS projects (although many of the biggest projects live on their own sites).

Directions

POSSE Attendees: Please keep notes on your answers to the following questions. You will use them as part of Evaluate a Project (Activity) which you will work on next.

Part 1 - GitHub

One of the best known of these FOSS project hosting sites is GitHub. In this activity you will explore projects in GitHub to gain an understanding of the key characteristics of a FOSS project.

Do the following:

  1. Go to: https://github.com/
  2. Use the Search feature on the top right next to the Log In button to view applications in an area of interest to you (e.g., gaming, sports, music, computing, etc.).
  3. How many projects are there in this category?
  4. List the top four programming languages used to write programs in this category.
  5. Pick a project in your category by clicking on the repository. Answer the questions below:
    1. What does it do?
    2. What programming language is the project written in?
    3. Who is likely to use the project? How do you know this?
    4. When was the most recent change made to the project?
    5. How active is the project? How can you tell?
    6. How many committers does the project have?
    7. Would you use the project? Why or why not?
  6. Create a new search for humanitarian. Answer the questions below:
    1. What is the name of the top project?
    2. When was it last updated?
    3. How many forks has it had?

Keep this browser window open while you move onto Part 2.


Part 2 - OpenHub

In this activity, you will use OpenHub to search for humanitarian projects.

Searching OpenHub:

  1. Go to: https://www.openhub.net/
  2. In the upper-most search space, enter: humanitarian
  3. Notice that for many of the projects it says that the Activity is not Available while others are listed as Inactive or New Projects. Locate the Shelter Database project and click on it.
  4. How many contributors does it have?
  5. When was the most recent commit?
  6. Where is the code located?
  7. Open the Homepage for the project in another browser window.
  8. Click on the link to download the code. How does the information on this page compare to what you saw on OpenHub?
  1. For the OpenMRS Core project, identify when the data in OpenHub was last analyzed and the last commit date. How much difference is there?
  2. What is the main programming language used in OpenMRS Core?
  3. How many lines of code does OpenMRS Core have?
  4. Click on the OpenMRS Core logo or link in upper left. (Be careful not to click on the OpenMRS link associated with the "claimed by" as this brings you to the larger OpenMRS project page.)
  5. Click on "User & Contributor Locations" (lower right side of screen). List some of the locations of the developers.
  6. Go back to the main OpenMRS page. Click on the "Languages" link. How many languages is OpenMRS written in?
  7. What language has the second highest number of lines of code?
  8. Of the programming languages used in OpenMRS , which language the has the highest comment ratio?
  9. Click on the “Contributors” link under "SCM Data" menu.
  10. What is the average number of contributors in the last 12 months?
  11. Scroll down to the Top Contributors section. How long have the top three contributors been involved in the project?
  12. Use the information on the project summary page to compute the 12-month average of commits. What is the average number of commits over the past 12 months?.
  • If you would like to see a project that has had recent student activity, repeat the above with "MouseTrap".

Part 3: Comparing a Project on GitHub and OpenHub

Deliverables

POSSE: Please post this on your foss2serve user wiki page.

Students: Wiki posting describing your explorations of forges and OpenHub

Notes for Instructors

The remaining sections of this document are intended for the instructor. They are not part of the learning activity that would be given to students.

Assessment

  • How will the activity be graded?
  • How will learning will be measured?
  • Include sample assessment questions/rubrics.
Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
The purpose of the project
Why the project is open source

Comments

  • What should the instructor know before using this activity?
  • What are some likely difficulties that an instructor may encounter using this activity?

Variants and Adaptations:

POGIL-style combined FOSS Field Trip and Project Evaluation used by Chris Murphy in his FOSS Course, UPenn, Murphy.

ACM BoK
Area & Unit(s)
ACM BoK
Topic(s)
Difficulty
Estimated Time
to Complete

30-60 minutes

Environment /
Materials

Access to Internet/Web and web browser.

Author(s)
Source

Detailed FOSS Field Trip

License

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

CC BY SA.png


Suggestions for Open Source Community

Suggestions for an open source community member who is working in conjunction with the instructor.