FOSS Field Trip (Activity)

(Difference between revisions)
Jump to: navigation, search
(Part 1 - GitHub)
(24 intermediate revisions by 6 users not shown)
Line 5: Line 5:
 
FOSS Field Trip - Browsing a Forge
 
FOSS Field Trip - Browsing a Forge
 
|overview=  
 
|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.
+
Learners will gain an understanding of the breadth of available FOSS projects as well as differences between GitHub and OpenHub.
 
|prerequisites=
 
|prerequisites=
 
None.
 
None.
 
|objectives=
 
|objectives=
# Locate a FOSS project on GitHub and OpenHub,
+
# Search for FOSS projects by category on both GitHub and OpenHub.
# Describe basic features of the project including programming language, code size, and recent activity.
+
# Look a difference features of GitHub and OpenHub.
 
|process skills=
 
|process skills=
 
# Critical Thinking
 
# Critical Thinking
Line 22: Line 22:
 
=== Directions ===
 
=== 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.
+
POSSE Attendees: Please post your answers to the following questions on your foss2serve wiki.
  
 
==== Part 1 - GitHub ====
 
==== 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.  
+
One of the best known of these FOSS project hosting sites is GitHub. In this activity you will search for projects on GitHub based upon category.  
  
 
Do the following:
 
Do the following:
 
# Go to: https://github.com/
 
# Go to: https://github.com/
# 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.).
+
# Use the Search feature on the top right next to the Sign in or Sign up links to search for educational applications by placing the word education in the search box and click Search.
# How many projects are there in this category?
+
## How many repositories are there in this category?
# List the top four programming languages used to write programs in this category.
+
## Click on the first project. Click on Graphs (Insights), then Commits.  What information does this page provide?
# Pick a project in your category by clicking on the repository. Answer the questions below:
+
# Go back to the main page and use the Search feature to look for humanitarian applications.  Type the word humanitarian in the search box and click Search.
## What does it do?
+
## How many repositories are there in this category?
## What programming language is the project written in?
+
## Locate the HTBox/crisischeckin project.  When was the last update?
## Who is likely to use the project? How do you know this?
+
# Use the Search feature to look for disaster management applications. Type the phrase disaster management the search box and click Search.
## When was the most recent change made to the project?
+
## How many projects are there in this category?
## How active is the project? How can you tell?
+
## How many committers does the project have?
+
## 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.
+
  
 +
Keep this browser tab open while you move onto Part 2.
  
 
==== Part 2 - OpenHub ====
 
==== Part 2 - OpenHub ====
  
In this activity, you will use OpenHub to search for humanitarian projects.  
+
In this activity, you will use OpenHub to search for both educational as well as humanitarian projects.  
  
 
'''Searching OpenHub:'''
 
'''Searching OpenHub:'''
 
# Go to: https://www.openhub.net/
 
# Go to: https://www.openhub.net/
# In the upper-most search space, enter: humanitarian
+
# In the search space, enter: education
# Notice that for many of the projects it says that the Activity is not Available while others are listed as Inactive or New ProjectsLocate the Shelter Database project and click on it.
+
## Notice it tells you how many pages of results there are, not number of projects.  By default, there should be 10 projects per page. How many projects were returned?  
# How many contributors does it have?
+
## KDE Education should be the second result. Click on it.  Look on the right hand side of the page and click on Code LocationsThere are a number of projects listed here.  Is any of the code located on GitHub?
# When was the most recent commit?
+
## Go back one page.  Under the Code Locations, it provides several projects that are Similar. Click on Similar Projects.  How many similar projects are listed?  
# Where is the code located?
+
## Scroll down.  What information does OpenHub provide about the project?
# Open the Homepage for the project in another browser window.  
+
# Perform searches for both humanitarian and disaster management.
# Click on the link to download the codeHow does the information on this page compare to what you saw on OpenHub?  
+
## How many projects were returned for each search?
+
## Click on the Activity icon. Why do so many projects do not have activity information available?
# For the OpenMRS Core project, identify when the data in OpenHub was last analyzed and the last commit date. How much difference is there?
+
# Click on Organizations.
# What is the main programming language used in OpenMRS Core?
+
## What information is provided on this page?  
# How many lines of code does OpenMRS Core have?
+
# Search for OpenMRS.
# 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.)
+
## When was the last commit for OpenMRS Core?
# Click on "User & Contributor Locations" (lower right side of screen). List some of the locations of the developers.
+
# Go back to GitHub and search for OpenMRS Core.
# Go back to the main OpenMRS page. Click on the "Languages" link.  How many languages is OpenMRS written in?  
+
## When was the last commit?  
# What language has the second highest number of lines of code?
+
## Why do you think these sites have different information?  
# Of the programming languages used in OpenMRS , which language the has the highest comment ratio?
+
# What would be the benefits/drawbacks of using both GitHub and OpenHub to search for a project?
# Click on the “Contributors” link under "SCM Data" menu.  
+
# What is the average number of contributors in the last 12 months?
+
# Scroll down to the Top Contributors section. How long have the top three contributors been involved in the project?
+
# 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 ===
 
=== Deliverables ===
  
POSSE: Please post this on your foss2serve user wiki page.
+
POSSE: Please post the answers to these questions on your foss2serve user wiki page.
  
Students: Wiki posting describing your explorations of forges and OpenHub
+
Students: Wiki posting describing your explorations of GitHub and OpenHub.
  
 
= Notes for Instructors =
 
= Notes for Instructors =
Line 151: Line 136:
 
[[Category:CS Principles]]
 
[[Category:CS Principles]]
 
[[Category:CS1]]
 
[[Category:CS1]]
 +
[[Category: Good Draft]]

Revision as of 18:36, 24 April 2018


Title

FOSS Field Trip - Browsing a Forge

Overview

Learners will gain an understanding of the breadth of available FOSS projects as well as differences between GitHub and OpenHub.

Prerequisites

None.

Learning
Objectives
After successfully completing this activity, the learner should be able to:
  1. Search for FOSS projects by category on both GitHub and OpenHub.
  2. Look a difference features of GitHub and OpenHub.
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 post your answers to the following questions on your foss2serve wiki.

Part 1 - GitHub

One of the best known of these FOSS project hosting sites is GitHub. In this activity you will search for projects on GitHub based upon category.

Do the following:

  1. Go to: https://github.com/
  2. Use the Search feature on the top right next to the Sign in or Sign up links to search for educational applications by placing the word education in the search box and click Search.
    1. How many repositories are there in this category?
    2. Click on the first project. Click on Graphs (Insights), then Commits. What information does this page provide?
  3. Go back to the main page and use the Search feature to look for humanitarian applications. Type the word humanitarian in the search box and click Search.
    1. How many repositories are there in this category?
    2. Locate the HTBox/crisischeckin project. When was the last update?
  4. Use the Search feature to look for disaster management applications. Type the phrase disaster management the search box and click Search.
    1. How many projects are there in this category?

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

Part 2 - OpenHub

In this activity, you will use OpenHub to search for both educational as well as humanitarian projects.

Searching OpenHub:

  1. Go to: https://www.openhub.net/
  2. In the search space, enter: education
    1. Notice it tells you how many pages of results there are, not number of projects. By default, there should be 10 projects per page. How many projects were returned?
    2. KDE Education should be the second result. Click on it. Look on the right hand side of the page and click on Code Locations. There are a number of projects listed here. Is any of the code located on GitHub?
    3. Go back one page. Under the Code Locations, it provides several projects that are Similar. Click on Similar Projects. How many similar projects are listed?
    4. Scroll down. What information does OpenHub provide about the project?
  3. Perform searches for both humanitarian and disaster management.
    1. How many projects were returned for each search?
    2. Click on the Activity icon. Why do so many projects do not have activity information available?
  4. Click on Organizations.
    1. What information is provided on this page?
  5. Search for OpenMRS.
    1. When was the last commit for OpenMRS Core?
  6. Go back to GitHub and search for OpenMRS Core.
    1. When was the last commit?
    2. Why do you think these sites have different information?
  7. What would be the benefits/drawbacks of using both GitHub and OpenHub to search for a project?

Deliverables

POSSE: Please post the answers to these questions on your foss2serve user wiki page.

Students: Wiki posting describing your explorations of GitHub 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 license.png


Suggestions for Open Source Community

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

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