http://foss2serve.org/api.php?action=feedcontributions&user=Casey.ellis&feedformat=atomFoss2Serve - User contributions [en]2024-03-29T13:53:58ZUser contributionsMediaWiki 1.18.1http://foss2serve.org/index.php/Intro_to_Wiki_(Activity)Intro to Wiki (Activity)2016-01-26T18:12:31Z<p>Casey.ellis: added activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Wiki Activity<br />
|-<br />
|'''Overview''' || Provides an overview of wikis and teaches basic skills for creating and editing wiki pages. <br />
|- <br />
|'''Prerequisite Knowledge''' || None.<br />
|-<br />
|'''Learning Objectives''' || Upon completion, you will be able to: 1) Describe typical uses of wikis, 2) Create and edit a wiki page, 3) Discuss use of wikis in FOSS projects.<br />
|}<br />
<br />
=== Background: ===<br />
According to Wikipedia: "A wiki is a website which allows its users to add, modify, or delete its content via a web browser usually using a simplified markup language or a rich-text editor. Wikis are powered by wiki software. Most are created collaboratively." [http://en.wikipedia.org/wiki/Wiki]<br />
<br />
<br />
'''The Need for Web publishing'''<br />
* Quick publication via the Web<br />
* Decentralized control<br />
** But room for recovery<br />
* Web page creation without HTML knowledge<br />
<br />
'''The Solution - Wikis'''<br />
* Access via a Web browser<br />
* Simple text editor<br />
* Character based formatting<br />
* Built-in change tracking and roll-back<br />
<br />
'''Wiki History'''<br />
* Predecessors<br />
** Memex, hypertext, hypercards<br />
* Wiki Wiki Web - 1994<br />
** Ward Cunningham <br />
* Today: Lots of Wiki systems<br />
** Major platforms include: Media Wiki, Docuwiki, Tikiwiki, MoinMoin<br />
** Wiki text syntax is generally similar across platforms but with enough variation to be confusing<br />
** Wiki Creole attempts to provide a standard but has not been completely adopted<br />
<br />
For our learning activity we will focus on Media Wiki, the wiki software that powers Wikipedia. <br />
<br />
<br />
=== Directions: ===<br />
==== Part 1 - Introduction to Wikis ====<br />
# Read the overview [http://en.wikipedia.org/wiki/Wiki article] about wikis. (After all, what starting point can there be for wikis other than the Wikipedia article?)<br />
# Read basics of MediaWiki page [http://www.mediawiki.org/wiki/Help:Starting_a_new_page creation] and page [http://www.mediawiki.org/wiki/Help:Contents editing]<br />
<br />
==== Part 2 - Creating a wiki page ====<br />
As part of your introduction to other POSSE participants, please create a short bio page for yourself in foss2serve.org.<br />
Do the following:<br />
# Go to the [http://www.foss2serve.org Foss2serve] wiki.<br />
# Login and change your password. You should have received a user ID and temporary password by email. If you did not, please contact Greg Hislop at hislop@drexel.edu.<br />
# Create a new "User" page in the wiki for your user ID. You can see an example [[User:Hislop | here]] and begin to create your page by modifying the URL of this example, changing the user ID to your own user ID.<br />
# Edit the participants page for this POSSE and add your own name and link your name to the User page you created in the prior step. Please keep the names in alphabetic order by last name. In a later activity, you will create a blog and add the link to your blog here too. The participants page is [[POSSE_201509_Participants | here]]<br />
<br />
==== Part 3 - Wiki Examples ====<br />
# Browse several example wikis and try to define the role that they play. Starting points:<br />
* '''Wikipedia''' is most widely known and used wiki. With over 4 million articles, it can be overwhelming. On the other hand, it contains lots of material about writing wiki pages, organizing wikis, managing large wikis, and using advanced features of MediaWiki. You might browse by starting at http://en.wikipedia.org/wiki/Wikipedia:About<br />
* '''[https://fedoraproject.org/wiki/Fedora_Project_Wiki The Fedora Project Wiki]''' is an example of a relatively large wiki used to support a FOSS project. The wiki provides a home for much of the technical documentation, and other materials related to operation of the Fedora project.<br />
<br />
<br />
=== Deliverables: ===<br />
A wiki page with a short biography and (in a later assignment) a link to your blog <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 30 minutes<br />
|-<br />
|'''Materials/Environment''' || Access to the Web via a web browser. <br />
|-<br />
|'''Author''' || Greg Hislop <br />
|-<br />
|'''Source''' || <br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Teaching_Open_Source_(Activity)Teaching Open Source (Activity)2016-01-26T18:08:46Z<p>Casey.ellis: added Activity Template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || TOS Activity<br />
|-<br />
|'''Overview''' || Learners will become members of the Teaching Open Source mailing list and add themselves to the People page. <br />
|- <br />
|'''Prerequisite Knowledge''' || None.<br />
|-<br />
|'''Learning Objectives''' || Ability to: 1) receive TOS list serv mailings, 2) add your name and contact information to the TOS roll call page.<br />
|}<br />
<br />
<br />
=== Background: ===<br />
Teaching Open Source is the primary website for academics interested in open source and involving their students in open source projects. TeachingOpenSource.org was set up in March 2009. The goal of the site is to foster collaboration and members are both academics and industry leaders.<br />
<br />
=== Directions: ===<br />
==== Part 1 - Joining the Teaching Open Source Mailing List ====<br />
Teaching Open Source (TOS)- http://teachingopensource.org/index.php/Main_Page - is a "neutral collaboration point for professors, institutions, communities, and companies to come together and make the teaching of Open Source a global success." You will visit this site and sign up for the list serv. <br />
<br />
Do the following:<br />
# Go to: http://teachingopensource.org/index.php/Main_Page<br />
# Locate the '''Get Involved''' section.<br />
# Click the '''Join the mailing list''' link.<br />
# Read through the information on the resulting page. Click the '''mailing list''' link.<br />
# Complete the information in the form and click the '''Subscribe''' button.<br />
<br />
==== Part 2 - Adding Yourself to the People Page on Teaching Open Source ====<br />
One tool used by members of the open source world is wiki pages. During this part of the activity you will participate in the TOS community by creating a wiki page and introducing yourself to the community.<br />
# Go to: http://teachingopensource.org/index.php/Main_Page<br />
# Locate the '''Get Involved''' section.<br />
# Click the '''Add yourself to the roll call''' link.<br />
# Read through the page and see how people describe themselves on this page.<br />
# Locate '''Heidi Ellis''' in the roll call. <br />
# As you are looking at the entries in the roll call, notice that many of them include a link to google’s recaptcha mailhide. This link is what allows some of the emails to be hidden on the site and only be shown by using the captcha. The goal of this is to help reduce spam. <br />
# Return to the top of the page and click the '''create an account''' link.<br />
# This will bring you to the page for editing the wiki. Read down to the '''Joining the Wiki''' section. <br />
# Click the '''create an account''' link.<br />
# Enter the captcha information and complete the information requested. After you submit, you will receive a confirmation email.<br />
# Once you have successfully logged in, you can edit the Wiki page to add yourself to the Roll Call. Click '''edit''' on the right side of '''Professors''' to edit this page to add yourself.<br />
# The format of your entry should be, '''your name, your email, your institution/company/project, and whatever information you believe to be relevant about your work.''' For example, '''<pre>Lori Postner, </pre><pre>[http://www.google.com/recaptcha/mailhide/d?k=01Rtfg9ZLZQjNmYicvEWSQfA==&c=KlmpA7OQR5-G_yA7RRSa_-yALTitdnnlyUB1Yg2y234= Email Address via reCAPTACH&trade; Mailhide] </pre><pre>Associate Professor at [http://www.matcmp.ncc.edu/~postnel Nassau Community College], </pre><pre>I am working with the foss2serve team to learn how to incorporate HFOSS into my Computer Science courses.</pre>''' Your entry should begin with an asterisk (*) <br />
# Click '''Save'''. <br />
<br />
=== Deliverables: ===<br />
None<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 20-30 minutes <br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser and email client. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || [http://teachingopensource.org/index.php/Main_Page Teaching Open Source web site]<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Project_Evaluation_Activity_V1Project Evaluation Activity V12016-01-26T18:04:28Z<p>Casey.ellis: updated with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Project Evaluation Activity V1<br />
|-<br />
|'''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. <br />
|-<br />
|- <br />
|'''Prerequisite Knowledge''' || Completion of Browsing a Forge Activity or understanding of SourceForge and Ohloh; Understanding of course in which students will be participating in an HFOSS project.<br />
|-<br />
|'''Learning Objectives''' || Ability to utilize the rubric to identify likely HFOSS projects. <br />
|}<br />
<br />
<br />
=== Background: ===<br />
This activity is intended to give you an overview of what to consider when evaluating a FOSS project for student participation and for you to gain experience using the rubric.<br />
<br />
=== Directions: ===<br />
====Part 1-Learn about the rubric====<br />
#[http://youtu.be/MAGet2D5o2c Watch the video describing mission critical criteria]<br />
#[http://youtu.be/e4lnIXjqczU Watch the video describing secondary criteria]<br />
<br />
====Part 2-Walk through of an evaluation of the Mifos project====<br />
:'''Mission Critical criteria-Viability'''<br />
#Size/Scale/Complexity - An ideal project should be neither overly simple nor overly complex. One heuristic to use is the number of contributors as an indicator of project complexity.<br />
##Go to Ohloh.net, type Mifos into the Search Projects box.<br />
##On the results page click on Mifos (above the Mifos logo) to see the Project Summary page.<br />
##Scroll down to the Community area and calculate the average number of contributors in the last 12 months -- note that the graph is interactive. The average was 9 so it passed the minimum average number of contributors metric of 6.<br />
##Go to the Mifos web page (http://www.mifos.org) and choose Tech Overview from the Contributors tab. From examination of the technology stack, the architecture looks modular and further search shows it is documented elsewhere on the site. <br />
##Result: Based on the modular design and meeting the minimum average number of contributors metric, the project is scored a 2 for size/scale/complexity.<br />
#:<br />
#Activity - To support student participation a project should be reasonably active. Number of committers can be used as an indicator of activity. <br />
##Return to the Mifos project summary page in Ohloh. Scroll to the Activity area on the page.<br />
##Compute the 12-month average of commits. The 12-month average was about 108, much higher than the recommended range of 10 - 30 commits per month.<br />
##Result: Because the number of commits for this project exceeds the favorable level of activity, it may be a little large/complex. However, it still appears manageable, the project is scored a 2 for activity.<br />
#:<br />
#Community - A suitable project has an active user community. While it is difficult to quantitatively evaluate the activity of a user community, some indicators include a regular history of project downloads and documentation updates over time, current activity on user mailing lists, and testimonials on the project web site.<br />
##Examine download activity<br />
###Go to Sourceforge.net and enter Mifos into the search box. <br />
###Choose Mifos-Microfinance Open Source from the search results.<br />
###Click on the number of downloads that is listed on the project page.<br />
###Change the date range to give a graph of downloads over the last year. <br />
##Examine [https://groups.google.com/forum/#!forum/mifosusers user mailing list] activity<br />
##Examine the [http://ci.mifos.org/irclogs/%23mifos/ IRC logs]<br />
##Result: Downloads appear steady so the project has a community of users. Developers are responsive on mailing list and have a presence on IRC. Project is scored a 3.<br />
<br />
<br />
:'''Mission Critical criteria-Approachability'''<br />
<br />
::Here you are evaluating a project's on-ramp to contribution, scoring as follows:<br />
<br />
::1-Insufficient-Few or no pointers on how to become involved.<br />
<br />
::2-Sufficient-Suggestions about how to get involved other than contributing money with accompanying high-level instructions.<br />
<br />
::3-Ideal-Obvious link to get started, list of suggestions for things to do and detailed instructions.<br />
<br />
#Link to get started-There is a [http://mifos.org/contributors/get-started Get Started page] with links to what Mifos is, how to contribute, community processes, and tools used. <br />
#List of suggestions for things to do - [http://mifos.org/contributors/volunteer-projects The Volunteer Project page] provides a list of ways to contribute including testing, translation, development and documentation. There is also a volunteer bug queue listed as a good way for developers to get started. <br />
#Detailed instructions- On the web site instructions and information are provided in many areas including process, architecture, licensing, product functionality, and developer documentation.<br />
#Result-Was scored a 3. <br />
<br />
<br />
:'''Mission Critical criteria-Suitability'''<br />
#Appropriate Artifacts -Since evaluation is dependent on class objectives, in this example we'll assume an objective is to learn the process of working in authentic development project through contributing bug fixes.<br />
##Opportunities to contribute bug fixes - Examined the [https://mifosforge.jira.com/issues/?filter=10305 volunteer bite-sized bug queue]. There were 10 open bugs for new contributors. There were many more listed for more experienced contributors.<br />
##Documentation on how to contribute bug fixes - From the [http://mifos.org/contributors/tech-overview Tech Overview page] there are links to details on the code submission process. <br />
##Result - May score a 1, 2 or 3 depending on the number of bugs suitable for students to tackle and class size.<br />
#Contributor Support-Does the project have a high volume of guidance to help students as they learn?<br />
##Are communication tools documented?-Communication tools are documented under the Collaboration and Communication section of the [http://mifos.org/contributors/development-tools Development Tools page]. Instructions on how to access the mailing lists with tips on how to participate are available from the [http://mifos.org/community/communications Communications page]. <br />
##Do developers have a web presence?-Examination of [http://ci.mifos.org/irclogs/%23mifos/ IRC logs] shows scattered activity over the last week. <br />
##Are operating processed documented?-Links to information about coding standards, code submission process, and commit privileges process can be found on the [http://mifos.org/contributors/tech-overview Tech Overview page]. The process for making feature requests and for prioritizing feature request is available on the [http://mifos.org/product/roadmap Roadmap page]. <br />
##Do questions posed have timely and supportive answers?-Responses to [https://groups.google.com/forum/#!forum/mifosusers user mailing list] and [https://groups.google.com/forum/#!forum/mifosdeveloper developer mailing list] over the last month have timely and supportive responses.<br />
##Result - Not a lot of activity on IRC, but mailing lists show lots of timely feedback and communication methods and operating procedures are well documented, score a 3.<br />
<br />
<br />
:'''Overall evaluation for Mission Critical criteria''' - Since no mission-critical criteria were scored lower than a 2 the project is then evaluated on secondary criteria. Otherwise, the project would have been considered not suitable for student participation.<br />
<br />
<br />
:'''Secondary criteria-Viability'''<br />
#Domain<br />
##Does this project require domain knowledge that may be difficult for students to learn? - As a domain microfinance students should be able to grasp it well enough to contribute a bug fix, which is the learning objective assumed in this example.<br />
##Result - Score a 2 since the domain isn’t as simple to grasp as say a desktop application for word processing or compressing files.<br />
#Maturity <br />
##To have the organization to support student learning, the project should have at least one stable production release - The [http://mifos.org/product/roadmap roadmap page] lists releases. <br />
##Result - The [http://mifos.org/product/download-mifos Download Mifos page] says 2.6.0 is the 4th major community-supported release. Scored a 3.<br />
#User Support <br />
##The project should have clear instructions for downloading, installing, and using the project - There is a demo server, video, and slide presentation that explains system functionality. This information can be found looking at pages listed under the Product tab that can be used to learn about the system. There is also a [http://mifos.org/support/user-manual user manual] available. On the [http://mifos.org/product/download-mifos Download Mifos page], there are detailed instructions related to installation, configuration, system requirements, and troubleshooting.<br />
##Result - Given the wealth of detailed documentation, score a 3.<br />
#Roadmap <br />
##Student learning is best supported by projects that have a roadmap that includes new feature development, a method for users to submit new feature requests and a process for identifying how new features are prioritized - The process for making feature requests and for prioritizing feature request is available on the [http://mifos.org/product/roadmap Roadmap page]. The roadmap has features that were implemented in the last release, but no listing for the next release. <br />
##Result - Scored a 2 because there is no information listed for feature planning in the next release.<br />
<br />
<br />
:'''Secondary criteria-Approachability'''<br />
#Contribution Types<br />
##Does the project contain opportunities for multiple types of contribution and of the type that fits the class? - There are multiple projects for testers, tech writers, and developers. These can be seen on the [http://mifos.org/contributors/volunteer-projects Volunteer Projects page].<br />
##Result - May be a 1, 2 or 3 depending on whether the number of bugs is suitable for students is enough given the class size. <br />
#Openness to Contributions<br />
##Acceptance of a student contribution to a project provides valuable affirmation to student learning. Determine whether the project accepts student patches. - The process for contribution is documented on the [http://mifos.org/contributors/tech-overview Tech Overview page].<br />
##Result - Score a 3 because the contribution process is documented.<br />
#Student Friendliness<br />
## Do community members moderate the tone of communication? Review mailing lists and IRC to gauge tone - Review of [https://groups.google.com/forum/#!forum/mifosusers user mailing list] and [https://groups.google.com/forum/#!forum/mifosdeveloper developer mailing list] and [http://ci.mifos.org/irclogs/%23mifos/ IRC logs] during evaluation of contributor support showed a positive tone during communication.<br />
##Result - Score a 3, no inappropriate or demeaning messages. <br />
<br />
<br />
:'''Secondary criteria-Suitability'''<br />
#Project Description<br />
##Students must be able to understand the purpose of the project. Does the project clearly describe the product? Can students understand the intended uses of the product? - The [http://mifos.org/about About tab] on the web page has links to the vision for the product and how it is used by microfinance institutions.<br />
##Result - Score a 3, how the product is used and the vision for it is well documented and should be understandable by students. <br />
#Platform<br />
##What software and hardware platform does the FOSS project run on? - Development environment can be built on Windows, Ubuntu or Mac desktop completely with FOSS software. (Project development information found [https://mifosforge.jira.com/wiki/display/MIFOS/Workspace+2.0 here])<br />
##Are there resources to support these platforms? - In this example, yes.<br />
##Are students familiar with the platforms? - In this example, yes.<br />
##Result - Score a 2, assumption in this example is students all have newer personal computers and given the ability to set up a development environment on different operating systems that makes the availability of student resources greater. However, there is some risk because machine requirements for setting up developer environment are not provided and some documentation may be out of date. <br />
#Development Features - Is the class dependent on specific development features? (Project development information found [https://mifosforge.jira.com/wiki/display/MIFOS/Workspace+2.0 here])<br />
##Programming language - Is primarily Java.<br />
##Development environment - Can be built on Windows, Ubuntu or Mac completely with FOSS software. <br />
##Supporting technologies - Suggested IDE is Eclipse, requires Maven, Jetty, and mySQL.<br />
##Result - Need to gauge this on knowledge of students and requirements of class. Assumption here is students know Java and are familiar with mySQL. While students are not familiar with Maven and Jetty this may not be necessary for intro bug fix plus the community is very supportive so assistance can be found there. Given there is some risk, score a 2. <br />
<br />
<br />
:'''Overall evaluation for secondary criteria''' - Total score for criteria is over 20, the project passes. However, criteria scoring below 1 and criteria for which there was some risk noted should be reexamined to see if steps can be taken to mitigate risk.<br />
<br />
====Part 3-Evaluate a project====<br />
#Choose a project to evaluate from the [http://www.foss2serve.org/index.php/HFOSS_Communities project list] project list<br />
#Use the [http://www.foss2serve.org/images/foss2serve/0/0c/Blank_Evaluation_Template.xlsx blank evaluation template] to help record your results.<br />
#[http://www.foss2serve.org/index.php/Special:Upload Upload your evaluation.] <br />
#Add a link on your user page to the evaluation you uploaded.<br />
<br />
=== Deliverables: ===<br />
Wiki posting of evaluation of a project from the [http://www.foss2serve.org/index.php/HFOSS_Communities list of HFOSS projects]<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60-90 minutes <br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser, [http://xcitegroup.org/softhum/lib/exe/fetch.php?media=g:evalfossprojects.doc SIGCSE paper on evaluating FOSS projects], [http://www.foss2serve.org/images/foss2serve/0/0c/Blank_Evaluation_Template.xlsx Blank evaluation template]<br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || N/A<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Use_and_Evaluate]]</div>Casey.ellishttp://foss2serve.org/index.php/Evaluate_a_Project_(Activity)Evaluate a Project (Activity)2016-01-26T17:45:35Z<p>Casey.ellis: added activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Project Evaluation Activity<br />
|-<br />
|'''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. <br />
|- <br />
|'''Prerequisite Knowledge''' || Completion of Browsing a Forge Activity or understanding of SourceForge and OpenHub; Understanding of the course in which students will be participating in an HFOSS project.<br />
|-<br />
|'''Learning Objectives''' || Ability to utilize the rubric to identify likely HFOSS projects. <br />
|}<br />
<br />
<br />
=== Background: ===<br />
[http://www.foss2serve.org/index.php/HFOSS_Projects List of HFOSS projects]<br />
<br />
This activity is intended to give you an overview of what to consider when evaluating an HFOSS project for student participation and for you to gain experience using the rubric.<br />
<br />
=== Directions: ===<br />
====Part 1-Learn about the rubric====<br />
#[http://youtu.be/MAGet2D5o2c Watch the video describing mission critical criteria]<br />
#[http://youtu.be/e4lnIXjqczU Watch the video describing secondary criteria]<br />
<br />
====Part 2-Walk through of an evaluation of the OpenMRS project - Use the [http://www.foss2serve.org/images/foss2serve/0/0c/Blank_Evaluation_Template.xlsx blank evaluation template] to record your results and the rationale for your scoring. ====<br />
:'''Mission Critical criteria-Viability''' Recall that each component is given a score from 1 to 3, where 3 is the best.<br />
<br />
#Size/Scale/Complexity - An ideal project should be neither overly simple nor overly complex. One heuristic to use is the number of contributors as an indicator of project complexity.<br />
##Go to the OpenMRS web page (http://openmrs.org/), scroll to the bottom and choose ''OpenMRS Wiki'' (under ''Other OpenMRS sites''). From the menu on the left expand the ''Developer Guide'' and the ''Getting Started as a Developer'' options and then choose ''Technical Overview''. From examination of the technology stack, the architecture looks modular and further search shows it is documented elsewhere on the site. This provides a first look at the complexity of the application and the number and various different technologies involved.<br />
##Based upon the results from OpenHub (gathered in the FOSS Field Trip activity) and the information from the OpenMRS Technical Overview page, think about the size of the code base and how many different technologies and layers are involved in the application. What would you score this project for size/scale/complexity? <br />
#Activity - To support student participation a project should be reasonably active. Number of commits can be used as an indicator of activity. <br />
##Based upon the number of commits (gathered in the FOSS Field Trip activity) how would you rate the activity of the project?<br />
#Community - A suitable project has an active user community. While it is difficult to quantitatively evaluate the activity of a user community, some indicators include a regular history of project downloads and documentation updates over time, current activity on user mailing lists, and testimonials on the project web site.<br />
##Examine download activity<br />
###Go to [http://sourceforge.net/ sourceforge.net] and enter OpenMRS into the search box. <br />
###Choose OpenMRS from the search results.<br />
###Click on the number of downloads that is listed on the project page.<br />
###Change the date range to give a graph of downloads over the last year. <br />
##OpenMRS has begun migrating legacy mailing list activity to OpenMRS Talk. Examine [https://talk.openmrs.org/ discussion] activity<br />
##Examine the [https://botbot.me/freenode/openmrs/ IRC logs]<br />
##Based upon the download history, discussion activity, and IRC activity, what score would you give this project for community?<br />
<br />
<br />
:'''Mission Critical criteria-Approachability'''<br />
<br />
:Here you are evaluating a project's on-ramp to contribution, scoring as follows:<br />
<br />
::1-Insufficient-Few or no pointers on how to become involved.<br />
<br />
::2-Sufficient-Suggestions about how to get involved other than contributing money with accompanying high-level instructions.<br />
<br />
::3-Ideal-Obvious link to get started, list of suggestions for things to do and detailed instructions.<br />
<br />
#Examine project on-ramp.<br />
##Link to getting started - The website has a [http://openmrs.org/help/ Get Involved page] with links to ways you can contribute and share your ideas. <br />
##Each of the links (Develop, Test, Document, Translate) contain more detailed information about what and how you can contribute. <br />
##The [https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer Getting Started as a Developer] page contains a detailed list of how to get started including a list of introductory issues.<br />
##Detailed instructions - The [https://wiki.openmrs.org/display/docs/Developer+Guide Developer Guide] contains instructions and information in many areas including process, architecture, tools, and developer documentation.<br />
##Based upon the resources you looked at, how would you rate the approachability of the OpenMRS project? <br />
<br />
<br />
:'''Mission Critical criteria-Suitability'''<br />
#Appropriate Artifacts - Since evaluation is dependent on class objectives, in this example we'll assume the objective is to learn the process of working in an authentic development environment by contributing bug fixes to OpenMRS.<br />
##Opportunities to contribute bug fixes - Examine the issues found at the bottom of the [https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer getting started as a developer page]. Note that there are two categories of introductory issues. How many are listed in each category?<br />
##Documentation on how to contribute bug fixes - On the [https://wiki.openmrs.org/display/docs/Tickets Tickets page] there is information on how to create and work on an issue, including links to coding standards and the code submission process. Review this information.<br />
##Based upon the number of bugs suitable for students to tackle and information on the process of how to submit bug fixes, how would you rate OpenMRS?<br />
#Contributor Support - Does the project have a high volume of guidance to help students as they learn?<br />
##Communication Tools - Communication tools are directly available from any of the Wiki Spaces (Documentation, Projects, Resources). The [https://wiki.openmrs.org/display/RES/Home Resources page] contains links to OpenMRS Talk and IRC Chat, as well as links to group meetings (under Events), and training opportunities. <br />
##Web Presence - Examine the [https://botbot.me/freenode/openmrs/ IRC logs]. Has there been activity during the last week? <br />
##Operating Processes - Links to information about coding standards, the code submission process, and commit privileges can be found on the [https://wiki.openmrs.org/display/docs/How-To+Submit+Code How-To Submit Code page]. The process for making feature requests is available on the [https://wiki.openmrs.org/display/docs/Tickets Tickets page]. Are these processes well documented?<br />
##Response to Questions - Review a few of the posts on the OpenMRS [https://talk.openmrs.org/ discussion platform]. Do posts to this forum receive timely and supportive responses?<br />
##How would you rate the support that newcomers to OpenMRS receive?<br />
<br />
<br />
:'''The evaluation template should be uploaded to your blog -- while working on your blog post position the cursor on the page where you would like the link to appear and click 'Add Media'.<br />
<br />
<br />
:'''Overall evaluation for Mission Critical criteria''' - If no mission-critical criteria were scored lower than a 2 the project should be then evaluated on secondary criteria. Otherwise, the project would have been considered not suitable for student participation.<br />
<br />
<br />
:'''Secondary criteria-Viability - Secondary criteria sections are OPTIONAL for the POSSE workshop assignment'''<br />
#Domain<br />
##Does this project require domain knowledge that may be difficult for students to learn? OpenMRS is a medical records system. Students should be able to grasp it well enough to contribute a bug fix, which is the learning objective assumed in this example.<br />
##How would you rate the viability of OpenMRS?<br />
#Maturity <br />
##To have the organization to support student learning, the project should have at least one stable production release. The [https://wiki.openmrs.org/display/RES/Platform+Release+Notes Platform Release Notes page] lists releases. <br />
##Does OpenMRS have enough of a stable base to support student learning? How would you rate it?<br />
#User Support <br />
##The project should have clear instructions for downloading, installing, and using the project. As noted previously, the [https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer Getting Started as a Developer page] provides detailed information about setting up and using the required tools, in addition there are detailed instructions related to installation, configuration, system requirements, and troubleshooting, including videos.<br />
##Rate the documentation for OpenMRS.<br />
#Roadmap <br />
##Student learning is best supported by projects that have a roadmap that includes new feature development, a method for users to submit new feature requests and a process for identifying how new features are prioritized. Feature requests are made through JIRA, the OpenMRS issue tracker. Road map planning and the process for prioritizing feature requests is available on the [https://wiki.openmrs.org/display/docs/Technical+Road+Map+Planning Technical Roadmap Planning page]. Here you will find information about the planning process and how to participate in the planning process. The [https://wiki.openmrs.org/display/docs/Technical+Road+Map Technical Road Map page] identifies features, their current status, and a point of contact, in addition to expected dates of completion. <br />
##Based upon the roadmap provided, how would you rate OpenMRS?<br />
<br />
<br />
:'''Secondary criteria-Approachability - Secondary criteria sections are OPTIONAL for the POSSE workshop assignment'''<br />
#Contribution Types<br />
##Does the project contain opportunities for multiple types of contribution and of the type that fits the class? There are multiple projects for testers, tech writers, and developers. These can be seen on the [http://openmrs.org/help/ Get Involved page].<br />
##Result - May be a 1, 2 or 3 depending on whether the number of bugs is suitable for students is enough given the class size. <br />
#Openness to Contributions<br />
##Acceptance of a student contribution to a project provides valuable affirmation to student learning. Determine whether the project accepts student patches. The process for contribution is documented on the [https://wiki.openmrs.org/display/docs/Tickets Tickets page].<br />
##Result - Score a 3 because the contribution process is documented.<br />
#Student Friendliness<br />
## Do community members moderate the tone of communication? Review the discussion platform and IRC to gauge tone. Review the [https://talk.openmrs.org/ discussion platform] and [https://botbot.me/freenode/openmrs/ IRC logs] during evaluation of contributor support showed a positive tone during communication.<br />
##Result - Score a 3, no inappropriate or demeaning messages. <br />
<br />
<br />
:'''Secondary criteria-Suitability - Secondary criteria sections are OPTIONAL for the POSSE workshop assignment'''<br />
#Project Description<br />
##Students must be able to understand the purpose of the project. Does the project clearly describe the product? Can students understand the intended uses of the product? - The [http://openmrs.org/about/ About page] provides an overview of who, where, and what OpenMRS is, including a downloadable PDF file and a video. These describe the purpose of the project and how it is used around the world to efficiently manage medical records.<br />
##Result - Score a 3, how the product is used and the vision for it is well documented and should be understandable by students. <br />
#Platform<br />
##What software and hardware platform does the FOSS project run on? Development environment can be built on Windows, Linux or Mac OS X completely with FOSS software. (Project development information found [https://wiki.openmrs.org/display/docs/Step+by+Step+Installation+for+Developers here])<br />
##Are there resources to support these platforms? - In this example, yes.<br />
##Are students familiar with the platforms? - In this example, yes.<br />
##Result - Score a 2, assumption in this example is students all have newer personal computers and given the ability to set up a development environment on different operating systems that makes the availability of student resources greater. However, there is some risk because machine requirements for setting up developer environment are not provided and some documentation may be out of date. <br />
#Development Features - Is the class dependent on specific development features? (Project development information found [https://wiki.openmrs.org/display/docs/Step+by+Step+Installation+for+Developers here])<br />
##Programming language - Is primarily Java.<br />
##Development environment - Can be built on Windows, Linux or Mac OS X completely with FOSS software. <br />
##Supporting technologies - Suggested IDE is Eclipse, requires mySQL, Maven and Jetty are optional.<br />
##Result - Need to gauge this on knowledge of students and requirements of class. Assumption here is students know Java and are familiar with mySQL. While students are not familiar with Maven and Jetty this may not be necessary for intro bug fix plus the community is very supportive so assistance can be found there. Given there is some risk, score a 2. <br />
<br />
<br />
:'''Overall evaluation for secondary criteria''' - Add up your scores to determine the overall score. If the total score for criteria is over 20, the project passes. However, criteria scoring below 1 and criteria for which there was some risk noted should be reexamined to see if steps can be taken to mitigate risk.<br />
<br />
<br />
=== Deliverables: ===<br />
Wiki posting of evaluation of a project from the [http://www.foss2serve.org/index.php/HFOSS_Communities list of HFOSS projects]<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60-90 minutes <span style="color:#FF0000">This activity can take a significant amount of time. We only expect you to spend 60-90 minutes exploring.</span> You may not complete the activity within this time. Of course you are welcome to spend more time if you wish.<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser, [[Media:Evaluating_FOSS_Projects.docx | SIGCSE paper on evaluating FOSS projects]], [http://www.foss2serve.org/images/foss2serve/0/0c/Blank_Evaluation_Template.xlsx Blank evaluation template]<br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || N/A<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Use_and_Evaluate]]</div>Casey.ellishttp://foss2serve.org/index.php/Intro_to_FOSS_Project_Anatomy_(Activity)Intro to FOSS Project Anatomy (Activity)2016-01-26T17:33:47Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Project Anatomy Activity<br />
|-<br />
|'''Overview''' || Learners will gain a high level familiarity with the structure, processes, and tools used in FOSS projects.<br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || Upon completion of this activity, participants will: 1)be familiar with the high-level components of and terminology associated with a FOSS project, 2)understand that the implementation can vary from project to project.<br />
|}<br />
<br />
<br />
=== Background: ===<br />
[http://producingoss.com/en/index.html Producing Open Source Software] by Karl Fogel<br />
<br />
FOSS projects have a distinct culture and set of tools that support project development. The form of the culture and the specific tools vary somewhat across projects, but there is significant commonality such that many FOSS developers migrate easily among FOSS projects. <br />
<br />
Now that you have an understanding of some of the communication tools used in FOSS environments, this activity will provide a high-level understanding of some of the culture and development tools that you will use when participating in a FOSS project. The goal of this activity is not to provide depth in any one tool or aspect of culture, but to provide a high-level view of what a typical FOSS project looks like.<br />
<br />
=== Directions: ===<br />
Read the information below which provides a foundation for understanding a FOSS project. In this section we provide basic definitions for the common aspects of FOSS projects. The Guided Tour will walk you through an HFOSS project and highlight some of the aspects described below. We begin with a discussion of community as FOSS development is as much about community as it is about code. <br />
<br />
'''Community''' - As you have discovered, FOSS projects operate on the basis of a meritocracy where a person defines their position within the community based on the merit of their contributions to a project. These contributions do not necessarily have to be code. As an individual continues to make valuable contributions, that person will be given (or will take on) additional responsibility. <br />
<br />
There is a typical progression of participants in a FOSS community. Most FOSS developers start as users of the application. They then identify some small change that they want to make and make the change. If the change is accepted, they progress to making a larger change and eventually become responsible for a portion of the project. <br />
A committer is a developer who has risen to the level in the meritocracy where that individual is responsible for committing any changes submitted to the code base. This is a large responsibility as the committer must review all changes and make sure that the change is of sufficient quality to be incorporated into the code base. <br />
<br />
'''Leadership''' - You may be thinking "But how are decisions made?" In many FOSS projects, there is a "Benevolent Dictator", AKA "BD". This is the person who has the final say on a decision. And while this person has the final say, they typically rely on one or more developers who have risen in the meritocracy to the point where they have the ability to commit significant changes. As such, the benevolent dictator doesn't actually dictate much, but instead comes to a collaborative agreement with the major developers who have expertise in the area in which the decision must be made. Most BDs actually do not like making decisions by fiat and are reluctant to put their foot down. <br />
<br />
As projects mature, they frequently migrate from a BD model to a democratic model where decisions are made by consensus. A consensus is a decision about an issue that everyone agrees is a reasonable solution. The consensus is usually reached via a discussion about a particular issue and how to solve it. The important thing about consensus organization is that when consensus is reached, it must be posted publicly. <br />
<br />
'''Forking''' - One of the important cultural and technical aspects of a FOSS project is its forkability. Forkability is the ability for anyone to make a copy of the code and start their own project based on that code. That new project is known as a "fork" of the old project. For instance, LibreOffice was forked from OpenOffice. When a project is forked, the source code is copied to a new project and usually some members of the original development team leave the original project and migrate to the new project. Forking is not an ideal situation as it may result from dispute with in the development team that cannot be resolved. <br />
<br />
'''Communication''' - FOSS projects use common communication tools. You have already been exposed to wikis and IRC. In addition, most FOSS projects have one or more mailing lists. In addition, bug trackers and version control systems (discussed below) are also frequently used for communication. <br />
<br />
'''Roadmaps''' - FOSS projects need some way of defining the future of their project. Most FOSS projects have a Roadmap or Blueprint that does this. The Roadmap may be a detailed schedule of releases with the specific bugs fixed and enhancements added for each release detailed. In smaller projects, the Roadmap may simply be a list of the next enhancements to be added to the project. <br />
<br />
'''Releases''' - A "release" happens when a project has been developed to the point where the developers want to distribute the code and documentation. Releases are typically planned based on the roadmap for a project. Software development is typically "frozen" at a particular point in time so that testing of the software may proceed before the release. This does not mean that development stops. Version control is used to manage different branches of development that allow some developers to continue to work while others test the code to be released. <br />
<br />
Releases are numbered and the convention is to use 1.X for major releases. Numbering 1.X.x is used for more minor issues. The next major architectural change would be in 1.2. A complete upgrade of the code (e.g., from python 2 to python 3) would result in an entirely new number, e.g., 2.1.1.<br />
<br />
'''Repositories''' - Most FOSS projects save their code in a repository (AKA repo). A repository is simply a place where software packages are stored and from where they may be retrieved and installed. Some projects use a web-based common repository such as Launchpad, SourceForge, GitHub, or a local repo. The repo is where users go to download a software application. <br />
<br />
'''Packaging''' - FOSS projects are distributed as source code. In fact, access to the source code is one of the major benefits of FOSS. The source code should be distributed in a standard format (e.g., tar compressed by gzip for *nix). Additional reading: [http://producingoss.com/en/packaging.html#binary-packages Karl Fogel's section on Binary Packages].<br />
<br />
However, code that is distributed in this manner must be downloaded, unzipped, untarred, and then installed using a manual process. As a result, most FOSS projects create "binary" packages to support easier installation. In this case, "binary" doesn't necessarily mean compiled. It means that the package is pre-configured to be installed on a computer without having to build the project from the source code directly. <br />
<br />
'''Upstream/downstream''' - Note that development in a FOSS project is not entirely linear. There are typically many people working on the project simultaneously. The main branch of the project is said to live "upstream" of all efforts to make changes. The upstream version is the main version. Developers "downstream" check out a copy of the code to work on. When a change is made, the change is pushed upstream to the main branch so that everyone is working with a consistent code base. <br />
<br />
Upstreaming and downstreaming may also refer to the build process where packages are built for release. In addition to upstreaming in an individual project, a project may depend on another project. If project A depends on project B, then the release of the upstream project B must be complete before the release of project A can happen. <br />
<br />
'''Version Control''' - Most FOSS projects have multiple people working on the project simultaneously. Developers may even be working on the same area of a project at the same time. A version control system is a system for controlling the revisions made to software. Version control software tracks and controls changes to a project's files. Most FOSS projects use some form of version control to control change in the software. Commonly used version control systems include Git, SVN, CVS, and Mercurial. The version control system provides both a method of communication as well as a way of coordinating changes in the software. There is a learning activity later on version control. Additional reading: [http://en.wikipedia.org/wiki/Revision_control Wikipedia page on revision control].<br />
<br />
'''Trackers''' - In most FOSS projects, there is a need to keep track of all of the bugs found as well as the new enhancements suggested. A bug tracker (AKA issue tracker) is used to track change requests for a project. These change requests could be bug fixes, new feature requests, patches from outside developers, and more. A bug tracker allows issues to be logged, described, prioritized, reproduced, diagnosed, fixed and tested. There is a learning activity later on bug trackers. Additional reading: [http://producingoss.com/en/bug-tracker.html Karl Fogel's section on Bug Trackers].<br />
<br />
=== Guided Tour: ===<br />
<br />
'''''The Sugar Labs Project (http://sugarlabs.org/)'''''<br />
<br />
Read the information found [http://sugarlabs.org/index.php?template=page&page=contributors here] to get an overview of the goals of the project and the expectations of contributors.<br />
<br />
<br />
'''Community --''' In the first paragraph, they indicate that the community is organized into teams. Follow [http://wiki.sugarlabs.org/go/Category:Team this link] to the teams page. You will note that there are a wide variety of teams, each with a distinct responsibility. Follow the 'Contacts' link (found in the green option bar) for each of the following teams and summarize the information you find there on your faculty wiki page. For example, are there any commonalities? Is there something distinct for each type of team?<br />
* Activity Team <br />
* Development Team<br />
* Documentation Team<br />
<br />
'''Tracker --''' The Sugar Labs bug tracker can be found [http://bugs.sugarlabs.org/query?status=new&status=assigned&status=accepted&status=reopened&component=Sugar&order=priority here]. On your wiki page indicate the types/categories of tickets listed on this page as well as the information available for each ticket.<br />
<br />
'''Repository --''' http://git.sugarlabs.org/sugar-base<br />
Can you determine from the information provided here whether the project uses a web-based common repository or a local repo? Place your answer on your wiki page.<br />
<br />
'''Release cycle --''' Information about Sugar's release cycle and roadmap can be found [http://wiki.sugarlabs.org/go/Development_Team/Release#Sugar_release_cycle here]. Include an entry on your wiki page that describes how the release cycle and roadmap update are related.<br />
<br />
'''Communication --''' Sugar Labs promotes communication among its community members in the following ways.<br />
* IRC: http://meeting.sugarlabs.org/ & http://chat.sugarlabs.org/ <br />
* Mailing lists: http://lists.sugarlabs.org/<br />
* Blog: http://planet.sugarlabs.org/<br />
* Wiki: http://wiki.sugarlabs.org/go/Welcome_to_the_Sugar_Labs_wiki<br />
<br />
<br />
'''''The Sahana Eden Project (http://eden.sahanafoundation.org/wiki)'''''<br />
<br />
Read the information found [http://eden.sahanafoundation.org/wiki here] to get an overview of the goals of the project and the types of contributions one can make.<br />
<br />
<br />
'''Community --''' In the section titled ''Want to Contribute to Sahana Eden?'', you will find a list of ways in which one can contribute. Again, you will note that there are a variety of distinct groups, each with a distinct responsibility. Follow the links to each of the groups listed below and summarize the information you find there on your faculty wiki page. For example, are there any commonalities? Is there something distinct for each type of contributor? How is this structure different than the one you found on the Sugar Labs website?<br />
* Developers <br />
* Testers<br />
* Designers<br />
<br />
'''Tracker --''' The Sahana Eden bug tracker can be found [http://eden.sahanafoundation.org/report here]. Place your answers to the following on your wiki page.<br />
* How is the information here different than the information found on the Sugar Labs tracker page?<br />
* Click the Active Tickets link. Indicate the types/categories of tickets listed on this page as well as the information available for each ticket.<br />
<br />
'''Repository --''' http://eden.sahanafoundation.org/wiki/InstallationGuidelines<br />
The installation guidelines begin [http://eden.sahanafoundation.org/wiki/InstallationGuidelines here] with the option to specify your operating system. For this exercise, choose '''Linux''', then '''Developer''', and finally '''Manually'''. At the bottom on the page click '''InstallationGuidelines/Developer/PostPython'''. Can you determine from the information provided here whether the project uses a web-based common repository or a local repo? Place your answer on your wiki page.<br />
<br />
'''Release cycle --''' Information about Sahana Eden's release cycle and roadmap can be found [http://eden.sahanafoundation.org/roadmap here]. Include an entry on your wiki page that describes the information you find here.<br />
<br />
'''Communication --''' Sahana Eden promotes communication among its community members in the following ways.<br />
* IRC: http://eden.sahanafoundation.org/wiki/Chat <br />
* Mailing lists: http://wiki.sahanafoundation.org/doku.php/community:mailing_lists#sahana-discuss (wider discussion list for issues relating to the wider Sahana ecosystem)<br />
* Google Groups: https://groups.google.com/forum/?fromgroups#!forum/sahana-eden<br />
<br />
<br />
=== Deliverables: ===<br />
None<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60 Minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || N/A<br />
|-<br />
|'''License''' || Licensed CC BY-SA<br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Introduction]]</div>Casey.ellishttp://foss2serve.org/index.php/OpenMRS.SetupOpenMRS.Setup2016-01-26T17:13:36Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || OpenMRS.Setup<br />
|-<br />
|'''Overview''' || Introduction to the OpenMRS project.<br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || Ability to<br />
* Describe the OpenMRS project.<br />
* List technologies utilized in OpenMRS.<br />
|}<br />
<br />
<br />
<br />
== Background ==<br />
<br />
OpenMRS is a Humanitarian Free Open Source Software (HFOSS) project. In this activity you will learn about the project and some of the technologies it uses.<br />
<br />
== Directions ==<br />
# Watch “Open Architecture and Standards for Information Systems in Health” on YouTube: https://www.youtube.com/watch?v=9bwQPS1dFvE.<br />
# Watch the Google Tech Talk on OpenMRS: https://www.youtube.com/watch?v=tou-Ei_AKAw.<br />
#* about 18 minutes into the video, the speakers discuss a number of technologies used in OpenMRS. Make a list of these technologies.<br />
# For each of the technologies, list the the main website, and provide a short description of what the technology does.<br />
<br />
=== Deliverables: ===<br />
In a one-to-two page write-up, answer the following questions.<br />
<br />
# In your own words (i.e. do not cut-and-paste from their website), describe the OpenMRS project.<br />
# What do you expect to learn from working on this project? What do you see as the largest challenge?<br />
# You likely had never heard of, much less used, the technologies listed in the Google Tech Talk video, and none of them (beyond Java) are in the required computer science curriculum. How do you see this effecting your ability to contribute to OpenMRS? How might you handle these gaps of knowledge?<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || How long should it take for the student to complete the activity?<br />
|-<br />
|'''Materials/Environment''' || Access to Internet / Web and web browser <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Ben Coleman <br />
|-<br />
|'''License''' || CC BY-SA FIXME check that this license is appropriate <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: OpenMRS]]<br />
[[Category: Learning Activity]]<br />
[[Category: Introduction]]</div>Casey.ellishttp://foss2serve.org/index.php/OpenMRS_Security_Assessment_4OpenMRS Security Assessment 42016-01-26T17:08:57Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || OpenMRS Security Assessment 4<br />
|-<br />
|'''Overview''' || Asset Identification in OpenMRS<br />
|- <br />
|'''Prerequisite Knowledge''' || Students must know the definition of asset in computer security and understand the breadth of resources that constitute assets. They also need to be familiar with the specific HIPAA rules that govern the kinds of identifiable and health information that must be protected (and therefor is an asset).<br />
|-<br />
|'''Learning Objectives''' ||<br />
# Students learn to search through a project for use of identifiers.<br />
# Students practice thinking broadly about assets, not just information assets.<br />
|}<br />
<br />
=== Background: ===<br />
OpenMRS is an open-source medical record management system. It is very popular in some parts of the world, but requires work to make it compatible with [http://www.hhs.gov/ocr/privacy/index.html Department of Health and Human Services regulations] authorized by the Health Insurance Portability and Accountability Act (HIPAA). This series of assignments aims to identify specific changes that are required to achieve HIPAA compliance to use OpenMRS in the context of a small medical practice or hospital. (Larger medical practices and hospitals typically have more complex situations and unique risks that require them to conduct their own assessment.)<br />
<br />
In this assignment, teams will install the parts of the OpenMRS project that are relevant to their individual assignments and document the process.<br />
<br />
=== Directions: ===<br />
<br />
This project is a large, team-based project with several parts.<br />
<br />
The assignment requires you to conduct a risk assessment of OpenMRS and post your assessment on the Security Assessment Wiki.<br />
<br />
You can get to your project Wiki pages from [[OpenMRS Security Assessment Wiki Template]]. The assignments are described in template pages, starting with [[OpenMRS Security Assessment Wiki Assessment Template A]] for 5/1. Click the "edit" option at the top of the template page, copy all of the text of the template and paste it into your team's Wiki page. Then, follow the directions in the template:<br />
<br />
# Describe the part of the OpenMRS Security Assessment that was assigned to your team.<br />
# Install whatever is needed so that you will be able to conduct the assessment. Notes of what you will need are provided on [[OpenMRS Security Assessment Wiki Template]]. You should also make liberal use of the instructor and the [https://talk.openmrs.org/c/implementing OpenMRS Talk Installation Help Chatboard].<br />
<br />
The template describes various ways to earn points for this assignment. You should earn at least 10 points during this phase.<br />
<br />
=== Deliverables: ===<br />
What will the student hand in?<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
Allocate time in lecture before this assignment to select the teams. The overall assessment is broken down into 9 parts, with one team assigned to each part. Ideally, you want 3&ndash;5 students per team, so this break down of the assessment is appropriate for classes of 15&ndash;45 students. For smaller classes, you should reduce the number of options you make available to the students. For larger classes, you should consider conducting a security assessment of some additional modules. You can consult with the OpenMRS community to find out what modules would be the most valuable to assess.<br />
<br />
Write up the assessment areas on the board, in a 3 by 3 grid. Leave room to add names with each project. Across the top:<br />
# Database: Explain that this assessment will focus on the MySQL database. Students who work on this part of the project will learn a great deal about database security. They will also learn how MySQL interacts with the operating system, because a great deal of database security vulnerabilities happen outside the database proper.<br />
# API layer: The API layer is a Java application that provides the core business logic of OpenMRS. As such, it is responsible to provide complete mediation to the data, and is critical for security. Teams working in this layer will learn about security in enterprise Java applications.<br />
# WebApp layer: The Webapp is a default implementation, providing a working user interface that uses the API layer to make a useful Patient Record Management System. Far from being a cheesy demo app, this is a robust user interface that is used by nearly all OpenMRS installations. Teams working in this layer will learn about security in Web applications.<br />
<br />
Along one side, add the focus areas for assessment.<br />
# Authentication and Access Control. This focuses on how the layer under investigation manages authentication and authorization. The students working on this aspect should examine the access control protecting each asset in their assigned layer. They should make sure that the access control mechanisms are adequate to provide protection of the assets, that they are consistently applied and that there is no way to access the assets (including reading, modifying, deleting, moving or renaming and obstructing access) without successful access control.<br />
# Audit. This focuses on how the layer under investigation manages auditing of access to the assets. Auditing is often neglected, but is critical in security generally and especially or HIPAA compliance. Advise students that auditing is weak to nonexistent in OpenMRS, so students selecting this aspect should expect to make recommendation on what kinds of auditing would be appropriate to add to the project. Audit systems make records of events that could end up being significant for security. In a typical audit system, these events relate to the state of the system (e.g. when it is started up or shut down), authentication events (who logs on and who logs off or is otherwise disconnected) and data modification events. In a HIPAA setting, the audit system also needs to record reading and transmitting PHI. A typical audit trail entry records the familiar who-what-when-where-why information about the event. <br />
# Confidentiality. Unlike the other two aspects (access control and audit), this steps back from the technology and mechanics of security to take a direct look at the human goal of HIPAA, protecting patient privacy. Students should look at the system from the point of view of making sure access to PHI is not just authorized, but is respectful of patient privacy. <br />
<br />
After discussing the format of the grid, invite students to come forward and sign up for which part of the project they want to work on. Work with the students to get teams of 3&ndash;5 students on each focus area. When I fielded this assignment, it really helped to have enough people, especially when struggling to get OpenMRS set up so they could do the assessment. On the other hand, it is fine if you do not have teams working on some of the focal areas.<br />
<br />
While students are working on the project, a large number of issues are likely to come up. OpenMRS is much more complicated than anything the students have installed before, and it will stretch even an experienced system administrator's skills. Encourage the students to plan plenty of time trying to get it set up, but also help them to relax. While it is best to have their own OpenMRS install for the assessment so they can run it in a debugger, etc, plenty of my teams had great success just looking over the source code or using the demo installation hosted on the OpenMRS web site.<br />
<br />
At the bottom of [[OpenMRS Security Assessment Wiki Assessment Template A]] contains a list of advice from students who have done this assignment in the past. Please consider adding any advice that your students produce, being mindful of FERPA considerations.<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 20 hours<br />
|-<br />
|'''Materials/Environment''' ||<br />
# The instructor needs to a template page for this specific assignment, [[OpenMRS Security Assessment Wiki Assessment Template A]]. <br />
# Students need access to a computer that runs Linux. Most students prefer to use a virtual machine on one of their laptop computers, but it may be necessary to provide a Linux server for students to use.<br />
# As of the present, the biggest challenge students face is getting a version of Java that works with OpenMRS (some people get it to work with Java 8, but most have to go back to Java 6).<br />
|-<br />
|'''Author''' || Steven P. Crain <br />
|-<br />
|'''Source''' || N/A<br />
|-<br />
|'''License''' || [[File:Creativecommons-by-nc-sa-40.png]] This activity is licensed under a [http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License].<br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License]<br />
<br />
[[File:Creativecommons-by-nc-sa-40.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: OpenMRS]]<br />
[[Category: Privacy_and_Security]]</div>Casey.ellishttp://foss2serve.org/index.php/OpenMRS_Security_Assessment_3OpenMRS Security Assessment 32016-01-26T17:05:38Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || OpenMRS Security Assessment 3<br />
|-<br />
|'''Overview''' || Students set up the OpenMRS infrastructure they will need for the assessment.<br />
|- <br />
|'''Prerequisite Knowledge''' || Students must have had a broad exposure to computer security, including Confidentiality-Integrity-Availability, Authentication-Authorization-Auditing, security design principles, database-specific security considerations and the risk assessment process. <br />
|-<br />
|'''Learning Objectives''' || <br />
# Students gain experience installing an HFOSS project.<br />
# Students develop trouble-shooting skills.<br />
# Students gain experience working with an HFOSS community to get help installing the project.<br />
|}<br />
<br />
=== Background: ===<br />
OpenMRS is an open-source medical record management system. It is very popular in some parts of the world, but requires work to make it compatible with [http://www.hhs.gov/ocr/privacy/index.html Department of Health and Human Services regulations] authorized by the Health Insurance Portability and Accountability Act (HIPAA). This series of assignments aims to identify specific changes that are required to achieve HIPAA compliance to use OpenMRS in the context of a small medical practice or hospital. (Larger medical practices and hospitals typically have more complex situations and unique risks that require them to conduct their own assessment.)<br />
<br />
In this assignment, teams will install the parts of the OpenMRS project that are relevant to their individual assignments and document the process.<br />
<br />
=== Directions: ===<br />
<br />
This project is a large, team-based project with several parts.<br />
<br />
The assignment requires you to conduct a risk assessment of OpenMRS and post your assessment on the Security Assessment Wiki.<br />
<br />
You can get to your project Wiki pages from [[OpenMRS Security Assessment Wiki Template]]. The assignments are described in template pages, starting with [[OpenMRS Security Assessment Wiki Assessment Template A]] for 5/1. Click the "edit" option at the top of the template page, copy all of the text of the template and paste it into your team's Wiki page. Then, follow the directions in the template:<br />
<br />
# Describe the part of the OpenMRS Security Assessment that was assigned to your team.<br />
# Install whatever is needed so that you will be able to conduct the assessment. Notes of what you will need are provided on [[OpenMRS Security Assessment Wiki Template]]. You should also make liberal use of the instructor and the [https://talk.openmrs.org/c/implementing OpenMRS Talk Installation Help Chatboard].<br />
<br />
The template describes various ways to earn points for this assignment. You should earn at least 10 points during this phase.<br />
<br />
=== Deliverables: ===<br />
Teams create a Wiki page and add a description of their project and discussion of the challenges they faced installing the OpenMRS project. <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
Allocate time in lecture before this assignment to select the teams. The overall assessment is broken down into 9 parts, with one team assigned to each part. Ideally, you want 3&ndash;5 students per team, so this break down of the assessment is appropriate for classes of 15&ndash;45 students. For smaller classes, you should reduce the number of options you make available to the students. For larger classes, you should consider conducting a security assessment of some additional modules. You can consult with the OpenMRS community to find out what modules would be the most valuable to assess.<br />
<br />
Write up the assessment areas on the board, in a 3 by 3 grid. Leave room to add names with each project. Across the top:<br />
# Database: Explain that this assessment will focus on the MySQL database. Students who work on this part of the project will learn a great deal about database security. They will also learn how MySQL interacts with the operating system, because a great deal of database security vulnerabilities happen outside the database proper.<br />
# API layer: The API layer is a Java application that provides the core business logic of OpenMRS. As such, it is responsible to provide complete mediation to the data, and is critical for security. Teams working in this layer will learn about security in enterprise Java applications.<br />
# WebApp layer: The Webapp is a default implementation, providing a working user interface that uses the API layer to make a useful Patient Record Management System. Far from being a cheesy demo app, this is a robust user interface that is used by nearly all OpenMRS installations. Teams working in this layer will learn about security in Web applications.<br />
<br />
Along one side, add the focus areas for assessment.<br />
# Authentication and Access Control. This focuses on how the layer under investigation manages authentication and authorization. The students working on this aspect should examine the access control protecting each asset in their assigned layer. They should make sure that the access control mechanisms are adequate to provide protection of the assets, that they are consistently applied and that there is no way to access the assets (including reading, modifying, deleting, moving or renaming and obstructing access) without successful access control.<br />
# Audit. This focuses on how the layer under investigation manages auditing of access to the assets. Auditing is often neglected, but is critical in security generally and especially or HIPAA compliance. Advise students that auditing is weak to nonexistent in OpenMRS, so students selecting this aspect should expect to make recommendation on what kinds of auditing would be appropriate to add to the project. Audit systems make records of events that could end up being significant for security. In a typical audit system, these events relate to the state of the system (e.g. when it is started up or shut down), authentication events (who logs on and who logs off or is otherwise disconnected) and data modification events. In a HIPAA setting, the audit system also needs to record reading and transmitting PHI. A typical audit trail entry records the familiar who-what-when-where-why information about the event. <br />
# Confidentiality. Unlike the other two aspects (access control and audit), this steps back from the technology and mechanics of security to take a direct look at the human goal of HIPAA, protecting patient privacy. Students should look at the system from the point of view of making sure access to PHI is not just authorized, but is respectful of patient privacy. <br />
<br />
After discussing the format of the grid, invite students to come forward and sign up for which part of the project they want to work on. Work with the students to get teams of 3&ndash;5 students on each focus area. When I fielded this assignment, it really helped to have enough people, especially when struggling to get OpenMRS set up so they could do the assessment. On the other hand, it is fine if you do not have teams working on some of the focal areas.<br />
<br />
While students are working on the project, a large number of issues are likely to come up. OpenMRS is much more complicated than anything the students have installed before, and it will stretch even an experienced system administrator's skills. Encourage the students to plan plenty of time trying to get it set up, but also help them to relax. While it is best to have their own OpenMRS install for the assessment so they can run it in a debugger, etc, plenty of my teams had great success just looking over the source code or using the demo installation hosted on the OpenMRS web site.<br />
<br />
At the bottom of [[OpenMRS Security Assessment Wiki Assessment Template A]] contains a list of advice from students who have done this assignment in the past. Please consider adding any advice that your students produce, being mindful of FERPA considerations.<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 10 hours<br />
|-<br />
|'''Materials/Environment''' || <br />
# The instructor needs to a template page for this specific assignment, [[OpenMRS Security Assessment Wiki Assessment Template A]]. <br />
# Students need access to a computer that runs Linux. Most students prefer to use a virtual machine on one of their laptop computers, but it may be necessary to provide a Linux server for students to use.<br />
# As of the present, the biggest challenge students face is getting a version of Java that works with OpenMRS (some people get it to work with Java 8, but most have to go back to Java 6).<br />
|-<br />
|'''Author''' || Steven P. Crain <br />
|-<br />
|'''Source''' || N/A<br />
|-<br />
|'''License''' || [[File:Creativecommons-by-nc-sa-40.png]] This activity is licensed under a [http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License].<br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License]<br />
<br />
[[File:Creativecommons-by-nc-sa-40.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: OpenMRS]]<br />
[[Category: Privacy_and_Security]]</div>Casey.ellishttp://foss2serve.org/index.php/OpenMRS_Security_Assessment_2OpenMRS Security Assessment 22016-01-26T17:00:39Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' ||OpenMRS Security Assessment 2<br />
|-<br />
|'''Overview''' || Students interview members of the OpenMRS community to gather information for the security assessment.<br />
|- <br />
|'''Prerequisite Knowledge''' || Students must have had a broad exposure to computer security, including Confidentiality-Integrity-Availability, Authentication-Authorization-Auditing, security design principles, database-specific security considerations and the risk assessment process. They also need an introductory knowledge of using Wikis and Internet Relay Chat (IRC) for Humanitarian Free and Open Source Software (HFOSS) project communication.<br />
|-<br />
|'''Learning Objectives''' || <br />
# Students gain familiarity with editing documents in a wiki, which is commonly used for HFOSS documentation.<br />
# Students become familiar with the range of information for security assessment that can be acquired through interviews.<br />
# Students learn to make interview questions valuable and meaningful.<br />
# Students learn to be aware of the social aspects of appropriate interviewing.<br />
# Students learn how OpenMRS uses Inernet Relay Chat (IRC) to communicate.<br />
# Students learn how to use IRC properly for HFOSS projects.<br />
# Students gain experience conducting interviews for security assessments.<br />
|}<br />
<br />
=== Background: ===<br />
OpenMRS is an open-source medical record management system. It is very popular in some parts of the world, but requires work to make it compatible with [http://www.hhs.gov/ocr/privacy/index.html Department of Health and Human Services regulations] authorized by the Health Insurance Portability and Accountability Act (HIPAA). This series of assignments aims to identify specific changes that are required to achieve HIPAA compliance to use OpenMRS in the context of a small medical practice or hospital. (Larger medical practices and hospitals typically have more complex situations and unique risks that require them to conduct their own assessment.)<br />
<br />
Before beginning this assignment, students should be familiar with the material in a computer security textbook on risk assessment. We used Stallings and Brown, ''Computer Security: Principles and Practice,'' 3rd ed., Prentice Hall, 2015, chapter 14.<br />
<br />
In this assignment, students use a Wiki to organize the questions they created in [[OpenMRS Security Assessment 1]], in preparation for interviewing members of the OpenMRS community in [[OpenMRS Security Assessment 3]]. Wikis are commonly used by Free and Open Source Software projects for their documentation, so this assignment provides valuable experience with this tool.<br />
<br />
The interviews themselves are conducted using Internet Relay Chat (IRC), a tool that enables open source developers all over the world communicate instantly, even if they have very low Internet bandwidth.<br />
<br />
<br />
=== Directions: ===<br />
<br />
In this assignment, you will be preparing for and conducting interviews. We will use the [[OpenMRS Security Assessment Wiki Interview Questions Template]] to organize and coordinate the interviews. This assignment must be completed in groups of 3&ndash;4 students.<br />
<br />
==== Part 1 Due Wednesday 4/22 ====<br />
<br />
Edit the [[OpenMRS Security Assessment Wiki Interview Questions Template]], adding the questions that you prepared in part 5 of Project 4. I provided a bunch of categories of questions, based on the kinds of questions that are normally asked in a risk assessment like this. Feel free to add additional categories if your question does not really fit well. If another team asked a similar question, you do not need to add it again.<br />
<br />
If another team has put a question in the wrong category, or if you think it could be worded better, please make the appropriate changes. This is a WIKI, after all.<br />
<br />
Participation in this section is worth 10 points.<br />
<br />
The instructor will review each of the proposed questions, and will approve questions that are respectful, appropriate and useful for this security assessment.<br />
<br />
==== Part 2 Due Friday 4/24 ====<br />
<br />
Sign up for at least 2 approved questions per team by editing the WIKI page. See the instructions in the Template section at the bottom of the WIKI. You are not allowed to steal a question that another team has already signed up for.<br />
<br />
Like most open source projects, OpenMRS uses IRC for much of the communication with developers and users. Read the OpenMRS IRC information. Work through the activity, Introduction to IRC: connect to the IRC server irc.freenode.net; chose an IRC handle that ends with "_psu"; join channel #OpenMRS; spend an hour lurking and watching the discussion that is happening in the IRC channel. During this time, it is important that your whole team is connected (either personally or as a group) and paying attention to the activity on IRC. Write a short document (one to three paragraphs, 20 pts) that discusses what was going on in the IRC channel during this time. Submit the paragraph for this assignment.<br />
<br />
==== Part 3 Due Tuesday 4/28 ====<br />
<br />
Connect again to the IRC channel #OpenMRS on Freenode. Lurk long enough to make sure that it seems appropriate to ask your interview questions. (Do not try to ask your questions while another team is asking questions or if something else important is being discussed.)<br />
<br />
Use a handle that ends with "_psu," mostly so you can coordinate with your classmates.<br />
Introduce yourself, saying that you are working on a class project at Plattsburgh State University.<br />
Ask one of your questions.<br />
Wait for a reply. If there is no reply, make note on the WIKI that there was no reply and try again about 3 hours later. If there is still no reply, record your second attempt on the WIKI and you have completed the assignment.<br />
If the reply raises other thoughts or questions, carry on a conversation with the other person or people on IRC that explores their answer in more detail.<br />
Record the conversation on the WIKI page.<br />
If the first question generated substantial discussion (at least 3 people replied or there were a total of 7 or more replies) or negative replies ("stop bugging us") you are done with the assignment. Otherwise, ask your second question, running through steps 4, 6 and 7.<br />
<br />
This part of the assignment is worth 30 points. Record your conversations on the [[OpenMRS Security Assessment Wiki Interview Questions Template]], under the appropriate questions.<br />
<br />
=== Deliverables: ===<br />
# Students propose questions on a common Wiki page.<br />
# Students submit a paragraph describing the activity they observed in the OpenMRS IRC channel over the course of an hour.<br />
# Students report the results of their interviews on the common Wiki page. <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
This assignment was not nearly as successful as I had hoped. I did not coordinate with the OpenMRS community before the assignment, and the IRC channels were too quiet when the students attempted this. The students found this very frustrating, as they were looking forward to talking to real OpenMRS developers! I recommend that you join a [https://wiki.openmrs.org/display/RES/Developers+Forum OpenMRS Developer's Forum] well before the assignment, and discuss how best to adjust this assignment for a positive experience.<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 10 Hours<br />
|-<br />
|'''Materials/Environment''' || <br />
# The instructor needs to create or otherwise provide access to a Wiki that the students can edit. Create a base page for this series of assignments, possibly based on the [[OpenMRS Security Assessment Wiki Template]], and then create a page for this specific assignment, [[OpenMRS Security Assessment Wiki Interview Questions Template]]. <br />
# Students need an IRC client, such as [http://chatzilla.hacksrus.com/ ChatZilla].<br />
|-<br />
|'''Author''' || Steven P. Crain <br />
|-<br />
|'''Source''' || N/A<br />
|-<br />
|'''License''' || [[File:Creativecommons-by-nc-sa-40.png]] This activity is licensed under a [http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License].<br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License]<br />
<br />
[[File:Creativecommons-by-nc-sa-40.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: OpenMRS]]<br />
[[Category: Privacy_and_Security]]</div>Casey.ellishttp://foss2serve.org/index.php/OpenMRS_Security_Assessment_1OpenMRS Security Assessment 12016-01-26T16:55:21Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || OpenMRS Security Assessment 1<br />
|-<br />
|'''Overview''' || Help students gather information from the OpenMRS community in preparation for a security assessment.<br />
|- <br />
|'''Prerequisite Knowledge''' || Students must have had a broad exposure to computer security, including Confidentiality-Integrity-Availability, Authentication-Authorization-Auditing, security design principles, database-specific security considerations and the risk assessment process. <br />
|-<br />
|'''Learning Objectives''' || <br />
# Students gain familiarity with how the HFOSS communicates.<br />
# Students learn to search for information that is relevant to a security assessment.<br />
|}<br />
<br />
<br />
=== Background: ===<br />
OpenMRS is an open-source medical record management system. It is very popular in some parts of the world, but requires work to make it compatible with [http://www.hhs.gov/ocr/privacy/index.html Department of Health and Human Services regulations] authorized by the Health Insurance Portability and Accountability Act (HIPAA). This series of assignments aims to identify specific changes that are required to achieve HIPAA compliance to use OpenMRS in the context of a small medical practice or hospital. (Larger medical practices and hospitals typically have more complex situations and unique risks that require them to conduct their own assessment.)<br />
<br />
Before beginning this assignment, students should be familiar with the material in a computer security textbook on risk assessment. We used Stallings and Brown, ''Computer Security: Principles and Practice,'' 3rd ed., Prentice Hall, 2015, chapter 14.<br />
<br />
This assignment deals with the first stage of a security assessment, where we identify what the scope of the assessment will be, identify important stakeholders, identify key assets and review existing documentation.<br />
<br />
=== Directions: ===<br />
<br />
This assignment is the first in a series of risk assessment assignments for OpenMRS. You will be analyzing the documentation of this open source project in order to prepare for the following assignments. You are encouraged to complete this assignment with a partner. Teams of of 1&ndash;3 students are acceptable.<br />
<br />
For this assignment, you will be creating a well-written (10 pts) risk assessment document. The directions below direct you to explore a number of different questions. You are expected to directly address each of these questions in your document, with references to specific pages and resources at [http://www.openmrs.org OpenMRS]. Remember to include the names of all group members in the document.<br />
<br />
==== Risk Exposure (10 pts) ====<br />
Using the [http://www.openmrs.org OpenMRS website] determine what kinds of organizations use the OpenMRS product. How likely are these kinds of organizations to be specifically targeted? If the product were used more extensively in the United States, how would that change the risk exposure?<br />
<br />
==== Risk Appetite (10 pts) ====<br />
Listen to the discussion on security in the [https://wiki.openmrs.org/display/RES/2014-12-04+Developers+Forum Dec. 4, 2014 Developers' Talk]. (This link works fine on Windows computers, but did not work on a Linux computer, so you may need to hunt for a machine where you can watch it. I did not find that the screencast version added much over the audio-only version.) Pay special attention to the questions and answers portion that starts at about 35 minutes into the recording. What is the typical attitude that users of OpenMRS have towards security risk?<br />
<br />
==== Risk Assessment Boundary (20 pts) ====<br />
We will be limiting our risk assessment to the OpenMRS database (database layer), API (service layer) and reference Webapp. Read the [https://wiki.openmrs.org/display/docs/Introduction+to+OpenMRS introductory documentation] and describe this risk assessment boundary in more detail in your document. You should use at least 4 paragraphs for this section of your document, an initial paragraph that describes the boundary at a relatively high level and then a paragraph for each of the main components in the boundary (database, API and Webapp). Optionally, you may include an extra module in your boundary for extra credit. <br />
<br />
==== Assets (20 pts) ====<br />
Based on the Developers' Talk and searches in the OpenMRS documentation, identify the important assets of an OpenMRS installation. Remember to include anything that is critical for the operations of an organization using OpenMRS and also anything that would be useful to an attacker. The [https://wiki.openmrs.org/display/docs/Implementer+Documentation Implementer Guide] is fairly dense, but contains significant information about assets.<br />
<br />
Remember to include hardware assets, data assets, functionality assets, communication assets and human assets, unless any of these categories is insignificant for OpenMRS users.<br />
<br />
For each asset, identify how detrimental it would be to the organization if it were compromised or made unusable. <br />
<br />
==== Existing Controls (20 pts) ====<br />
Search the OpenMRS documentation for information about the existing security controls and plans for enhancement. In your document, state how you searched for this information and summarize what you found out.<br />
<br />
Make a list of questions that you would like answered, based on the Developer's Talk you listened to and the other documentation you have read. The questions can be related to who uses the product, reported threats, architecture, existing controls, or anything else you might need to complete the security risk assessment in later assignments. You should have at least 3 questions. <br />
<br />
==== Executive Summary (10 pts) ====<br />
Add an executive summary at the start of the document. It should provide the main findings of your risk assessment so far in non-technical language. Executive summaries are a critical part of any business document, because the top executives of a company want to get the important facts quickly without reading a long report.<br />
<br />
==== Collaboration ====<br />
You may work in groups of 1 to 3 students, but 2 students is recommended. I recommend that you divide the work. For this assignment, you may talk to other students for help accessing the resources needed to complete the assignment, but you should not discuss the details of your assessment.<br />
<br />
<br />
=== Deliverables: ===<br />
3–5 page paper establishing the context, assets and existing security controls for OpenMRS based on a review of the documentatio<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 10 Hours<br />
|-<br />
|'''Materials/Environment''' || <br />
# [http://www.openmrs.org OpenMRS Website]<br />
# [https://wiki.openmrs.org/display/docs/Introduction+to+OpenMRS Introduction to OpenMRS]<br />
# [https://wiki.openmrs.org/display/docs/Implementer+Documentation Implementer Guide]<br />
# [https://wiki.openmrs.org/display/RES/2014-12-04+Developers+Forum OpenMRS Developers' Forum talk about web application security]<br />
|-<br />
|'''Author''' || Steven P. Crain <br />
|-<br />
|'''Source''' || N/A<br />
|-<br />
|'''License''' ||[[File:Creativecommons-by-nc-sa-40.png]] This activity is licensed under a [http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License].<br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License]<br />
<br />
[[File:Creativecommons-by-nc-sa-40.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: OpenMRS]]<br />
[[Category: Privacy_and_Security]]</div>Casey.ellishttp://foss2serve.org/index.php/OpenMRS_Design_Reverse_Engineering_Activity_(Android_App)OpenMRS Design Reverse Engineering Activity (Android App)2016-01-26T16:48:59Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || OpenMRS Design Reverse Engineering Activity (Android App)<br />
|-<br />
|'''Overview''' || Expose student to the OpenMRS Android client and have them reverse engineer the design of the module.<br />
|- <br />
|'''Prerequisite Knowledge''' || Java, Android, UML, dynamic and static modeling <br />
|-<br />
|'''Learning Objectives''' || <br />
# Evaluate an existing project and analyze its current documentation<br />
# Read and understand professionally written code<br />
# Appreciate the importance of code documentation and project documentation<br />
# Develop software architecture and design documentation for an existing project<br />
# Recognize coding conventions and design patterns<br />
|}<br />
<br />
<br />
=== Background: ===<br />
[http://www,openmrs.org OpenMRS] is an application which enables design of a customized medical records system with no programming knowledge. It is a common framework upon which medical informatics efforts in developing countries can be built. For more technical information, see: https://wiki.openmrs.org/display/docs/Technical+Overview<br />
OpenMRS is also a community of people working to apply health information technologies to solve problems, primarily in resource-poor environments. They are a proud community of developers, implementers, funders, and users all trying to make the world a better place by using our expertise to improve the health and wellness of the planet.<br />
The [https://wiki.openmrs.org/display/projects/OpenMRS+2.x+Android+Client OpenMRS Android Client] provides mobile functionality that includes registering patients, taking visit notes, capturing vitals, etc. The also supports working off-line (without network connection) with a chosen subset of patients. <br />
In this assignment, you will familiarize yourself with the implementation of the Android app by reviewing and documenting the software architecture and class design. <br />
=== Directions: ===<br />
====IDE installation====<br />
# Go to: http://developer.android.com/index.html<br />
## At the bottom of the page choose the Get the SDK link.<br />
## Click the Download the SDK ADT Bundle for Windows link.<br />
# Extract the files from the .zip file downloaded in step #1.<br />
# Go to: http://developer.android.com/sdk/installing/adding-packages.html. On the second part of #1, use API 19 instead of the most recent API available.<br />
<br />
The download and install take some time…be patient!!<br />
Once the download is complete, you can close the SDK Manager.<br />
<br />
====Installing OpenMRS Android project====<br />
# Download the OpenMRS Android client as an Eclipse project<br />
# Import the project into Eclipse: File -> Import... -> Android -> Existing Android Code into Workspace -> then browse to the directory containing the Eclipse project that you downloaded<br />
# The DashboardActivity project depends on the appcompat, gridlayout, and odk.collect projects. If Eclipse shows an error message in the DashboardActivity, about these other projects, add them to the Java Build Path of the DashboardActivity project.<br />
<br />
====Running the OpenMRS Android app:====<br />
# Create an AVD using Android 4.4.2 (API level 19). You can follow the directions from http://developer.android.com/tools/devices/managing-avds.html to create an AVD. When creating it, be sure that you give it an SD card of at least 128MB.<br />
# Launch the DashboardActivity project in your AVD. It may take a while for the AVD to start, so be patient!<br />
# When the OpenMRS app starts, enter http://devtest02.openmrs.org:8080/openmrs as the URL.<br />
# Log in using username "admin" and password "Admin123".<br />
==== Early Code Investigation ====<br />
At this stage of the project I expect you to get an early sense of what the project is about. You should create a report that describes the following:<br />
*Total number of files, packages and package hierarchy<br />
*Coding convention and available documentation<br />
*Which classes are part of the Model component? the View? the Controller?<br />
Grading Rubric :<br />
*Project structure is represented concisely and correctly using a diagrammatic representation<br />
*Coding conventions and documentation are correctly identified <br />
<br />
<br />
=== Deliverables: ===<br />
====Detailed Design====<br />
Produce a report that documents the Detailed Design of the software. Your target audience includes junior programmers who would like to contribute to the project and experienced developers who are only somewhat familiar with your project. A junior programmer should be able to correctly implement any package or module given your Detailed Design.<br />
<br />
====Report====<br />
'''Introduction and Overview'''<br />
<br />
About 1 to 3 pages summarizing the purpose of report, its organization, and its salient conclusions. A person should be able to read just the abstract or just the introduction and have a good idea what is in the rest of your report.<br />
<br />
'''Detailed Design'''<br />
<br />
You are to give, for each module, a clear specification for the module, such that a junior programmer can implement that module. The Detailed Design will include a clear description of the behavior of the module and its externally visible interface. <br />
<br />
A complete description of the static and dynamic modeling of the system including class diagrams and the sequence for main scenarios.<br />
<br />
'''Grading Rubric'''<br />
<br />
*Summarizing the purpose of report, its organization, and its salient conclusions <br />
*Class diagram:<br />
**Includes all signification classes. <br />
**Class attributes are represented correctly<br />
**Relationships between classes are modeled correctly.<br />
**Methods are added appropriately. <br />
**Diagrams are easy to follow and understand<br />
*Sequence diagrams (at least 5 use cases)<br />
**SD realizes the usecase completely and correctly<br />
**SD includes all collaborating objects. <br />
**Correct notation is used<br />
**Diagrams are clear and easy to follow<br />
====Architecture Design====<br />
<br />
Present the overall structure of the project you have adopted, with descriptions of each major component and of the interactions among them. These components are to be primarily Java packages. In your descriptions, concentrate on high level functional rather than on lower level concepts such as classes, variables and control flow. Your system's architecture should be easy to understand, with simple interfaces, and modest interactions among packages.<br />
<br />
'''Architectural Style'''<br />
<br />
Clarify the architectural design used in the project<br />
<br />
'''Diagrams'''<br />
<br />
Create a complete UML Package diagram depicting the software architecture<br />
<br />
'''Grading Rubric'''<br />
* Model is correct and complete, including all components and interaction. <br />
* Using correct UML package diagram notation<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 12 Hours<br />
|-<br />
|'''Materials/Environment''' || Access to Internet, installed Eclipse with correct version <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Darci Burdge, Steven P. Crain, Ruby ElKharboutly, Barrett Koster, Shamsi Moussavi, Chris Murphy <br />
|-<br />
|'''License''' || [[File:Creativecommons-by-nc-sa-40.png]] This activity is licensed under a [http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License].<br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: OpenMRS]]<br />
[[Category: Specification_and_Design]]</div>Casey.ellishttp://foss2serve.org/index.php/Installing_a_Virtual_MachineInstalling a Virtual Machine2016-01-26T16:41:03Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Installing Linux on a Virtual Machine <br />
|-<br />
|'''Overview''' || A virtual machine (VM) is a software-based emulation of a computer’s operating system. <br />
One important use of a VM is to run another operating system that is not native on your hardware. <br />
In this lab we will create a virtual machine that can run the Fedora Linux Operating System. <br />
Fedora is a Linux open source operating system that is sponsored by Red Hat. <br />
|-<br />
|'''Author''' || Suzanne Mello-Stark, Alex Mezei<br />
|-<br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || <br />
<br />
• Be able to install an operating system into a virtual machine<br />
• Understand the benefits of using a virtual machine<br />
• Understand the limitations of a virtual machine<br />
<br />
|}<br />
<br />
=== Background: ===<br />
<br />
To run a project in a Virtual Machine, you need to be able to install it. <br />
We will install Fedora 20 so we can later install Gnome Music.<br />
<br />
=== Directions: ===<br />
<br />
1) Create a lab1 folder on your desktop to store all your lab 1 files. You will be asked to take screenshots along the way to show you are completing the lab correctly.<br />
2) For this lab we will be using the VirtualBox virtual machine. To begin your installation process, go to www.virtualbox.org/wiki/Downloads. Here you will find all the links to the VirtualBox binaries. You will also find a user manual on this page that you should download for future use or if you run into any trouble. The term host OS refers to the operating system running in your VM. The term native OS refers to the operating system running on your computer’s hardware. Click on the VirtualBox platform package link for your native operating system and begin the download process. Since it is a large file, it may take a couple of hours (depending on your Internet speed) to complete the download. Once you have the VM downloaded, open the file and follow the instructions to install it. <br />
• For Mac OS X hosts, double-click on the file and follow instructions. You will need your computer’s password. This will create a VirtualBox icon in your Applications folder.<br />
• For Window hosts, double-click on the file and follow instructions. A VirtualBox group will be created on the Start menu.<br />
Take a screenshot of the Virtual Box Icon on your computer (10 points)<br />
<br />
3) Now that we have the VM installed, we will need to get the Fedora OS so you can add it as a host OS in the VM. First you need to visit http://fedoraproject.org/get-fedora#desktops and download the ISO Image of the 64-bit version of the Fedora 20 Desktop Edition. An ISO file is an image of a disk. You can burn an ISO image to a DVD and boot it natively, or in this case we will be creating a host OS on our VM with it. Again, this file will take a while to download so be patient. Once you have the ISO, move the ISO to your lab1 folder on your desktop. Take a screenshot of the ISO in your lab1 folder (10 points)<br />
<br />
4) Open your VM application if it is not already open. On the top of the window, click the “New” button. This will open a virtual machine wizard for creating a new virtual machine. Once you complete steps 5-12, they do not need to be completed again. Your Fedora OS will be available for you to power on anytime you need it. <br />
<br />
5) Here is the information you need to answer all the questions from the wizard.<br />
<br />
• Name of Virtual Machine: Fedora20<br />
• Type: Linux<br />
• Version: Fedora (64-bit)<br />
Hit Continue and enter:<br />
• Memory Size: 2048<br />
Hit Continue:<br />
<br />
6) You will be asked if you wish to create a virtual hard drive. Choose “Create a virtual hard drive now” and hit Create.<br />
<br />
• Hard Drive File Type: VDI (VirtualBox Disk Image)<br />
Hit Continue and then enter:<br />
• Storage: Fixed Size<br />
• File Location and Size: Fedoro20 30.00 GB<br />
<br />
You will now have to click create and wait a few minutes for the virtual hard drive to be created. Once it is complete, take a screen shot of VirtualBox Manager (10 points). Take the time to look at what you see.<br />
<br />
7) It is now time to launch the newly-created VM. You can see that your Fedora20 is still powered off. From the VirtualBox Manager, click “Start”. <br />
<br />
8) You will be asked to select the start-up disk. Here is where you provide the Fedora disk image information. You stored the ISO in your lab 1 folder. Browse to the lab 1 folder by using the little folder symbol and select your ISO and wait. You will see a black terminal window with Fedora writing across the middle. There will be various text that flies by. Wait a few minutes until you get a window that says Welcome to Fedora. Take a screenshot of the Welcome Window (10 points).<br />
<br />
<br />
9) After the VM is booted and you see the Welcome window, click on “Install to Hard Drive”. <br />
10) You will be asked a series of questions about your installation. Here are the answers to your questions:<br />
• Language: English (United States) hit continue<br />
• Under System – Click the Installation Destination Automatic Partitioning Selected Warning. Be sure that your 30 GB disk is there and checked. Then Click done in the right top corner. (You may have to close some warnings about the mouse and keyboard to see the done button.)<br />
• Accept the Installation options as is and hit continue.<br />
<br />
11) Click the “Begin Installation” button in the right hand bottom corner.<br />
12) Almost done! Now it is time to create a root password and a user. It is important that you remember this information. Write it down immediately somewhere. When you are ready, click the Done button in the left top corner. You should see a message that says “Performing post-installation setup tasks”. Once you get a successful message, you will be able to explore the interface. Take a screenshot of the Fedora Desktop (10 points). If you have time left, start exploring the graphical user interface and the tools that are available to you. Take note that all the tools are open source and free. <br />
<br />
13) The lab is now complete. Create a file in your favorite editor. Add all your screenshots and then answer the following questions in your file:<br />
• What is a virtual machine? (10 points)<br />
• Name three benefits of using a virtual machine. (10 points)<br />
• Name three disadvantages of using a virtual machine. (10 points)<br />
• What is an ISO file? (10 points)<br />
• What is your root password and your user login information? (10 points)<br />
14) Review the below rubric and make sure you have included everything. Once you are satisfied that your lab is complete, create a pdf file and name it Lab1_yourlastnamefirstinitial.pdf. Upload to your course management system.<br />
<br />
<br />
=== Deliverables: ===<br />
<br />
Lab 1 Rubric (100 points)<br />
Screenshots (50 points)<br />
• Virtual Box Icon (10 points)<br />
• ISO (10 points)<br />
• VirtualBox Manager (10 points)<br />
• Welcome Window (10 points)<br />
• Fedora Desktop Window (10 points)<br />
Lab Questions (50 points)<br />
• What is a virtual machine? (5 points)<br />
• Name three benefits of using a virtual machine. (10 points)<br />
• Name two disadvantages of using a virtual machine. (10 points)<br />
• What is an ISO file? (10 points)<br />
• What is your root password and your user login information? (10 points)<br />
• Grammar, Spelling and Neatness (5 points) – named file correctly and uploaded properly on time.<br />
<br />
<br />
=== Assessment: ===<br />
Verify the above rubric<br />
<br />
<br />
=== Comments: ===<br />
<br />
Disclaimer. The tools used in this assessment are to be used responsibly. lawfully and ethically.<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''Knowledge Area/Knowledge Unit''' || Virtual Machine<br />
|-<br />
|'''Topic''' || Cloning Gnome Music<br />
|-<br />
|'''Level of Difficulty''' || Medium<br />
|-<br />
|'''Estimated Time to Completion''' || 2 hours - Lots of waiting....<br />
|-<br />
|'''Materials/Environment''' || Access to a web browser/Internet. <br />
|-<br />
|'''Author''' || Suzanne Mello-Stark, Alex Mezei <br />
|-<br />
|'''Source''' || This is an original activity with a little help from the installing virtual box website.<br />
|-<br />
|'''License''' || Licensed CC BY-SA<br />
|}<br />
<br />
<br />
=== Suggestions for the Open Source Project: ===<br />
<br />
This activity can be used to install the VM to be used with Gnome Music.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Use_and_Evaluate]]</div>Casey.ellishttp://foss2serve.org/index.php/FOSS_Politics_Writing_ActivityFOSS Politics Writing Activity2016-01-26T16:40:38Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || FOSS Politics Writing Activity<br />
|-<br />
|'''Overview''' || This activity helps student investigate politics within the open-source community. <br />
|- <br />
|'''Prerequisite Knowledge''' || Basic knowledge of definition of Open Source<br />
|-<br />
|'''Learning Objectives''' || Close reading of articles. Identifying concepts and relationships. Writing communication.<br />
|}<br />
<br />
=== Background: ===<br />
Every community has politics. Understanding those politics is important work effectively within a community. This activity helps student investigate politics within the open-source community.<br />
<br />
This is a general activity that could be appropriate for a variety of classes.<br />
* Openness courses<br />
* Any course where you want students to understand how FOSS communities communicate/work-flow<br />
* Research methods course (information literacy)<br />
* Less programming course, like CS0<br />
* Writing component in a technical course<br />
* Ethics course<br />
<br />
=== Directions: ===<br />
<br />
Read articles that discuss the organizational and institutional view of FOSS, focusing on how communications in FOSS projects are organized and structured, and how FOSS projects have inherent politics. The outcomes of this activty is the production of a summary (extended abstract) address the research methods used to study these situations - this could be modified to address more pertinent aspects about the FOSS community.<br />
<br />
Articles that have been used in the past, include:<br />
* Ebert, Christof , "Open Source Drives Innovation Software", IEEE 2007 (Volume:24, Issue: 3)<br />
* Morelli,Ralph. "A global collaboration to deploy help to China" Communications of the ACM CACM,Volume 53 Issue 12, December 2010 <br />
* Zilouchian Moghaddam, Roshanak and Twidale, Michael and Bongen, Kora. Zilouchian Moghaddam, Roshanak and Twidale, Michael and Bongen, Kora. "Open Source Interface Politics: Identity, Acceptance, Trust, and Lobbying". 2011 CHI '11 Extended Abstracts on Human Factors in Computing <br />
<br />
=== Deliverables: ===<br />
Written abstract or essay <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
Typical rubrics relating to writing, completeness of argument, and process of understanding structure. You may choose to focus on identifying research methods correctly (e.g., other steps they took to dig into the material).<br />
<br />
Depending on your class, there may be some concerns:<br />
* How do you fit it into your curriculum that already has a lot of requirements?<br />
* How long does it take to grade them (peer review?)<br />
* Build up to larger assignment with smaller assignments.<br />
* Matching level of articles to level of students.<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 2 weeks <br />
|-<br />
|'''Materials/Environment''' || Current events articles or papers <br />
|-<br />
|'''Author''' || [[User:Rduvall|Robert Duvall]], [[User:Stoney.jackson|Stoney Jackson]], [[User:Jklukowska|Joanna Klukowska]], [[User:Emirielli|Edward Mirielli]]<br />
|-<br />
|'''Source''' || [[POSSE_2014-11|POSSE 2014-11]]<br />
|-<br />
|'''License''' || Creative Commons Attribution-ShareAlike 4.0 International License<br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]</div>Casey.ellishttp://foss2serve.org/index.php/FOSS_in_Courses_1_(Instructors)FOSS in Courses 1 (Instructors)2016-01-26T16:40:30Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || FOSS In Courses<br />
|-<br />
|'''Overview''' || Learners will gain an understanding of the variety of different ways that FOSS can be incorporated into a variety of courses as well as explore different ways to include FOSS into a course of their choosing. <br />
|- <br />
|'''Prerequisite Knowledge''' || An understanding of the course in which students will be involved in a FOSS project.<br />
|-<br />
|'''Learning Objectives''' || Ability to: 1) List a variety of activities and different ways to contribute to FOSS projects beyond code, 2) Identify activities within a FOSS project you are interested in including in a course, and 3) Identify activities or topics within your course where you think FOSS could fit.<br />
|}<br />
<br />
=== Background: ===<br />
When many people think about including FOSS in a class, they are typically thinking of one of two things:<br />
# Finding an artifact from the FOSS project such as a code segment that provides the base for study within the classroom (e.g., code review), or <br />
# Making a code contribution to the project by fixing a bug or making an enhancement.<br />
However, there are myriad different activities based on FOSS as well as ways of contributing to FOSS projects that go beyond coding. The purpose of this activity is to explore some of the other ways to introduce students to and/or involve students in FOSS projects.<br />
<br />
Note that the goal of this activity is to get a general idea of appropriate activities and things that you could do in class. It is not expected that you have a complete set of assignments or possibly even one complete assignment by the end of this activity. But by the end you should have an idea of some possibilities of where you could use activities with your course(s). <br />
<br />
=== Directions ===<br />
# Let's start by observing some of the different activities and ways to contribute. <br />
## Read Andy Lester's [http://blog.smartbear.com/programming/14-ways-to-contribute-to-open-source-without-being-a-programming-genius-or-a-rock-star/ 14 Ways to Contribute to Open Source without Being a Programming Genius or a Rock Star]. Andy does a great job of identifying and ameliorating roadblocks for newbies. <br />
## Read Craig Buchek's [http://icontribute.wordpress.com/how-to-contribute-to-open-source-without-coding/ great list of ways to contribute other than code]. <br />
## Read through the list of activities on the [[50_Ways | 50 Ways to be a FOSSer]] page. <br />
# Rather than reinvent the wheel, lets explore some of the existing materials based on student involvement in FOSS.Read through the following collection of resources.<br />
## There is a set of [[ Learning_Activities | learning activities]], most of which are introductory assignments, on this wiki. This learning activity itself is part of that set of learning activities. You'll find it under the "education" sub-category. <br />
## TeachingOpenSource has a [http://teachingopensource.org/index.php/Teaching_Materials_Catalogue Teaching Materials Catalog] that contains examples of courses and a few individual assignments.<br />
<!--## There is an [http://www.xcitegroup.org/softhum/doku.php?id=f:wnecsefa10 case study] of a software engineering course where students make contributions to HFOSS projects. The course used a series of [http://www.xcitegroup.org/softhum/doku.php?id=f:templates document templates and rubrics]. --><br />
## Steve Jacobs at RIT has a [http://teachingopensource.org/index.php/RIT/The_Course Open Source Course].<br />
## Seneca College has a [http://zenit.senecac.on.ca/wiki/index.php/Main_Page Center for Open Source Technology] that has links to courses that utilize FOSS.<br />
## Rensselaer Polytechnic Institute also has a [http://rcos.rpi.edu Center for Open Source Software].<br />
# Lets turn our attention to your HFOSS project of interest:<br />
## Identify activities or topics that you are interested in within your HFOSS project of interest. This can be a rough list and can serve as the basis for identifying possible class activities/topics.<br />
# Let's turn our attention to your own course. <br />
## Now that you have an idea of the possible types of activities or topics, identify one or two that you think would fit in your class. These do not need to be polished. This can be a rough list of ideas. <br />
## In your reading, did you find existing materials? If so, describe how would you modify them to fit your class? <br />
## If you did not find existing materials, summarize the activity in a sentence or two. <br />
## Post the activity to your wiki page. Note that you may end up identifying more activities than you can use in a single class. Think big!<br />
<br />
=== Deliverables: === <br />
Wiki posting describing the course and identifying one or two possible activities that students can complete as part of the course. <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60-90 minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser.<br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || <br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: Education]]</div>Casey.ellishttp://foss2serve.org/index.php/FOSS_in_Courses_2_(Instructors)FOSS in Courses 2 (Instructors)2016-01-26T16:40:14Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || FOSS in Courses 2<br />
|-<br />
|'''Overview''' || Learner will identify 1-3 HFOSS topics and/or learning ideas for a course.<br />
|- <br />
|'''Prerequisite Knowledge''' || Completion of [[FOSS_In_Courses_Activity|FOSS in Courses 1]]<br />
|-<br />
|'''Learning Objectives''' || Able to identify 1-3 HFOSS topics and/or learning ideas for a course.<br />
|}<br />
<br />
<br />
=== Background: ===<br />
This activity is an extension of the FOSS in Courses Planning 1 activity. The goal of this activity is to have a 1-3 topics and/or learning ideas to bring for discussion to the workshop and receive feedback on. We do not expect that these activities/ideas will be completely fleshed out, but to provide an initial starting point to think about.<br />
<br />
=== Directions ===<br />
# Recalling your list of activities/topics from the "FOSS in Courses Planning 1" activity, identify the ways that these FOSS activities/topics can be structured. Possibilities include:<br />
#* Lectures<br />
#* In-class activity<br />
#* Homework<br />
#* Stream of related activities<br />
#* Project<br />
# List the revised activities on your wiki page. For each activity/topic:<br />
## Identify some possible learning outcomes that should be fulfilled with the activities/task.<br />
## Describe any pre-requisite knowledge needed to complete the activity. This does not need to be a complete list. <br />
## Estimate the time required for instructor prep, for student completion and elapsed calendar time. Are you going to have to synchronize your activity with the community or can the activity/topic be covered independent of the HFOSS community schedule. <br />
## Think about possible input required from the HFOSS community. How much input is required and what kind?<br />
## If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.<br />
## Describe the assessment/grading approach - What will the basis for grading be? Will this be a team activity or individual? Is there a role for the HFOSS community in helping assess student work? For instance, must the work be committed or otherwise accepted by the community? <br />
## List any questions or concerns that you have about the activity/task. <br />
## List any stumbling blocks or barriers to carrying out the activity/task.<br />
<br />
=== Deliverables: ===<br />
A list of 1-3 HFOSS topics and/or learning ideas for a course. <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60-90 minutes <br />
|-<br />
|'''Materials/Environment''' ||Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || None<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
[[Category: Learning_Activity]]<br />
[[Category: Education]]</div>Casey.ellishttp://foss2serve.org/index.php/FOSS_Field_Trip_(Activity)FOSS Field Trip (Activity)2016-01-26T16:40:00Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || FOSS Field Trip Activity - Browsing a Forge<br />
|-<br />
|'''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. <br />
|- <br />
|'''Prerequisite Knowledge''' || None. <br />
|-<br />
|'''Learning Objectives''' || Ability 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<br />
|}<br />
<br />
=== Background: ===<br />
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). <br />
<br />
=== Directions: ===<br />
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.<br />
==== Part 1 - SourceForge ====<br />
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. <br />
<br />
Do the following:<br />
# Go to: http://sourceforge.net/<br />
# 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.).<br />
# How many projects are there in this category?<br />
# How many different programming languages are used to write software in this category?<br />
# List the top four programming languages used to write programs in this category.<br />
# Identify the meaning of each of the statuses below: <br />
## Inactive<br />
## Mature<br />
## Production/Stable<br />
## Beta<br />
## Alpha<br />
## Pre-Alpha<br />
## Planning<br />
# Compare two projects in this category that have two different statuses. Describe the differences between the statuses. <br />
# Which projects are the most used? How do you know?<br />
# Pick a project in your category. Answer the questions below:<br />
## What does it do?<br />
## What programming language is the project written in?<br />
## Who is likely to use the project? How do you know this?<br />
## When was the most recent change made to the project?<br />
## How active is the project? How can you tell?<br />
## How many committers does the project have?<br />
## Would you use the project? Why or why not?<br />
<br />
==== Part 2 - OpenHub ====<br />
In this activity, you will use OpenHub to gather information about a Humanitarian Free and Open Source project named OpenMRS. <br />
<br />
'''Explore OpenMRS:'''<br />
# Go to: https://www.openhub.net/<br />
# In the upper-most search space, enter: OpenMRS<br />
# Click on the OpenMRS logo or link. <br />
# What is the main programming language used in OpenMRS?<br />
# How many lines of code does OpenMRS have? <br />
# Click on "User & Contributor Locations" (lower right side of screen). List some of the locations of the developers.<br />
# Go back to the main OpenMRS page. Click on the "Languages" link. How many languages is OpenMRS written in? <br />
# What language has the second highest number of lines of code?<br />
# Of the programming languages used in OpenMRS , which language the has the highest comment ratio?<br />
# Click on the “Contributors” link under "SCM Data" menu. <br />
# What is the average number of contributors in the last 12 months?<br />
# Scroll down to the Top Contributors section. How long have the top three contributors been involved in the project?<br />
# 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?. <br />
<br />
* If you would like to see a project that has had recent student activity, repeat the above with "MouseTrap".<br />
<br />
=== Deliverables: ===<br />
Wiki posting describing your explorations of forges and OpenHub <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 30-60 minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || [http://www.xcitegroup.org/softhum/doku.php?id=f:assignment_ossfieldtrip1detail Detailed FOSS Field Trip]<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Introduction]]</div>Casey.ellishttp://foss2serve.org/index.php/Fedora_Install_ActivityFedora Install Activity2016-01-26T16:39:48Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' ||Editing Fedora Install<br />
|-<br />
|'''Overview''' || Learner will get started with setting up the Fedora environment for Gnome activities. <br />
|- <br />
|'''Prerequisite Knowledge''' || A rudimentary understanding of command-line usage would be helpful, but not required in addition to basic knowledge of working with virtual envrionments such as VirtualBox or Vmware. <br />
|-<br />
|'''Learning Objectives''' || Upon completion, you will be able to<br />
* Install Fedora in Virtual Environment.<br />
* Configure Fedora by updating and installing new packages and tools.<br />
|}<br />
<br />
<br />
=== Background: ===<br />
<br />
=== Directions: ===<br />
1. Install the Virtual Environment. For VirtualBox, go to: https://www.virtualbox.org/wiki/Downloads<br />
2. Download the GNOME-based default Fedora Desktop: http://fedoraproject.org/get-fedora#desktops<br />
3. Create a new VM<br />
a. Name: "Fedora20" Type: "Linux" Version: "Fedora (64-bit)" (or 32-bit if that's what you're using)<br />
b. Memory size: at least 2048, 4096 is preferred<br />
c. Create a virtual hard drive <br />
d. Hard drive file type: VDI (VirtualBox Disk Image)<br />
e. Storage: Fixed size<br />
f. File location and size: "Fedora20" and "30.00 GB" Click Create and wait.<br />
g. After the VM is created and the disk allocated, you'll be placed in the VirtualBox Manager<br />
4. Launch the newly-created VM by clicking on "Start"*<br />
a. Select start-up disk by browsing to the iso (the little folder symbol) and wait.<br />
b. When the VM has booted, click on "Install to Hard Drive"<br />
c. Choose the language (US English)<br />
d. Click on the warning icon to select the installation destination<br />
e. It should already be checked, so just click on the "Done" button (you may have to move the window around to find the Done button<br />
f. Accept the installation options and click on the "Continue" button<br />
g. Click on the "Begin installation" buton<br />
h. Click on the warning icon for root password. Provide one. Then click on the "Done" button.<br />
i. Click on the warning icon for user creation. Create a user. Make that user an admin. Then click on the "Done" button.<br />
j. When the installation is complete, click on the "Quit" button.<br />
k. Power off the VM (which is in the Live CD still)<br />
<br />
5. Launch the VM.<br />
a. Note: The first time you start the newly-installed VM, it may select the iso as the first boot device. You can fix this by clicking on "Settings" in the VirtualBox Manager. There you should click on "Hard Drive" and use the up arrow button to move Hard Drive to the top (first bootable device)<br />
b. Log in and go through initial setup<br />
6. Update Fedora by launching a terminal and then doing 'sudo yum update' <br />
* NOTE 1: If for some reason you don't have enough space you can always remove libreoffice and update again:<br />
$ sudo yum remove libreoffice*<br />
$ sudo yum update<br />
* NOTE2: The above should not happen to you. It happened when we allocated only 20GB for the disk. The instructions now say to allocate 30GB.<br />
7. Get the GNOME 3.12 Fedora 20 COPR: http://copr.fedoraproject.org/coprs/rhughes/f20-gnome-3-12/<br />
a. Launch firefox in the VM and go to the above URL<br />
b. sudo gedit /etc/yum.repos.d/rhughes-f20-gnome-3-12.repo<br />
c. Paste the appropriate lines from the URL into the file, save, and exit Gedit.<br />
d. sudo dnf update<br />
8. Install some apps to test: sudo yum install gnome-maps gnome-music bijiben gnome-logs <br />
<br />
=== Deliverables: ===<br />
What will the student hand in?<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 1-2 hours total while doing other tasks.<br />
|-<br />
|'''Materials/Environment''' || <br />
* Access to Internet/Web and web browser<br />
* Installed a Virtual Environment such as VirtualBox or Vmware.<br />
* Require at least 2048MB of RAM and 30GB of HD space. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || None<br />
|-<br />
|'''License''' || Licensed CC BY-SA 4.0 International. <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
[[Category: Learning_Activity]]<br />
[[Category: Tools_and_Environment]]</div>Casey.ellishttp://foss2serve.org/index.php/CS2_Data_Structures_ActivityCS2 Data Structures Activity2016-01-26T16:39:26Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || CS2 Data Structures Activity<br />
|-<br />
|'''Overview''' || Using the HFOSS OpenMRS project to illustrate the use of data structures in a complex system<br />
|- <br />
|'''Prerequisite Knowledge''' || CS1 and Java<br />
|-<br />
|'''Learning Objectives''' || <br />
#Describe the difference between a data structure and the implementation thereof.<br />
#Explain the application of a data structure in a specific large complex software system <br />
#Evaluate tradeoffs in selection of data structures.<br />
#Analyze the time complexity of an algorithm that uses the data structure.<br />
|}<br />
<br />
=== Background: ===<br />
Is there background reading material?<br />
<br />
Are there other activities the student should have done first?<br />
<br />
What is the rational for this activity?<br />
<br />
Include helpful hints to faculty here.<br />
<br />
=== Directions: Working Ideas Stage 2 activity (2.3) from POSSE 201405 ===<br />
#Identify the course(s) the activity would be appropriate for.<br />
##CS2 Data Structures Project based on the work of Darci's student [https://github.com/marvinyan/openfe/blob/master/Examples%20of%20Data%20Structures.md Data Structure Example]<br />
# Briefly describe the activity.<br />
##Find use of a specified data structure in the OpenMRS code base using a tool like [http://geoff.greer.fm/2011/12/27/the-silver-searcher-better-than-ack/ Ag], explain the task that the data structure is used to accomplish, and explain why the data structure is a good or poor choice for accomplishing this task.<br />
# How much time do you expect the HFOSS activity to take (# classes, # homework assignments, # lab activities, etc.)? Will the activity be completed in class or out of class?<br />
##One homework assignment or lab activity.<br />
# How does this activity relate to course goals/objectives?<br />
##Describe the difference between a data structure and the implementation thereof.<br />
##Explain the application of a data structure in a specific large complex software system <br />
##Evaluate tradeoffs in selection of data structures.<br />
##Analyze the time complexity of an algorithm that uses the data structure.<br />
# What will students submit upon completion of the activity?<br />
##A link to a place where the code is found in the codebase [1]<br />
##A written description of the data structure used within the code and how the code works.<br />
# How will you assess the submission? <br />
##Students will get into groups of three and assess each other's work based on rubric provided by professor. <br />
##Each group will provide a group response <br />
##Each student will turn in the original response. <br />
# List any question or concerns you have about implementing your activity.<br />
##N/A<br />
# What type of support will you need to implement your activity?<br />
##Darci will provide all support.<br />
<br />
<br />
=== Deliverables: ===<br />
Written artifact to Instructor <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || Varies, designed as one assignment or laboratory activity <br />
|-<br />
|'''Materials/Environment''' || Access to OpenMRS codebase <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || POSSE 201405 Workshop Activity <br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: LEARNING_ACTIVITY_SUBCATEGORY]]</div>Casey.ellishttp://foss2serve.org/index.php/Career_PlanningCareer Planning2016-01-26T16:39:17Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Career Planning<br />
|-<br />
|'''Overview''' || An in-class exercise for students to think about the role of open source projects in their career planning.<br />
|- <br />
|'''Prerequisite Knowledge''' || Sophomore standing and a declared major or minor in computer science.<br />
|-<br />
|'''Learning Objectives''' || Students will think about where they are in their learning and project where they can be by graduation.<br />
|}<br />
<br />
<br />
== Background ==<br />
<br />
Many students do not stop to think about how they will get a job after graduation. They simply expect that having a degree in computer science will result in job offers. The goal of this exercise is to get students thinking about their future and the types of activities they can do as an undergraduate to make their resume and job application stand out.<br />
<br />
== Directions ==<br />
<br />
# (10 minutes) As a “Think, Pair, Share” exercise (see http://www.readingquest.org/strat/tps.html:<br />
#* Describe the ideal candidate for an entry-level programming position.<br />
#* What would the resume of such a candidate look like?<br />
# (10 minutes) Questions for class discussion:<br />
#* What technologies would you list on your resume? What information do you intend to convey with this list? What can an employer conclude from such a list?<br />
#* If thousands of students graduate each year with a degree in computer science, how can an employer differentiate between applicants?<br />
#* Is it the responsibility of the school to prepare you for your career? What is your responsibility?<br />
# (5 minutes) Mini-lecture on open source projects<br />
#* What it means to be open<br />
#* Common technologies used (version control, etc.)<br />
#* Online presence<br />
# (10 minutes) Class discussion:<br />
#* How can participation in an open source project help differentiate you in a job candidate pool?<br />
#** Real-world experience with the software development process<br />
#** Experience using common tools<br />
#** Experience with a large code base<br />
#** Record of contrubutions<br />
<br />
=== Deliverables: ===<br />
None<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 30 Minutes<br />
|-<br />
|'''Materials/Environment''' || paper and pencil<br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Ben Coleman <br />
|-<br />
|'''License''' || CC BY-SA FIXME check that this license is appropriate <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[category:Learning Activity]]<br />
[[category:Career]]</div>Casey.ellishttp://foss2serve.org/index.php/Build_a_GnomeMusic_Clone_(Activity)Build a GnomeMusic Clone (Activity)2016-01-26T16:38:52Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Building a Cloned Module - Gnome Music App<br />
|-<br />
|'''Overview''' || Gnome project comes with many different modules and gnome developers constantly add new modules to them. <br />
In order to become familiar with a particular module, you need to clone the module on your virtual machine. <br />
This lab is designed to go through the cloning process for the application, Gnome Music.<br />
|-<br />
|'''Author''' || Suzanne Mello-Stark, Alex Mezei<br />
|-<br />
|'''Prerequisite Knowledge''' || Basic Linux Command line knowledge. If you need this knowledge, please complete the Linux Basic Command line activity.<br />
|-<br />
|'''Learning Objectives''' || <br />
<br />
Learners will gain a basic understanding of how to clone a module specifically gnome music.<br />
<br />
|}<br />
<br />
=== Background: ===<br />
<br />
To begin using the Gnome Music Application, you need to be able to clone it so you can make changes and submit.<br />
<br />
=== Directions: ===<br />
<br />
1. Open a browser and go to https://git.gnome.org/browse/ , the gnome Git Repository, which gives you a web interface for all gnome modules.<br />
2. Pick a module such as gnome-music and click on it. You should get a link like this https://git.gnome.org/browse/gnome-music/ . <br />
3. At the bottom of that module-specific page there are the cloning instructions. In this case<br />
<br />
• git://git.gnome.org/gnome-music<br />
• https://git.gnome.org/browse/gnome-music<br />
• ssh://USERNAME@git.gnome.org/git/gnome-music<br />
<br />
4. Use the following steps:<br />
a. sudo yum-builddep gnome-music<br />
b. make [to run the make file]<br />
c. gnome-music [the gnome-music app will open and invite you to put music in a folder]<br />
d. you may first install gstreamer (using rpmfusion.org – enable RPM fusion…):<br />
sudo yum install gstreamer1-plugins-ugly <br />
5. For this lab, you can use the git clone. Before cloning the module, create a folder and cd to that folder. In this case, we create a folder called gnome-music in the home directory.<br />
6. Change the directory into the cloned folder. You can use one of the above commands such a , git://git.gnome.org/gnome-music to get the cloned module. The rest of the steps are the building steps. You have to make sure that you can build the cloned module and execute it. In order to build the module, or any other module you must be sure you have the build dependencies<br />
<br />
7. sudo yum-builddep gnome-music<br />
8. sudo mkdir /opt/gnome<br />
9. Then, cd into the folder <br />
10. Execute ./autogen.sh --prefix=/opt/gnome<br />
11. If you have any build issues, you need to install any missing build dependencies and redo step 8. For example, if you are missing foo, try yum search foo. In fedora, what you usually want in that circumstance is the package ending with devel . Then, you can install it with sudo yum install foo-devel<br />
12. sudo make install<br />
<br />
<br />
=== Deliverables: ===<br />
<br />
Lab 3 Rubric (100 points)<br />
Screenshots (50 points)<br />
• Cloning the module (15 points)<br />
• Building the cloned module (20 points)<br />
• Execute the cloned module (15 points)<br />
Lab Questions (50 points)<br />
a. What is a gnome-module? (5 points)<br />
b. What is the Git Repository? (5 points)<br />
c. Name three different gnome modules. (10 points)<br />
d. List the steps to build a cloned module. (20points)<br />
e. List the commands to get the missing dependencies. (10 points)<br />
<br />
<br />
=== Assessment: ===<br />
Verify the above rubric<br />
<br />
<br />
=== Comments: ===<br />
<br />
Disclaimer. The tools used in this assessment are to be used responsibly. lawfully and ethically.<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''Knowledge Area/Knowledge Unit''' || Cloning Applications<br />
|-<br />
|'''Topic''' || Cloning Gnome Music<br />
|-<br />
|'''Level of Difficulty''' || Medium<br />
|-<br />
|'''Estimated Time to Completion''' || 2 hours <br />
|-<br />
|'''Materials/Environment''' || Access to a web browser/Internet. Access to the LINUX command line. This activity also works on the iOS command line.<br />
|-<br />
|'''Author''' || Suzanne Mello-Stark, Alex Mezei <br />
|-<br />
|'''Source''' || This is an original activity. <br />
|-<br />
|'''License''' || Licensed CC BY-SA<br />
|}<br />
<br />
<br />
=== Suggestions for the Open Source Project: ===<br />
<br />
This activity can be used to begin to access the open source project vulnerabilities.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Use_and_Evaluate]]</div>Casey.ellishttp://foss2serve.org/index.php/Bug_Tracker_Activity-MouseTrapBug Tracker Activity-MouseTrap2016-01-26T16:38:32Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Bug Tracker Activity-MouseTrap<br />
|-<br />
|'''Overview''' || Learners will gain an understanding of the features of bug trackers and how they are used to identify work items to be completed in a FOSS project. <br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || Ability to: 1) Describe the role that a bug tracker plays in a FOSS project, 2) Describe the different types of issues stored in a bug tracker and their priorities, and 3) Identify and track the status of a particular bug in a project. <br />
|}<br />
<br />
=== References: ===<br />
* [http://producingoss.com/en/bug-tracker.html Karl Fogel's chapter on bug trackers]<br />
* [http://en.wikipedia.org/wiki/Bug_tracking_system Wikipedia's page on Bug Tracking Systems]<br />
<br />
=== Background: ===<br />
Bug tracking systems are a form of change management and organization used by FOSS projects. Bug trackers do far more than simply keep track of bugs. They also are used to hold new feature requests, patches, and some tasks. Bug trackers are also called request trackers, issue trackers and ticket systems.<br />
<br />
=== Directions: ===<br />
We will use the GNOME MouseTrap project to explore a typical Bugzilla instance for a project. <br />
<br />
== Part 1 - Bug Reports ==<br />
# Open a browser and go to [https://bugzilla.gnome.org/ GNOME Bugzilla]<br />
# Enter 'MouseTrap' in the search bar.<br />
# What do each of the column names below indicate? What are the range of possible values for 2-7 below? <br />
## ID <br />
## Sev <br />
## Pri<br />
## OS <br />
## Product <br />
## Status <br />
## Resolution <br />
## Summary <br />
# In what order are the bugs initially displayed?<br />
# What is the meaning of the shading of some bug reports?<br />
# What is the meaning of the colors used when describing a bug (red, gray, black)?<br />
# What do the bug reports tell you about the current state of the system? <br />
# Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number). <br />
## Identify when the bug was submitted.<br />
## How understandable is the description?<br />
## Identify if there has been recent discussion about the bug?<br />
## Is the bug current?<br />
## Is the bug assigned? To whom?<br />
## What would we need to do to fix the bug? <br />
# Repeat the previous step with a different kind of bug.<br />
<br />
== Part 2 - Collective Reports ==<br />
This section refers to the entire GNOME project, not just MouseTrap. <br />
# Click on the “Reports” link on the top of the page.<br />
# Click on "Summary of bug activity for the last week."<br />
# How many bug reports were opened in the last week? How many were closed?<br />
# What was the general trend last week? Were more bugs opened than closed or vice versa?<br />
# Who were the top three bug closers? Why is this important to know?<br />
# Who were the top three bug reporters? Are these the same as the top three bug closes? What is the overlap in these two lists?<br />
# Who are the top three contributors of patches?<br />
# Who are the top three reviewers of patches? What is the overlap between these lists and the bug closers and bug reporters? What is the overlap between patch contributors and patch reviewers?<br />
<br />
=== Deliverables: ===<br />
Wiki posting describing the results of your exploration below. <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60 minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Is there another activity on which this activity is based? If so, please provide a link to the original resource.<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Intro_to_Bug_Trackers_(Activity)Intro to Bug Trackers (Activity)2016-01-26T16:38:19Z<p>Casey.ellis: </p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' ||Bug Trackers<br />
|-<br />
|'''Overview''' || Learners will gain an understanding of the features of bug trackers and how they are used to identify work items to be completed in a FOSS project. <br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || Ability to: 1) Describe the role that a bug tracker plays in a FOSS project, 2) Describe the different types of issues stored in a bug tracker and their priorities, and 3) Identify and track the status of a particular bug in a project. <br />
|}<br />
<br />
<br />
=== Background: ===<br />
Bug tracking systems are a form of change management and organization used by FOSS projects. Bug trackers do far more than simply keep track of bugs. They also are used to hold new feature requests, patches, and some tasks. Bug trackers are also called request trackers, issue trackers, request trackers and ticket systems. Please read the two readings below for a more complete treatment of bug trackers and their use in FOSS projects.<br />
<br />
* [http://producingoss.com/en/bug-tracker.html Karl Fogel's chapter on bug trackers]<br />
* [http://en.wikipedia.org/wiki/Bug_tracking_system Wikipedia's page on Bug Tracking Systems]<br />
<br />
=== Directions: ===<br />
We will begin by looking at a typical Bugzilla instance for a project. We will be using GNOME's Bugzilla instance, but specifically looking at the bugs for the Accessibility Team. <br />
<br />
== Part 1 - Bug Reports ==<br />
# Open a browser and go to the [https://bugzilla.gnome.org/buglist.cgi?type0-7-0=notequals;field0-3-0=product;keywords=accessibility;type0-1-0=notequals;type0-5-0=notequals;keywords_type=allwords;value0-5-0=accerciser;value0-4-0=at-poke;field0-1-0=product;field0-0-0=product;type0-4-0=notequals;field0-6-0=product;value0-3-0=gnome-mag;field0-7-0=product;query_format=advanced;value0-2-0=Dasher;value0-6-0=gnome-speech;value0-1-0=Gok;type0-3-0=notequals;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=NEEDINFO;field0-2-0=product;field0-5-0=product;field0-4-0=product;type0-6-0=notequals;type0-0-0=notequals;value0-0-0=Orca;type0-2-0=notequals GNOME Accessibility Bugs]<br />
# Define what each of the column names below indicate. Include the range of possible values for 2-7 below. Feel free to explore beyond the page to find more information.<br />
## ID <br />
## Sev <br />
## Pri<br />
## OS <br />
## Product <br />
## Status <br />
## Resolution <br />
## Summary <br />
# Describe how you discovered the definitions and how did you find the information from above (hint: the advanced search shows the options or the Reports link has a link)? <br />
# Identify the order in which the bugs are initially displayed?<br />
# What is the meaning of the shading of some bug reports?<br />
# What is the meaning of the colors used when describing a bug (red, gray, black)?<br />
# Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number). <br />
## Identify when the bug was submitted.<br />
## Identify if there has been recent discussion about the bug?<br />
## Is the bug current?<br />
## Is the bug assigned? To whom?<br />
## Describe what you would need to do to fix the bug. <br />
# Repeat the previous step with a different kind of bug.<br />
<br />
== Part 2 - Collective Reports ==<br />
# Click on the “Reports” link on the top of the page.<br />
# Clickk on the "Summary of Bug Activity for the last week".<br />
# How many bug reports were opened in the last week? How many were closed?<br />
# What was the general trend last week? Were more bugs opened than closed or vice versa?<br />
# Who were the top three bug closers? Why is this important to know?<br />
# Who were the top three bug reporters? Are these the same as the top three bug closes? What is the overlap in these two lists?<br />
# Who are the top three contributors of patches?<br />
# Who are the top three reviewers of patches? What is the overlap between these lists and the bug closers and bug reporters? What is the overlap between patch contributors and patch reviewers?<br />
# Click on the “Generate Graphical Reports” link.<br />
# Plot a line graph of the severity of bugs by component for Orca:<br />
## Select "Severity" for the vertical axis<br />
## Select "Component" for the horizontal axis<br />
## Select "Bar Graph" for type of graph<br />
## Leave the "Multiple Images" as <none><br />
## Scroll down and select Orca from the Product menu. <br />
## Click "Generate Report". <br />
# What class were the majority of the bugs for braille?<br />
# What other reports can you generate?<br />
<br />
<br />
===Deliverables: ===<br />
Wiki posting describing the results of your exploration below. <br />
<br />
===Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60 Minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Is there another activity on which this activity is based? If so, please provide a link to the original resource.<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Intro_to_Bug_Trackers_(Activity)Intro to Bug Trackers (Activity)2016-01-26T16:37:27Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>_NOTOC_<br />
{| border="1"<br />
|- <br />
|'''Title''' ||Bug Trackers<br />
|-<br />
|'''Overview''' || Learners will gain an understanding of the features of bug trackers and how they are used to identify work items to be completed in a FOSS project. <br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || Ability to: 1) Describe the role that a bug tracker plays in a FOSS project, 2) Describe the different types of issues stored in a bug tracker and their priorities, and 3) Identify and track the status of a particular bug in a project. <br />
|}<br />
<br />
<br />
=== Background: ===<br />
Bug tracking systems are a form of change management and organization used by FOSS projects. Bug trackers do far more than simply keep track of bugs. They also are used to hold new feature requests, patches, and some tasks. Bug trackers are also called request trackers, issue trackers, request trackers and ticket systems. Please read the two readings below for a more complete treatment of bug trackers and their use in FOSS projects.<br />
<br />
* [http://producingoss.com/en/bug-tracker.html Karl Fogel's chapter on bug trackers]<br />
* [http://en.wikipedia.org/wiki/Bug_tracking_system Wikipedia's page on Bug Tracking Systems]<br />
<br />
=== Directions: ===<br />
We will begin by looking at a typical Bugzilla instance for a project. We will be using GNOME's Bugzilla instance, but specifically looking at the bugs for the Accessibility Team. <br />
<br />
== Part 1 - Bug Reports ==<br />
# Open a browser and go to the [https://bugzilla.gnome.org/buglist.cgi?type0-7-0=notequals;field0-3-0=product;keywords=accessibility;type0-1-0=notequals;type0-5-0=notequals;keywords_type=allwords;value0-5-0=accerciser;value0-4-0=at-poke;field0-1-0=product;field0-0-0=product;type0-4-0=notequals;field0-6-0=product;value0-3-0=gnome-mag;field0-7-0=product;query_format=advanced;value0-2-0=Dasher;value0-6-0=gnome-speech;value0-1-0=Gok;type0-3-0=notequals;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=NEEDINFO;field0-2-0=product;field0-5-0=product;field0-4-0=product;type0-6-0=notequals;type0-0-0=notequals;value0-0-0=Orca;type0-2-0=notequals GNOME Accessibility Bugs]<br />
# Define what each of the column names below indicate. Include the range of possible values for 2-7 below. Feel free to explore beyond the page to find more information.<br />
## ID <br />
## Sev <br />
## Pri<br />
## OS <br />
## Product <br />
## Status <br />
## Resolution <br />
## Summary <br />
# Describe how you discovered the definitions and how did you find the information from above (hint: the advanced search shows the options or the Reports link has a link)? <br />
# Identify the order in which the bugs are initially displayed?<br />
# What is the meaning of the shading of some bug reports?<br />
# What is the meaning of the colors used when describing a bug (red, gray, black)?<br />
# Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number). <br />
## Identify when the bug was submitted.<br />
## Identify if there has been recent discussion about the bug?<br />
## Is the bug current?<br />
## Is the bug assigned? To whom?<br />
## Describe what you would need to do to fix the bug. <br />
# Repeat the previous step with a different kind of bug.<br />
<br />
== Part 2 - Collective Reports ==<br />
# Click on the “Reports” link on the top of the page.<br />
# Clickk on the "Summary of Bug Activity for the last week".<br />
# How many bug reports were opened in the last week? How many were closed?<br />
# What was the general trend last week? Were more bugs opened than closed or vice versa?<br />
# Who were the top three bug closers? Why is this important to know?<br />
# Who were the top three bug reporters? Are these the same as the top three bug closes? What is the overlap in these two lists?<br />
# Who are the top three contributors of patches?<br />
# Who are the top three reviewers of patches? What is the overlap between these lists and the bug closers and bug reporters? What is the overlap between patch contributors and patch reviewers?<br />
# Click on the “Generate Graphical Reports” link.<br />
# Plot a line graph of the severity of bugs by component for Orca:<br />
## Select "Severity" for the vertical axis<br />
## Select "Component" for the horizontal axis<br />
## Select "Bar Graph" for type of graph<br />
## Leave the "Multiple Images" as <none><br />
## Scroll down and select Orca from the Product menu. <br />
## Click "Generate Report". <br />
# What class were the majority of the bugs for braille?<br />
# What other reports can you generate?<br />
<br />
<br />
===Deliverables: ===<br />
Wiki posting describing the results of your exploration below. <br />
<br />
===Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60 Minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Is there another activity on which this activity is based? If so, please provide a link to the original resource.<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Blog_ActivityBlog Activity2016-01-26T16:37:01Z<p>Casey.ellis: hide table of contents</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Blog Activity<br />
|-<br />
|'''Overview''' || Learners will create a personal blog and post to it.<br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || To understand the purpose of a blog. To create and post a blog entry. To understand the use of tags to distribute blog postings to a planet. <br />
|}<br />
<br />
=== Background: ===<br />
According to wikipedia: [http://en.wikipedia.org/wiki/Blog]<br />
<br />
"A blog (a truncation of the expression web log)...is a discussion or informational site published on the World Wide Web and consisting of discrete entries ("posts") typically displayed in reverse chronological order (the most recent post appears first). Until 2009 blogs were usually the work of a single individual, occasionally of a small group, and often covered a single subject. More recently "multi-author blogs" (MABs) have developed, with posts written by large numbers of authors and professionally edited. MABs from newspapers, other media outlets, universities, think tanks, advocacy groups and similar institutions account for an increasing quantity of blog traffic. The rise of Twitter and other "microblogging" systems helps integrate MABs and single-author blogs into societal newstreams. Blog can also be used as a verb, meaning to maintain or add content to a blog."<br />
<br />
Blogs:<br />
* Provide immediate availability with long term accessibility<br />
* Require no HTML knowledge<br />
What makes a Web site a Blog?<br />
* Personal writing with byline<br />
* Contributions by one person or a group<br />
* Short entries – a paragraph to a few pages<br />
* Dated entries – usually displayed in reverse chronological order<br />
* Themed and often opinion based<br />
** Business topic<br />
** (for personal blogs) hobby, diary, report of the cat's daily activities<br />
Blog to blog connections are common<br />
* Blogs cite each other<br />
* Multiplies visibility of postings<br />
* Expands communities<br />
Blog posts can be threaded discussion triggers<br />
* Many blogs allow comment posting<br />
* The blogger controls thread topics by always posting the initial thread item<br />
Blog posts can have tags and categories<br />
* Can assist with routing or selection of posts<br />
* RSS (and RDF and Atom) provides a push technology letting people “subscribe” to a blog<br />
* Blog planets provide a way to collect a stream of related blog posts<br />
<br />
Blogs in the Open Source World<br />
* Many FOSS developers use blogs to reflect on their work or to make observations on FOSS events or new technologies. <br />
** For instance, the forking of LibreOffice from OpenOffice was a source of several blogs weighing the merits of the split.<br />
<br />
'''Blog Planet'''<br />
There are many cases where it makes sense to pull together all of the blog postings either from a particular group or all blog postings related to a particular topic. In fact, blog planets are software that accomplishes this. For instance, Fedora has a planet that collects all of the postings for people blogging about Fedora. TeachingOpenSource also has a blog that aggregates the blog posts from the faculty members and FOSS developers that belong to that community. In order to have a blog post sent to a planet, the blogger must "sign up" for the planet and then use the appropriate tags to identify a particular blog post as being relevant to the planet. More formally, a Planet can be defined as both:<br />
* Definition A: Software to aggregate blog postings from a group of blogs<br />
** Example: http://www.planetplanet.org/<br />
* Definition B: A Web site that uses planet software to present an aggregation of blogs<br />
** Example: http://planet.fedoraproject.org/<br />
<br />
=== Directions: ===<br />
==== Part 1 - Creating a blog ====<br />
If you do not already have a blog, create one at [https://wordpress.com/ wordpress.com] (or other blog host of your preference).<br />
Do the following:<br />
# Go to [https://wordpress.com/ wordpress.com].<br />
# Click Get Started and fill out the form provided.<br />
# Fill in basic information in your profile<br />
# Fill in the “About” page<br />
<br />
==== Part 2 - Posting to your blog ====<br />
Now that you have a blog, it is time to make a post. <br />
# In an earlier activity you completed the FOSS Field Trip and looked at projects on sourceforge. Create a blog post that talks about the type of FOSS project you searched for (education, finance, health care, etc.) and what you found (refer to the notes you took when answering the questions). What projects caught your eye? Were they active projects? Did language or platform seem to match your curriculum? Any thoughts you are willing to share about the activity, what you learned and/or how you hope to incorporate FOSS into your classroom would be great to include in your blog post.<br />
# Add a link to your blog by creating an entry on the [[POSSE_201509_Participants | POSSE participants page]]. Model your entry after the ones shown. Please insert your link alphabetically by last name.<br />
<br />
==== Part 3 - Introduction to Planets ==== <br />
# Read the following [http://en.wikipedia.org/wiki/Planet_(software) Wikipedia page] about planets.<br />
# Go to the [http://planet.teachingopensource.org/ Teaching Open Source Planet] and observe the recent blog posts that the planet has aggregated. You'll note that there are posts on a variety of different topics from a variety of different people. (It is not expected that you understand all of these posts.)<br />
<br />
==== Part 5 - Signing up for the TOS planet - OPTIONAL for the POSSE Workshop ====<br />
# Go to the [http://teachingopensource.org/index.php/Planet_Feed_List TOS planet Feed]<br />
# Tag your post with whatever tag you will use for posts that you want to appear on the Teaching Open Source Planet (suggestion: TOS).<br />
# Go to Teaching Open Source (http://teachingopensource.org/index.php/Main_Page) and create an account if you have not already: (http://teachingopensource.org/index.php?title=Special:UserLogin&type=signup&returnto=Main+Page)<br />
# Follow the instructions to add your URI for the feed the Planet Feed List (http://teachingopensource.org/index.php/Planet_Feed_List). You will have to edit the Feeds section to add the URI and your name. Follow the format of the other entries there and be careful to read and follow the '''Feed Info Format''' section.<br />
<br />
=== Deliverables: ===<br />
What will the student hand in?<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60 minutes <br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Courtesy of Karl Wurst and Greg Hislop <br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Open_Source_Communication_ActivityOpen Source Communication Activity2016-01-26T16:36:14Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Open Source Communication Activity<br />
|-<br />
|'''Overview''' || Learner will gain understanding of communication modes for open source learning. <br />
|- <br />
|'''Prerequisite Knowledge''' || Familiarity with concept of open source: [http://foss2serve.org/index.php/Intro_to_FOSS_Activity Intro to FOSS activity page]<br />
|-<br />
|'''Learning Objectives''' || Upon completion of this activity, participants should be able to 1) Identify the communication modes being used by the open source community of choice 2) Describe communication characteristics and culture within the community<br />
|}<br />
<br />
<br />
=== Background: ===<br />
<br />
The goal of this activity is for you to become familiar with the communication modes of an open source project. For more information please see the [http://foss2serve.org/index.php/Intro_to_FOSS_Activity Intro to FOSS activity page].<br />
<br />
=== Directions: ===<br />
<br />
Locate the IRC channel your open source project uses. <br />
Monitor that IRC channel for one week (7 days) or until there is at least 400 lines. <br />
<br />
Please provide the following pieces of information about your open source project: <br />
*Name<br />
*Website<br />
*Description<br />
*Project Goal<br />
*Communication Modes (find '''all''' modes of communication i.e. IRC, website, etc.)<br />
<br />
<br />
Write a reflection on the culture of the community, the professional behaviour, challenges with non-synchronous communications, different time zones (if applicable).<br />
<br />
=== Deliverables: ===<br />
Text document<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || Observation and Research time is one week; active time is 60 minutes <br />
|-<br />
|'''Materials/Environment''' || Internet connection and browser <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || None<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Intro_to_FOSS_(Activity)Intro to FOSS (Activity)2016-01-26T16:33:47Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Intro to FOSS Activity<br />
|-<br />
|'''Overview''' || Learner will gain an introduction to FOSS, its philosophy, and how it might benefit students.<br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || Upon completion of this activity, participants should be able to: 1) Describe two or three major events in the history of FOSS, 2) Describe several characteristics of the open source philosophy, and 3) Identify why student involvement in FOSS could help learning.<br />
|}<br />
<br />
=== Background: ===<br />
Welcome to the exploration of Open Source Software! The goal of this activity is for you to become familiar with the roots and culture of Open Source Software. This activity is only intended to give you a first taste of FOSS culture and development, enough to use as a foundation for future learning.<br />
<br />
Additional reading:<br />
* [http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ The Cathedral and the Bazaar] by Eric Raymond<br />
* [http://teachingopensource.org/index.php/Practical_OSS_Exploration Practical Open Source Exploration text] developed by the TeachingOpenSource community<br />
<br />
=== Directions ===<br />
==== 1. Expectations ====<br />
Your experiences in participating in FOSS projects and having students involved in such projects may be quite different from a more traditional classroom experiences where the instructor knows the material at a detailed level and is able to answer all student questions. In contrast, learning within a FOSS project can be less predictable and the instructor may serve as a guide or coach rather than being the source of all expertise. The instructor may enable the student to learn on her own and from the community. <br />
<br />
The world of FOSS is large and complex. Producing a large software project is a complex and challenging process, especially for those unfamiliar with developing industrial software. Such development is often messy and has much more variability than typically found in the classroom. This messiness creates challenges to educating students within this environment, but also creates wonderful opportunities for learning. A large part of successfully navigating such an experience is understanding how the expectations for you as an instructor must change:<br />
<br />
'''Expectation 1:''' You as the instructor will not have all of the answers due to the size and complexity of projects. However, you will have maps and guideposts along the way to help you and your students find the answers. This ability to navigate a project while only having a partial understanding is known as being "productively lost". You may not know exactly where you are, but you will have the tools to find out. <br />
<br />
'''Expectation 2:''' You as the instructor may feel uncomfortable in being "productively lost". The concept of not knowing answers to many student questions can be a foreign one and many instructors find this initially unsettling. This feeling has been likened to being in a foreign land not knowing the language and customs. <br />
<br />
'''Expectation 3:''' You are not alone in this learning process. You will have a community of fellow educators and FOSS representatives to answer questions along the way. <br />
<br />
The goal of this workshop is to enable you to be "productively lost" within a project, where you may not have a full grasp of a project, but you have sufficient signposts for you to be able to navigate the project and ask appropriate questions.<br />
<br />
==== 2. Overview of FOSS ====<br />
The readings below provide an introduction to FOSS. The readings include a bit of history and information in the culture of FOSS. Eric Raymond's "The Cathedral and the Bazaar" is a classic reading in FOSS, but we've only included a few parts here. You may want to read the full article when you have time. Read each of the following:<br />
# [https://www.gnu.org/philosophy/free-sw.html The Free Software Definition] This article defines free software and provides some insight into the roots of FOSS. <br />
# [http://opensource.org/history History of the Open Source Initiative] - This article a brief overview of the start of the term "open source" and the OSI<br />
# [http://en.wikipedia.org/wiki/Open_source Wikipedia Open Source Article] - This article talks about the philosophy of open source. Read:<br />
## Section 1 History<br />
## Section 3.1 Computer Software<br />
# [http://en.wikipedia.org/wiki/Open_source_software Wikipedia Open Source Software Article] This article talks about the history and development philosophy of FOSS. Read:<br />
## Sections 1-3 History, Definition, and Open Source Development Model<br />
## Section 5 Current Applications and Adoption<br />
# [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html#catbmain Introduction to "The Cathedral and the Bazaar"] - This article describes the beginnings of FOSS (briefly) by someone who was there, especially for the establishment of "open source" and the OSI. <br />
## [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s11.html Social context of FOSS] - This section provides some motivation for why people start and contribute to FOSS projects.<br />
<br />
==== 3. Student Involvement in FOSS ====<br />
Student involvement in development of a large software project is an excellent way to motivate the need for software engineering skills, teamwork, and other aspects of professional software work. The use of FOSS projects as a setting for this type of student experience has potential and advantages that are difficult to match in a typical classroom setting.<br />
<br />
A discussion of student participation in HFOSS including data on aspects of student learning and references to prior publications in this area is available in a draft manuscript [[Media:HFOSS_Manuscript.docx | here]]. This manuscript is under review for publication so we ask that you not distribute it further or post it online.<br />
<br />
There is also some overview material on student involvement available in the [http://teachingopensource.org/index.php/Practical_OSS_Exploration Practical Open Source Exploration] text that was developed by the TeachingOpenSource community. The following readings will help explain the use of FOSS projects for learning as well as the feeling of being "productively lost". <br />
# [http://teachingopensource.org/index.php?title=Practical_OSS_Exploration_-_Foreword&direction=next&oldid=3605#Why_is_This_Book_Necessary.3F Motivation for using FOSS in courses]<br />
# [http://teachingopensource.org/index.php?title=Practical_OSS_Exploration_-_Foreword&direction=next&oldid=3605#Why_Traditional_Student_Projects_Are_Ineffective FOSS in Student Projects]<br />
<br />
==== 4. Humanitarian FOSS ==== <br />
To finish out our discussion, we should explain the use of Humanitarian FOSS in this workshop. '''Humanitarian FOSS (HFOSS)''' is FOSS that does some social good. HFOSS projects can range from disaster management, micro-finance, health care, education and more. We have chosen to focus on HFOSS as the altruistic nature of HFOSS has the potential to attract more computing majors, and women in particular. We have chosen to use HFOSS as our project space as these projects are particularly amenable to student participation. <br />
<br />
# Review the list of [http://www.foss2serve.org/index.php/HFOSS_Communities HFOSS projects] and identify one that captures your interest. You'll be working with this project for at least a couple of months so find one in which you are interested. You can see some of the people already working on the project as well as some of the activities. Note that most of the activity happens on the actual HFOSS site so don't be put off by a project with no activity on the foss2serve site. You can also change your selection in the future. <br />
<br />
=== Deliverables: ===<br />
None<br />
<br />
<br />
=== Assessment: ===<br />
N/A<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60-90 minutes <br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || None<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: Introduction]]<br />
[[Category: Education]]</div>Casey.ellishttp://foss2serve.org/index.php/Work_Locally_with_Git_from_the_Command_Line_(Activity)Work Locally with Git from the Command Line (Activity)2016-01-26T16:30:37Z<p>Casey.ellis: Undo revision 5136 by Casey.ellis (talk)</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Git From The Command Line<br />
|- <br />
|'''Overview''' || Students install and use git from the command line while answering questions about what each command does.<br />
<br />
See [[Git_Activity_3]] for the next in the series.<br />
|-<br />
|'''Prerequisite Knowledge''' || <br />
* Bash skills: manipulate and navigate a filesystem.<br />
* Vim skills: edit and exit (with or without changes).<br />
|-<br />
|'''Learning Objectives''' || Able to ...<br />
<br />
* Download git.<br />
* Install git.<br />
* Configure git.<br />
* Configure SSH.<br />
* Make and commit changes to repository.<br />
* Add new files to repository.<br />
* Remove file from repository.<br />
* Modify a file and commit the change.<br />
* Stage changes for commit.<br />
* Un-stage changes for commit.<br />
* Explain the purpose of the stage/cache/index.<br />
* Inspect the state of a repository.<br />
* Undo a commit.<br />
<br />
|}<br />
<br />
=== Background: ===<br />
Is there background reading material?<br />
* Students can reference http://git-scm.com/doc , though the answers can be found all around the web<br />
<br />
Are there other activities the student should have done first?<br />
* Students may want to understand what SCM is, and why its important via the activity at [[Git_Activity]]<br />
<br />
What is the rational for this activity?<br />
* All CS students should be familiar with Git and distributed SCM tools because they allow teams of developers to work together on a single project, at the same time, without stepping on eachother toes. It also forms the basis of most free open source software projects, which have distributed teams of developers that work on various forks and branches of projects. Other SCM solutions (subversion / SVN) cannot handle these scenarios well. Finally, the social and public aspects of coding evidenced by the likes of Github are important for students looking to prove their abilities and experience.<br />
<br />
<br />
=== Directions: ===<br />
<br />
==== Install Git ====<br />
Download and install git for your operating system:<br />
<br />
* Windows: http://msysgit.github.io/<br />
* Mac OSX or Linux: http://git-scm.com/<br />
<br />
<br />
==== Setup SSH ====<br />
You might want to setup an SSH key if you plan to work with remote repositories a lot. <br />
<br />
See https://help.github.com/articles/generating-ssh-keys<br />
<br />
<br />
==== Help Yourself ====<br />
Open a terminal (git-bash on Windows) and run the following commands.<br />
<br />
git help<br />
git help -ag<br />
git help init<br />
<br />
# What does `git help` do?<br />
# What does `-ag` cause `git help` to do?<br />
# What does `git help command` do?<br />
<br />
You may use `git help` at any time to help you answer the questions in this<br />
activity.<br />
<br />
<br />
==== Identify yourself ====<br />
Run the following commands, replacing BOGUS NAME and BOGUS@EMAIL with your name<br />
and email.<br />
<br />
git config --global user.name 'BOGUS NAME'<br />
git config --global user.email 'BOGUS@EMAIL'<br />
<br />
# What are these commands doing?<br />
# What is the purpose of `--global`?<br />
<br />
<br />
==== Create repository ====<br />
mkdir project<br />
cd project<br />
git init<br />
<br />
# What was created by `git init`?<br />
# Any file that starts with `.` is hidden in Linux. How do you display a hidden file in Linux?<br />
# What would happen if you delete `.git`?<br />
# You find an old project on your hard drive. You do not remember if it is a under version control by git. How can you find out?<br />
<br />
<br />
==== Basic commands ====<br />
Use a plain text editor to create `names.txt` inside the `project` folder. Put the names of your team in the file. Save and exit.<br />
<br />
Run `git status` before and after each of these commands.<br />
<br />
git add names.txt<br />
git commit -m'Add our names.'<br />
git log<br />
<br />
# What kind of information does `git status` report?<br />
# What does `git add names.txt` do?<br />
# What does `git commit -m'Add our names.'` do?<br />
# What does `git log do`?<br />
<br />
<br />
Use a plain text editor to create the following files:<br />
<br />
* `birthdays.txt` - Put your birthdays in this file.<br />
* `movies.txt` - Put the last movie each of you watched.<br />
<br />
Run `git status` before and after each of these commands.<br />
<br />
git add .<br />
git commit # You are in vim; write a multi-line commit message, save and quit.<br />
git log<br />
<br />
# What does `git add .` do? What do you think `.` means?<br />
# What does `git commit` (without -m) do?<br />
# If you want to write a more detailed commit message (which is good practice) what command would you use?<br />
<br />
<br />
==== Learn Staging / Tracking ====<br />
Do the following:<br />
<br />
* Modify `names.txt` so that names are listed in _Last, First_ format, one per line.<br />
* Modify `movies.txt` so they are in reverse alphabetical order by title.<br />
* Create a new file `foods.txt` that contains your favorite foods (one for each team member).<br />
<br />
Run the following commands:<br />
<br />
git add names.txt<br />
git status<br />
<br />
# Below write each file name under the state that its changes are currently in. Compose a definition for each state.<br />
#* Staged<br />
#* Unstaged<br />
#* Untracked<br />
# If you run `git commit` what changes will be committed (___don't do it___)?<br />
# What command do you run to stage changes?<br />
# What command do you run to unstage changes?<br />
<br />
Run the following commands:<br />
<br />
git diff<br />
git diff --cached<br />
<br />
# What does `git diff` display?<br />
# What does `git diff --cached` display?<br />
# Formulate a sequence of commands to unstage changes to `names.txt`, and stage the changes to `movies.txt`. Execute your commands and confirm they worked.<br />
# Edit `movies.txt`, change any one of the movies, and save it. Then run `git status`. What do you observe? Explain what you think is going on.<br />
# Delete `names.txt`. Then run `git status`. What do you observe? Explain what you think is going on.<br />
# Rename `movies.txt` to `last-movies`. Run `git status`. Observe and explain.<br />
# Formulate a sequence of commands to stage all changes including the untracked file and commit (with any reasonable message you like). Execute them.<br />
# In git vernacular, `index`, `cache`, and `stage` all refer to the same thing. What does it hold?<br />
# Why have a `stage`? Why not just commit all changes since the last commit?<br />
<br />
<br />
==== How to Undo ====<br />
git log<br />
git status<br />
git reset --soft HEAD^<br />
git log<br />
git status<br />
<br />
# What does `git reset --soft HEAD^` do?<br />
<br />
git commit -m'Redo'<br />
git log<br />
git status<br />
git reset --hard HEAD^<br />
git log<br />
git status<br />
<br />
# What does `git reset --hard HEAD^` do?<br />
# What is the difference between `--hard` and `--soft`?<br />
# What do you think `HEAD^` means?<br />
# What do you think `HEAD` means?<br />
<br />
<br />
<br />
=== Deliverables: ===<br />
Please hand in your answers to all questions in the Directions.<br />
<br />
Bonus points for those who type their answers up and link to them on a public git repository!<br />
<br />
<br />
=== Assessment: ===<br />
{| border="1"<br />
|- <br />
|'''Criteria''' ||'''Level 1 (fail)'''||'''Level 2 (pass)'''||'''Level 3 (good)'''||'''Level 4 (exceptional)''' <br />
|-<br />
|# of Answers || 20 of 36 || 26 of 36 || 30 of 36 || 36 of 36<br />
|-<br />
|Correct usage || Used incorrect commands || Some correct commands with lazy comments || Mostly Correct commands, occasional comments || All Correct commands with contextual comments<br />
|-<br />
|Answers on public git (extra points) || No answers on public git || Some answers on public git, but linked incorrectly || All answers on public git, but uses only one large commit || All answers on public git, and multiple well-commented commits<br />
|-<br />
|}<br />
<br />
=== Comments: ===<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''Knowledge Area/Knowledge Unit''' || SE - Software Engineering / SE Tools and Environments from [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''Topic''' || Software configuration management and version control<br />
|-<br />
|'''Level of Difficulty''' || Easy<br />
|-<br />
|'''Estimated Time to Completion''' || 60-90 mins<br />
|-<br />
|'''Materials/Environment''' || <br />
* Access to Internet/Web and web browser<br />
* Access to posix / unix shell command<br />
* Write access to local file system<br />
|-<br />
|'''Author''' || Stoney Jackson, Nick Yeates<br />
|-<br />
|'''Source''' || N/A<br />
|-<br />
|'''License''' || CC BY-SA 4.0<br />
|}<br />
<br />
<br />
=== Suggestions to Open Source Mentors: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
* Explain to students what SCM tool they use. If it is not git, explain how it differs.<br />
* The mentor might explain to student what general process or "order of operations" they use when committing code to their project.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Intro_Project_Identification_ActivityIntro Project Identification Activity2016-01-26T16:28:48Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Intro Project Identification Activity<br />
|-<br />
|'''Overview''' || Learners will gain an understanding of the resources available for identifying possible FOSS project to which to contribute as well as some of the key success factors that characterize projects that more easily support student participation. <br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || Ability to: 1) Locate a FOSS project on SourceForge and Ohloh, 2) Describe basic features of the project including start date, programming language, code size, and recent activity, 3) Compare two similar FOSS projects based on same criteria. <br />
|}<br />
<br />
=== Background: ===<br />
Much of the software students work on is quite small. FOSS projects provide an opportunity to start to develop some skills at approaching a larger project, starting to find your way around it, and starting to assess it. There is 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). The list of most commonly used forges includes:<br />
* [http://sourceforge.net/ Sourceforge.net] - Web platform that supports the storage and development of over 324,000 FOSS projects.<br />
* [https://launchpad.net/ Launchpad.net] - Web platform that supports the storage and development of over 31,541 FOSS projects. Based on the bazaar version control system. <br />
* [https://github.com/ GitHub.com] Online project hosting using Git. Includes source-code browser, in-line editing, wikis, and ticketing. <br />
* [http://gitorious.org/ Gitorious.org] Offers a project hosting solution and an open source graphical interface for git repositories.<br />
<br />
In addition to these forges, Ohloh.net provides information on a variety of FOSS projects:<br />
* [http://ohloh.net/ Ohloh.net] - Public directory of FOSS projects. Keeps track of statistics about projects such as programming languages, LOC, commits over time, etc. <br />
<br />
=== Directions: ===<br />
For this assignment, you will go look at a particular FOSS project and gather some facts about it. The goal isn’t for you to understand the project in detail, but rather for you to get some feel for the scale of the project, and a bit of understanding about how the project operates from a developers perspective. To make things interesting, you'll look at two projects so that you have some point of comparison. The two we'll use are VUFind and Mifos<br />
<br />
Start by investigating either Mifos or VUFind. Try to approach the project as someone interested in helping with the project (as a developer, documenter, tester, etc). See what you can learn from that perspective. In particular, try to answer the questions below:<br />
* How many people are working on the project?<br />
* How active is the project?<br />
* How big is the user base for the project?<br />
* Who are the main managers of the project? The committers?<br />
* How mature is the project? <br />
* What are the languages used in the project? <br />
* What is the size of the code base? How well commented is it?<br />
* What is the pattern of commits over the past 3, 6, 9 and 12 months? <br />
* Are there clear starting points for someone interested in helping with the project?<br />
* Are there usable technical documents that describe the project (e.g., functional requirements, design documents, installation documentation, etc.)?<br />
* How are bugs and feature requests tracked? Are there a lot of open items? Are they being worked on? Are issues being addressed?<br />
* What’s the business model? How is all this happening as “free and open source”?<br />
* Are there instructions to support easy download and install of this product?<br />
* How do the developers communicate with each other? What channels or tools are available within the project?<br />
<br />
If you have time, investigate the second project and compare it to the first. <br />
<br />
=== Deliverables: ===<br />
Wiki posting describing your explorations of forges and Ohloh <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 30-60 minutes <br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || [http://xcitegroup.org/softhum/doku.php?id=f:assignment_ossfieldtrip2 Assessing a Project]<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Use_and_Evaluate]]</div>Casey.ellishttp://foss2serve.org/index.php/Work_Locally_with_Git_from_the_Command_Line_(Activity)Work Locally with Git from the Command Line (Activity)2016-01-26T16:23:47Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>__NOTOC__<br />
{| border="1"<br />
|- <br />
|'''Title''' || Git From The Command Line<br />
|- <br />
|'''Overview''' || Students install and use git from the command line while answering questions about what each command does.<br />
<br />
See [[Git_Activity_3]] for the next in the series.<br />
|-<br />
|'''Prerequisite Knowledge''' || <br />
* Bash skills: manipulate and navigate a filesystem.<br />
* Vim skills: edit and exit (with or without changes).<br />
|-<br />
|'''Learning Objectives''' || Able to ...<br />
<br />
* Download git.<br />
* Install git.<br />
* Configure git.<br />
* Configure SSH.<br />
* Make and commit changes to repository.<br />
* Add new files to repository.<br />
* Remove file from repository.<br />
* Modify a file and commit the change.<br />
* Stage changes for commit.<br />
* Un-stage changes for commit.<br />
* Explain the purpose of the stage/cache/index.<br />
* Inspect the state of a repository.<br />
* Undo a commit.<br />
<br />
|}<br />
<br />
=== Background: ===<br />
Is there background reading material?<br />
* Students can reference http://git-scm.com/doc , though the answers can be found all around the web<br />
<br />
Are there other activities the student should have done first?<br />
* Students may want to understand what SCM is, and why its important via the activity at [[Git_Activity]]<br />
<br />
What is the rational for this activity?<br />
* All CS students should be familiar with Git and distributed SCM tools because they allow teams of developers to work together on a single project, at the same time, without stepping on eachother toes. It also forms the basis of most free open source software projects, which have distributed teams of developers that work on various forks and branches of projects. Other SCM solutions (subversion / SVN) cannot handle these scenarios well. Finally, the social and public aspects of coding evidenced by the likes of Github are important for students looking to prove their abilities and experience.<br />
<br />
<br />
=== Directions: ===<br />
<br />
==== Install Git ====<br />
Download and install git for your operating system:<br />
<br />
* Windows: http://msysgit.github.io/<br />
* Mac OSX or Linux: http://git-scm.com/<br />
<br />
<br />
==== Setup SSH ====<br />
You might want to setup an SSH key if you plan to work with remote repositories a lot. <br />
<br />
See https://help.github.com/articles/generating-ssh-keys<br />
<br />
<br />
==== Help Yourself ====<br />
Open a terminal (git-bash on Windows) and run the following commands.<br />
<br />
git help<br />
git help -ag<br />
git help init<br />
<br />
# What does `git help` do?<br />
# What does `-ag` cause `git help` to do?<br />
# What does `git help command` do?<br />
<br />
You may use `git help` at any time to help you answer the questions in this<br />
activity.<br />
<br />
<br />
==== Identify yourself ====<br />
Run the following commands, replacing BOGUS NAME and BOGUS@EMAIL with your name<br />
and email.<br />
<br />
git config --global user.name 'BOGUS NAME'<br />
git config --global user.email 'BOGUS@EMAIL'<br />
<br />
# What are these commands doing?<br />
# What is the purpose of `--global`?<br />
<br />
<br />
==== Create repository ====<br />
mkdir project<br />
cd project<br />
git init<br />
<br />
# What was created by `git init`?<br />
# Any file that starts with `.` is hidden in Linux. How do you display a hidden file in Linux?<br />
# What would happen if you delete `.git`?<br />
# You find an old project on your hard drive. You do not remember if it is a under version control by git. How can you find out?<br />
<br />
<br />
==== Basic commands ====<br />
Use a plain text editor to create `names.txt` inside the `project` folder. Put the names of your team in the file. Save and exit.<br />
<br />
Run `git status` before and after each of these commands.<br />
<br />
git add names.txt<br />
git commit -m'Add our names.'<br />
git log<br />
<br />
# What kind of information does `git status` report?<br />
# What does `git add names.txt` do?<br />
# What does `git commit -m'Add our names.'` do?<br />
# What does `git log do`?<br />
<br />
<br />
Use a plain text editor to create the following files:<br />
<br />
* `birthdays.txt` - Put your birthdays in this file.<br />
* `movies.txt` - Put the last movie each of you watched.<br />
<br />
Run `git status` before and after each of these commands.<br />
<br />
git add .<br />
git commit # You are in vim; write a multi-line commit message, save and quit.<br />
git log<br />
<br />
# What does `git add .` do? What do you think `.` means?<br />
# What does `git commit` (without -m) do?<br />
# If you want to write a more detailed commit message (which is good practice) what command would you use?<br />
<br />
<br />
==== Learn Staging / Tracking ====<br />
Do the following:<br />
<br />
* Modify `names.txt` so that names are listed in _Last, First_ format, one per line.<br />
* Modify `movies.txt` so they are in reverse alphabetical order by title.<br />
* Create a new file `foods.txt` that contains your favorite foods (one for each team member).<br />
<br />
Run the following commands:<br />
<br />
git add names.txt<br />
git status<br />
<br />
# Below write each file name under the state that its changes are currently in. Compose a definition for each state.<br />
#* Staged<br />
#* Unstaged<br />
#* Untracked<br />
# If you run `git commit` what changes will be committed (___don't do it___)?<br />
# What command do you run to stage changes?<br />
# What command do you run to unstage changes?<br />
<br />
Run the following commands:<br />
<br />
git diff<br />
git diff --cached<br />
<br />
# What does `git diff` display?<br />
# What does `git diff --cached` display?<br />
# Formulate a sequence of commands to unstage changes to `names.txt`, and stage the changes to `movies.txt`. Execute your commands and confirm they worked.<br />
# Edit `movies.txt`, change any one of the movies, and save it. Then run `git status`. What do you observe? Explain what you think is going on.<br />
# Delete `names.txt`. Then run `git status`. What do you observe? Explain what you think is going on.<br />
# Rename `movies.txt` to `last-movies`. Run `git status`. Observe and explain.<br />
# Formulate a sequence of commands to stage all changes including the untracked file and commit (with any reasonable message you like). Execute them.<br />
# In git vernacular, `index`, `cache`, and `stage` all refer to the same thing. What does it hold?<br />
# Why have a `stage`? Why not just commit all changes since the last commit?<br />
<br />
<br />
==== How to Undo ====<br />
git log<br />
git status<br />
git reset --soft HEAD^<br />
git log<br />
git status<br />
<br />
# What does `git reset --soft HEAD^` do?<br />
<br />
git commit -m'Redo'<br />
git log<br />
git status<br />
git reset --hard HEAD^<br />
git log<br />
git status<br />
<br />
# What does `git reset --hard HEAD^` do?<br />
# What is the difference between `--hard` and `--soft`?<br />
# What do you think `HEAD^` means?<br />
# What do you think `HEAD` means?<br />
<br />
<br />
<br />
=== Deliverables: ===<br />
Please hand in your answers to all questions in the Directions.<br />
<br />
Bonus points for those who type their answers up and link to them on a public git repository!<br />
<br />
<br />
=== Assessment: ===<br />
{| border="1"<br />
|- <br />
|'''Criteria''' ||'''Level 1 (fail)'''||'''Level 2 (pass)'''||'''Level 3 (good)'''||'''Level 4 (exceptional)''' <br />
|-<br />
|# of Answers || 20 of 36 || 26 of 36 || 30 of 36 || 36 of 36<br />
|-<br />
|Correct usage || Used incorrect commands || Some correct commands with lazy comments || Mostly Correct commands, occasional comments || All Correct commands with contextual comments<br />
|-<br />
|Answers on public git (extra points) || No answers on public git || Some answers on public git, but linked incorrectly || All answers on public git, but uses only one large commit || All answers on public git, and multiple well-commented commits<br />
|-<br />
|}<br />
<br />
=== Comments: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
* Explain to students what SCM tool they use. If it is not git, explain how it differs.<br />
* The mentor might explain to student what general process or "order of operations" they use when committing code to their project.<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''Knowledge Area/Knowledge Unit''' || SE - Software Engineering / SE Tools and Environments from [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''Topic''' || Software configuration management and version control<br />
|-<br />
|'''Level of Difficulty''' || Easy<br />
|-<br />
|'''Estimated Time to Completion''' || 60-90 mins<br />
|-<br />
|'''Materials/Environment''' || <br />
* Access to Internet/Web and web browser<br />
* Access to posix / unix shell command<br />
* Write access to local file system<br />
|-<br />
|'''Author''' || Stoney Jackson, Nick Yeates<br />
|-<br />
|'''Source''' || N/A<br />
|-<br />
|'''License''' || CC BY-SA 4.0<br />
|}<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/FOSS_Politics_Writing_ActivityFOSS Politics Writing Activity2016-01-26T16:22:17Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>{| border="1"<br />
|- <br />
|'''Title''' || FOSS Politics Writing Activity<br />
|-<br />
|'''Overview''' || This activity helps student investigate politics within the open-source community. <br />
|- <br />
|'''Prerequisite Knowledge''' || Basic knowledge of definition of Open Source<br />
|-<br />
|'''Learning Objectives''' || Close reading of articles. Identifying concepts and relationships. Writing communication.<br />
|}<br />
<br />
=== Background: ===<br />
Every community has politics. Understanding those politics is important work effectively within a community. This activity helps student investigate politics within the open-source community.<br />
<br />
This is a general activity that could be appropriate for a variety of classes.<br />
* Openness courses<br />
* Any course where you want students to understand how FOSS communities communicate/work-flow<br />
* Research methods course (information literacy)<br />
* Less programming course, like CS0<br />
* Writing component in a technical course<br />
* Ethics course<br />
<br />
=== Directions: ===<br />
<br />
Read articles that discuss the organizational and institutional view of FOSS, focusing on how communications in FOSS projects are organized and structured, and how FOSS projects have inherent politics. The outcomes of this activty is the production of a summary (extended abstract) address the research methods used to study these situations - this could be modified to address more pertinent aspects about the FOSS community.<br />
<br />
Articles that have been used in the past, include:<br />
* Ebert, Christof , "Open Source Drives Innovation Software", IEEE 2007 (Volume:24, Issue: 3)<br />
* Morelli,Ralph. "A global collaboration to deploy help to China" Communications of the ACM CACM,Volume 53 Issue 12, December 2010 <br />
* Zilouchian Moghaddam, Roshanak and Twidale, Michael and Bongen, Kora. Zilouchian Moghaddam, Roshanak and Twidale, Michael and Bongen, Kora. "Open Source Interface Politics: Identity, Acceptance, Trust, and Lobbying". 2011 CHI '11 Extended Abstracts on Human Factors in Computing <br />
<br />
=== Deliverables: ===<br />
Written abstract or essay <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
Typical rubrics relating to writing, completeness of argument, and process of understanding structure. You may choose to focus on identifying research methods correctly (e.g., other steps they took to dig into the material).<br />
<br />
Depending on your class, there may be some concerns:<br />
* How do you fit it into your curriculum that already has a lot of requirements?<br />
* How long does it take to grade them (peer review?)<br />
* Build up to larger assignment with smaller assignments.<br />
* Matching level of articles to level of students.<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 2 weeks <br />
|-<br />
|'''Materials/Environment''' || Current events articles or papers <br />
|-<br />
|'''Author''' || [[User:Rduvall|Robert Duvall]], [[User:Stoney.jackson|Stoney Jackson]], [[User:Jklukowska|Joanna Klukowska]], [[User:Emirielli|Edward Mirielli]]<br />
|-<br />
|'''Source''' || [[POSSE_2014-11|POSSE 2014-11]]<br />
|-<br />
|'''License''' || Creative Commons Attribution-ShareAlike 4.0 International License<br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]</div>Casey.ellishttp://foss2serve.org/index.php/FOSS_in_Courses_1_(Instructors)FOSS in Courses 1 (Instructors)2016-01-26T16:17:50Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>{| border="1"<br />
|- <br />
|'''Title''' || FOSS In Courses<br />
|-<br />
|'''Overview''' || Learners will gain an understanding of the variety of different ways that FOSS can be incorporated into a variety of courses as well as explore different ways to include FOSS into a course of their choosing. <br />
|- <br />
|'''Prerequisite Knowledge''' || An understanding of the course in which students will be involved in a FOSS project.<br />
|-<br />
|'''Learning Objectives''' || Ability to: 1) List a variety of activities and different ways to contribute to FOSS projects beyond code, 2) Identify activities within a FOSS project you are interested in including in a course, and 3) Identify activities or topics within your course where you think FOSS could fit.<br />
|}<br />
<br />
=== Background: ===<br />
When many people think about including FOSS in a class, they are typically thinking of one of two things:<br />
# Finding an artifact from the FOSS project such as a code segment that provides the base for study within the classroom (e.g., code review), or <br />
# Making a code contribution to the project by fixing a bug or making an enhancement.<br />
However, there are myriad different activities based on FOSS as well as ways of contributing to FOSS projects that go beyond coding. The purpose of this activity is to explore some of the other ways to introduce students to and/or involve students in FOSS projects.<br />
<br />
Note that the goal of this activity is to get a general idea of appropriate activities and things that you could do in class. It is not expected that you have a complete set of assignments or possibly even one complete assignment by the end of this activity. But by the end you should have an idea of some possibilities of where you could use activities with your course(s). <br />
<br />
=== Directions ===<br />
# Let's start by observing some of the different activities and ways to contribute. <br />
## Read Andy Lester's [http://blog.smartbear.com/programming/14-ways-to-contribute-to-open-source-without-being-a-programming-genius-or-a-rock-star/ 14 Ways to Contribute to Open Source without Being a Programming Genius or a Rock Star]. Andy does a great job of identifying and ameliorating roadblocks for newbies. <br />
## Read Craig Buchek's [http://icontribute.wordpress.com/how-to-contribute-to-open-source-without-coding/ great list of ways to contribute other than code]. <br />
## Read through the list of activities on the [[50_Ways | 50 Ways to be a FOSSer]] page. <br />
# Rather than reinvent the wheel, lets explore some of the existing materials based on student involvement in FOSS.Read through the following collection of resources.<br />
## There is a set of [[ Learning_Activities | learning activities]], most of which are introductory assignments, on this wiki. This learning activity itself is part of that set of learning activities. You'll find it under the "education" sub-category. <br />
## TeachingOpenSource has a [http://teachingopensource.org/index.php/Teaching_Materials_Catalogue Teaching Materials Catalog] that contains examples of courses and a few individual assignments.<br />
<!--## There is an [http://www.xcitegroup.org/softhum/doku.php?id=f:wnecsefa10 case study] of a software engineering course where students make contributions to HFOSS projects. The course used a series of [http://www.xcitegroup.org/softhum/doku.php?id=f:templates document templates and rubrics]. --><br />
## Steve Jacobs at RIT has a [http://teachingopensource.org/index.php/RIT/The_Course Open Source Course].<br />
## Seneca College has a [http://zenit.senecac.on.ca/wiki/index.php/Main_Page Center for Open Source Technology] that has links to courses that utilize FOSS.<br />
## Rensselaer Polytechnic Institute also has a [http://rcos.rpi.edu Center for Open Source Software].<br />
# Lets turn our attention to your HFOSS project of interest:<br />
## Identify activities or topics that you are interested in within your HFOSS project of interest. This can be a rough list and can serve as the basis for identifying possible class activities/topics.<br />
# Let's turn our attention to your own course. <br />
## Now that you have an idea of the possible types of activities or topics, identify one or two that you think would fit in your class. These do not need to be polished. This can be a rough list of ideas. <br />
## In your reading, did you find existing materials? If so, describe how would you modify them to fit your class? <br />
## If you did not find existing materials, summarize the activity in a sentence or two. <br />
## Post the activity to your wiki page. Note that you may end up identifying more activities than you can use in a single class. Think big!<br />
<br />
=== Deliverables: === <br />
Wiki posting describing the course and identifying one or two possible activities that students can complete as part of the course. <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60-90 minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser.<br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || <br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: Education]]</div>Casey.ellishttp://foss2serve.org/index.php/FOSS_in_Courses_2_(Instructors)FOSS in Courses 2 (Instructors)2016-01-26T16:06:15Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>{| border="1"<br />
|- <br />
|'''Title''' || FOSS in Courses 2<br />
|-<br />
|'''Overview''' || Learner will identify 1-3 HFOSS topics and/or learning ideas for a course.<br />
|- <br />
|'''Prerequisite Knowledge''' || Completion of [[FOSS_In_Courses_Activity|FOSS in Courses 1]]<br />
|-<br />
|'''Learning Objectives''' || Able to identify 1-3 HFOSS topics and/or learning ideas for a course.<br />
|}<br />
<br />
<br />
=== Background: ===<br />
This activity is an extension of the FOSS in Courses Planning 1 activity. The goal of this activity is to have a 1-3 topics and/or learning ideas to bring for discussion to the workshop and receive feedback on. We do not expect that these activities/ideas will be completely fleshed out, but to provide an initial starting point to think about.<br />
<br />
=== Directions ===<br />
# Recalling your list of activities/topics from the "FOSS in Courses Planning 1" activity, identify the ways that these FOSS activities/topics can be structured. Possibilities include:<br />
#* Lectures<br />
#* In-class activity<br />
#* Homework<br />
#* Stream of related activities<br />
#* Project<br />
# List the revised activities on your wiki page. For each activity/topic:<br />
## Identify some possible learning outcomes that should be fulfilled with the activities/task.<br />
## Describe any pre-requisite knowledge needed to complete the activity. This does not need to be a complete list. <br />
## Estimate the time required for instructor prep, for student completion and elapsed calendar time. Are you going to have to synchronize your activity with the community or can the activity/topic be covered independent of the HFOSS community schedule. <br />
## Think about possible input required from the HFOSS community. How much input is required and what kind?<br />
## If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.<br />
## Describe the assessment/grading approach - What will the basis for grading be? Will this be a team activity or individual? Is there a role for the HFOSS community in helping assess student work? For instance, must the work be committed or otherwise accepted by the community? <br />
## List any questions or concerns that you have about the activity/task. <br />
## List any stumbling blocks or barriers to carrying out the activity/task.<br />
<br />
=== Deliverables: ===<br />
A list of 1-3 HFOSS topics and/or learning ideas for a course. <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60-90 minutes <br />
|-<br />
|'''Materials/Environment''' ||Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || None<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
[[Category: Learning_Activity]]<br />
[[Category: Education]]</div>Casey.ellishttp://foss2serve.org/index.php/FOSS_Field_Trip_(Activity)FOSS Field Trip (Activity)2016-01-26T16:03:41Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>{| border="1"<br />
|- <br />
|'''Title''' || FOSS Field Trip Activity - Browsing a Forge<br />
|-<br />
|'''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. <br />
|- <br />
|'''Prerequisite Knowledge''' || None. <br />
|-<br />
|'''Learning Objectives''' || Ability 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<br />
|}<br />
<br />
=== Background: ===<br />
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). <br />
<br />
=== Directions: ===<br />
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.<br />
==== Part 1 - SourceForge ====<br />
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. <br />
<br />
Do the following:<br />
# Go to: http://sourceforge.net/<br />
# 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.).<br />
# How many projects are there in this category?<br />
# How many different programming languages are used to write software in this category?<br />
# List the top four programming languages used to write programs in this category.<br />
# Identify the meaning of each of the statuses below: <br />
## Inactive<br />
## Mature<br />
## Production/Stable<br />
## Beta<br />
## Alpha<br />
## Pre-Alpha<br />
## Planning<br />
# Compare two projects in this category that have two different statuses. Describe the differences between the statuses. <br />
# Which projects are the most used? How do you know?<br />
# Pick a project in your category. Answer the questions below:<br />
## What does it do?<br />
## What programming language is the project written in?<br />
## Who is likely to use the project? How do you know this?<br />
## When was the most recent change made to the project?<br />
## How active is the project? How can you tell?<br />
## How many committers does the project have?<br />
## Would you use the project? Why or why not?<br />
<br />
==== Part 2 - OpenHub ====<br />
In this activity, you will use OpenHub to gather information about a Humanitarian Free and Open Source project named OpenMRS. <br />
<br />
'''Explore OpenMRS:'''<br />
# Go to: https://www.openhub.net/<br />
# In the upper-most search space, enter: OpenMRS<br />
# Click on the OpenMRS logo or link. <br />
# What is the main programming language used in OpenMRS?<br />
# How many lines of code does OpenMRS have? <br />
# Click on "User & Contributor Locations" (lower right side of screen). List some of the locations of the developers.<br />
# Go back to the main OpenMRS page. Click on the "Languages" link. How many languages is OpenMRS written in? <br />
# What language has the second highest number of lines of code?<br />
# Of the programming languages used in OpenMRS , which language the has the highest comment ratio?<br />
# Click on the “Contributors” link under "SCM Data" menu. <br />
# What is the average number of contributors in the last 12 months?<br />
# Scroll down to the Top Contributors section. How long have the top three contributors been involved in the project?<br />
# 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?. <br />
<br />
* If you would like to see a project that has had recent student activity, repeat the above with "MouseTrap".<br />
<br />
=== Deliverables: ===<br />
Wiki posting describing your explorations of forges and OpenHub <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 30-60 minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || [http://www.xcitegroup.org/softhum/doku.php?id=f:assignment_ossfieldtrip1detail Detailed FOSS Field Trip]<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Introduction]]</div>Casey.ellishttp://foss2serve.org/index.php/Fedora_Install_ActivityFedora Install Activity2016-01-26T16:00:17Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>{| border="1"<br />
|- <br />
|'''Title''' ||Editing Fedora Install<br />
|-<br />
|'''Overview''' || Learner will get started with setting up the Fedora environment for Gnome activities. <br />
|- <br />
|'''Prerequisite Knowledge''' || A rudimentary understanding of command-line usage would be helpful, but not required in addition to basic knowledge of working with virtual envrionments such as VirtualBox or Vmware. <br />
|-<br />
|'''Learning Objectives''' || Upon completion, you will be able to<br />
* Install Fedora in Virtual Environment.<br />
* Configure Fedora by updating and installing new packages and tools.<br />
|}<br />
<br />
<br />
=== Background: ===<br />
<br />
=== Directions: ===<br />
1. Install the Virtual Environment. For VirtualBox, go to: https://www.virtualbox.org/wiki/Downloads<br />
2. Download the GNOME-based default Fedora Desktop: http://fedoraproject.org/get-fedora#desktops<br />
3. Create a new VM<br />
a. Name: "Fedora20" Type: "Linux" Version: "Fedora (64-bit)" (or 32-bit if that's what you're using)<br />
b. Memory size: at least 2048, 4096 is preferred<br />
c. Create a virtual hard drive <br />
d. Hard drive file type: VDI (VirtualBox Disk Image)<br />
e. Storage: Fixed size<br />
f. File location and size: "Fedora20" and "30.00 GB" Click Create and wait.<br />
g. After the VM is created and the disk allocated, you'll be placed in the VirtualBox Manager<br />
4. Launch the newly-created VM by clicking on "Start"*<br />
a. Select start-up disk by browsing to the iso (the little folder symbol) and wait.<br />
b. When the VM has booted, click on "Install to Hard Drive"<br />
c. Choose the language (US English)<br />
d. Click on the warning icon to select the installation destination<br />
e. It should already be checked, so just click on the "Done" button (you may have to move the window around to find the Done button<br />
f. Accept the installation options and click on the "Continue" button<br />
g. Click on the "Begin installation" buton<br />
h. Click on the warning icon for root password. Provide one. Then click on the "Done" button.<br />
i. Click on the warning icon for user creation. Create a user. Make that user an admin. Then click on the "Done" button.<br />
j. When the installation is complete, click on the "Quit" button.<br />
k. Power off the VM (which is in the Live CD still)<br />
<br />
5. Launch the VM.<br />
a. Note: The first time you start the newly-installed VM, it may select the iso as the first boot device. You can fix this by clicking on "Settings" in the VirtualBox Manager. There you should click on "Hard Drive" and use the up arrow button to move Hard Drive to the top (first bootable device)<br />
b. Log in and go through initial setup<br />
6. Update Fedora by launching a terminal and then doing 'sudo yum update' <br />
* NOTE 1: If for some reason you don't have enough space you can always remove libreoffice and update again:<br />
$ sudo yum remove libreoffice*<br />
$ sudo yum update<br />
* NOTE2: The above should not happen to you. It happened when we allocated only 20GB for the disk. The instructions now say to allocate 30GB.<br />
7. Get the GNOME 3.12 Fedora 20 COPR: http://copr.fedoraproject.org/coprs/rhughes/f20-gnome-3-12/<br />
a. Launch firefox in the VM and go to the above URL<br />
b. sudo gedit /etc/yum.repos.d/rhughes-f20-gnome-3-12.repo<br />
c. Paste the appropriate lines from the URL into the file, save, and exit Gedit.<br />
d. sudo dnf update<br />
8. Install some apps to test: sudo yum install gnome-maps gnome-music bijiben gnome-logs <br />
<br />
=== Deliverables: ===<br />
What will the student hand in?<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 1-2 hours total while doing other tasks.<br />
|-<br />
|'''Materials/Environment''' || <br />
* Access to Internet/Web and web browser<br />
* Installed a Virtual Environment such as VirtualBox or Vmware.<br />
* Require at least 2048MB of RAM and 30GB of HD space. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || None<br />
|-<br />
|'''License''' || Licensed CC BY-SA 4.0 International. <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
[[Category: Learning_Activity]]<br />
[[Category: Tools_and_Environment]]</div>Casey.ellishttp://foss2serve.org/index.php/CS2_Data_Structures_ActivityCS2 Data Structures Activity2016-01-26T15:52:17Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>{| border="1"<br />
|- <br />
|'''Title''' || CS2 Data Structures Activity<br />
|-<br />
|'''Overview''' || Using the HFOSS OpenMRS project to illustrate the use of data structures in a complex system<br />
|- <br />
|'''Prerequisite Knowledge''' || CS1 and Java<br />
|-<br />
|'''Learning Objectives''' || <br />
#Describe the difference between a data structure and the implementation thereof.<br />
#Explain the application of a data structure in a specific large complex software system <br />
#Evaluate tradeoffs in selection of data structures.<br />
#Analyze the time complexity of an algorithm that uses the data structure.<br />
|}<br />
<br />
=== Background: ===<br />
Is there background reading material?<br />
<br />
Are there other activities the student should have done first?<br />
<br />
What is the rational for this activity?<br />
<br />
Include helpful hints to faculty here.<br />
<br />
=== Directions: Working Ideas Stage 2 activity (2.3) from POSSE 201405 ===<br />
#Identify the course(s) the activity would be appropriate for.<br />
##CS2 Data Structures Project based on the work of Darci's student [https://github.com/marvinyan/openfe/blob/master/Examples%20of%20Data%20Structures.md Data Structure Example]<br />
# Briefly describe the activity.<br />
##Find use of a specified data structure in the OpenMRS code base using a tool like [http://geoff.greer.fm/2011/12/27/the-silver-searcher-better-than-ack/ Ag], explain the task that the data structure is used to accomplish, and explain why the data structure is a good or poor choice for accomplishing this task.<br />
# How much time do you expect the HFOSS activity to take (# classes, # homework assignments, # lab activities, etc.)? Will the activity be completed in class or out of class?<br />
##One homework assignment or lab activity.<br />
# How does this activity relate to course goals/objectives?<br />
##Describe the difference between a data structure and the implementation thereof.<br />
##Explain the application of a data structure in a specific large complex software system <br />
##Evaluate tradeoffs in selection of data structures.<br />
##Analyze the time complexity of an algorithm that uses the data structure.<br />
# What will students submit upon completion of the activity?<br />
##A link to a place where the code is found in the codebase [1]<br />
##A written description of the data structure used within the code and how the code works.<br />
# How will you assess the submission? <br />
##Students will get into groups of three and assess each other's work based on rubric provided by professor. <br />
##Each group will provide a group response <br />
##Each student will turn in the original response. <br />
# List any question or concerns you have about implementing your activity.<br />
##N/A<br />
# What type of support will you need to implement your activity?<br />
##Darci will provide all support.<br />
<br />
<br />
=== Deliverables: ===<br />
Written artifact to Instructor <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || Varies, designed as one assignment or laboratory activity <br />
|-<br />
|'''Materials/Environment''' || Access to OpenMRS codebase <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || POSSE 201405 Workshop Activity <br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category: LEARNING_ACTIVITY_SUBCATEGORY]]</div>Casey.ellishttp://foss2serve.org/index.php/Career_PlanningCareer Planning2016-01-26T15:48:36Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>{| border="1"<br />
|- <br />
|'''Title''' || Career Planning<br />
|-<br />
|'''Overview''' || An in-class exercise for students to think about the role of open source projects in their career planning.<br />
|- <br />
|'''Prerequisite Knowledge''' || Sophomore standing and a declared major or minor in computer science.<br />
|-<br />
|'''Learning Objectives''' || Students will think about where they are in their learning and project where they can be by graduation.<br />
|}<br />
<br />
<br />
== Background ==<br />
<br />
Many students do not stop to think about how they will get a job after graduation. They simply expect that having a degree in computer science will result in job offers. The goal of this exercise is to get students thinking about their future and the types of activities they can do as an undergraduate to make their resume and job application stand out.<br />
<br />
== Directions ==<br />
<br />
# (10 minutes) As a “Think, Pair, Share” exercise (see http://www.readingquest.org/strat/tps.html:<br />
#* Describe the ideal candidate for an entry-level programming position.<br />
#* What would the resume of such a candidate look like?<br />
# (10 minutes) Questions for class discussion:<br />
#* What technologies would you list on your resume? What information do you intend to convey with this list? What can an employer conclude from such a list?<br />
#* If thousands of students graduate each year with a degree in computer science, how can an employer differentiate between applicants?<br />
#* Is it the responsibility of the school to prepare you for your career? What is your responsibility?<br />
# (5 minutes) Mini-lecture on open source projects<br />
#* What it means to be open<br />
#* Common technologies used (version control, etc.)<br />
#* Online presence<br />
# (10 minutes) Class discussion:<br />
#* How can participation in an open source project help differentiate you in a job candidate pool?<br />
#** Real-world experience with the software development process<br />
#** Experience using common tools<br />
#** Experience with a large code base<br />
#** Record of contrubutions<br />
<br />
=== Deliverables: ===<br />
None<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 30 Minutes<br />
|-<br />
|'''Materials/Environment''' || paper and pencil<br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Ben Coleman <br />
|-<br />
|'''License''' || CC BY-SA FIXME check that this license is appropriate <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[category:Learning Activity]]<br />
[[category:Career]]</div>Casey.ellishttp://foss2serve.org/index.php/Bug_Tracker_Activity-MouseTrapBug Tracker Activity-MouseTrap2016-01-26T15:45:48Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>{| border="1"<br />
|- <br />
|'''Title''' || Bug Tracker Activity-MouseTrap<br />
|-<br />
|'''Overview''' || Learners will gain an understanding of the features of bug trackers and how they are used to identify work items to be completed in a FOSS project. <br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || Ability to: 1) Describe the role that a bug tracker plays in a FOSS project, 2) Describe the different types of issues stored in a bug tracker and their priorities, and 3) Identify and track the status of a particular bug in a project. <br />
|}<br />
<br />
=== References: ===<br />
* [http://producingoss.com/en/bug-tracker.html Karl Fogel's chapter on bug trackers]<br />
* [http://en.wikipedia.org/wiki/Bug_tracking_system Wikipedia's page on Bug Tracking Systems]<br />
<br />
=== Background: ===<br />
Bug tracking systems are a form of change management and organization used by FOSS projects. Bug trackers do far more than simply keep track of bugs. They also are used to hold new feature requests, patches, and some tasks. Bug trackers are also called request trackers, issue trackers and ticket systems.<br />
<br />
=== Directions: ===<br />
We will use the GNOME MouseTrap project to explore a typical Bugzilla instance for a project. <br />
<br />
== Part 1 - Bug Reports ==<br />
# Open a browser and go to [https://bugzilla.gnome.org/ GNOME Bugzilla]<br />
# Enter 'MouseTrap' in the search bar.<br />
# What do each of the column names below indicate? What are the range of possible values for 2-7 below? <br />
## ID <br />
## Sev <br />
## Pri<br />
## OS <br />
## Product <br />
## Status <br />
## Resolution <br />
## Summary <br />
# In what order are the bugs initially displayed?<br />
# What is the meaning of the shading of some bug reports?<br />
# What is the meaning of the colors used when describing a bug (red, gray, black)?<br />
# What do the bug reports tell you about the current state of the system? <br />
# Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number). <br />
## Identify when the bug was submitted.<br />
## How understandable is the description?<br />
## Identify if there has been recent discussion about the bug?<br />
## Is the bug current?<br />
## Is the bug assigned? To whom?<br />
## What would we need to do to fix the bug? <br />
# Repeat the previous step with a different kind of bug.<br />
<br />
== Part 2 - Collective Reports ==<br />
This section refers to the entire GNOME project, not just MouseTrap. <br />
# Click on the “Reports” link on the top of the page.<br />
# Click on "Summary of bug activity for the last week."<br />
# How many bug reports were opened in the last week? How many were closed?<br />
# What was the general trend last week? Were more bugs opened than closed or vice versa?<br />
# Who were the top three bug closers? Why is this important to know?<br />
# Who were the top three bug reporters? Are these the same as the top three bug closes? What is the overlap in these two lists?<br />
# Who are the top three contributors of patches?<br />
# Who are the top three reviewers of patches? What is the overlap between these lists and the bug closers and bug reporters? What is the overlap between patch contributors and patch reviewers?<br />
<br />
=== Deliverables: ===<br />
Wiki posting describing the results of your exploration below. <br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60 minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Is there another activity on which this activity is based? If so, please provide a link to the original resource.<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Intro_to_Bug_Trackers_(Activity)Intro to Bug Trackers (Activity)2016-01-26T15:41:57Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>=== Preparation: ===<br />
{| border="1"<br />
|- <br />
|'''Title''' ||Bug Trackers<br />
|-<br />
|'''Overview''' || Learners will gain an understanding of the features of bug trackers and how they are used to identify work items to be completed in a FOSS project. <br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || Ability to: 1) Describe the role that a bug tracker plays in a FOSS project, 2) Describe the different types of issues stored in a bug tracker and their priorities, and 3) Identify and track the status of a particular bug in a project. <br />
|}<br />
<br />
<br />
=== Background: ===<br />
Bug tracking systems are a form of change management and organization used by FOSS projects. Bug trackers do far more than simply keep track of bugs. They also are used to hold new feature requests, patches, and some tasks. Bug trackers are also called request trackers, issue trackers, request trackers and ticket systems. Please read the two readings below for a more complete treatment of bug trackers and their use in FOSS projects.<br />
<br />
* [http://producingoss.com/en/bug-tracker.html Karl Fogel's chapter on bug trackers]<br />
* [http://en.wikipedia.org/wiki/Bug_tracking_system Wikipedia's page on Bug Tracking Systems]<br />
<br />
=== Directions: ===<br />
We will begin by looking at a typical Bugzilla instance for a project. We will be using GNOME's Bugzilla instance, but specifically looking at the bugs for the Accessibility Team. <br />
<br />
== Part 1 - Bug Reports ==<br />
# Open a browser and go to the [https://bugzilla.gnome.org/buglist.cgi?type0-7-0=notequals;field0-3-0=product;keywords=accessibility;type0-1-0=notequals;type0-5-0=notequals;keywords_type=allwords;value0-5-0=accerciser;value0-4-0=at-poke;field0-1-0=product;field0-0-0=product;type0-4-0=notequals;field0-6-0=product;value0-3-0=gnome-mag;field0-7-0=product;query_format=advanced;value0-2-0=Dasher;value0-6-0=gnome-speech;value0-1-0=Gok;type0-3-0=notequals;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=NEEDINFO;field0-2-0=product;field0-5-0=product;field0-4-0=product;type0-6-0=notequals;type0-0-0=notequals;value0-0-0=Orca;type0-2-0=notequals GNOME Accessibility Bugs]<br />
# Define what each of the column names below indicate. Include the range of possible values for 2-7 below. Feel free to explore beyond the page to find more information.<br />
## ID <br />
## Sev <br />
## Pri<br />
## OS <br />
## Product <br />
## Status <br />
## Resolution <br />
## Summary <br />
# Describe how you discovered the definitions and how did you find the information from above (hint: the advanced search shows the options or the Reports link has a link)? <br />
# Identify the order in which the bugs are initially displayed?<br />
# What is the meaning of the shading of some bug reports?<br />
# What is the meaning of the colors used when describing a bug (red, gray, black)?<br />
# Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number). <br />
## Identify when the bug was submitted.<br />
## Identify if there has been recent discussion about the bug?<br />
## Is the bug current?<br />
## Is the bug assigned? To whom?<br />
## Describe what you would need to do to fix the bug. <br />
# Repeat the previous step with a different kind of bug.<br />
<br />
== Part 2 - Collective Reports ==<br />
# Click on the “Reports” link on the top of the page.<br />
# Clickk on the "Summary of Bug Activity for the last week".<br />
# How many bug reports were opened in the last week? How many were closed?<br />
# What was the general trend last week? Were more bugs opened than closed or vice versa?<br />
# Who were the top three bug closers? Why is this important to know?<br />
# Who were the top three bug reporters? Are these the same as the top three bug closes? What is the overlap in these two lists?<br />
# Who are the top three contributors of patches?<br />
# Who are the top three reviewers of patches? What is the overlap between these lists and the bug closers and bug reporters? What is the overlap between patch contributors and patch reviewers?<br />
# Click on the “Generate Graphical Reports” link.<br />
# Plot a line graph of the severity of bugs by component for Orca:<br />
## Select "Severity" for the vertical axis<br />
## Select "Component" for the horizontal axis<br />
## Select "Bar Graph" for type of graph<br />
## Leave the "Multiple Images" as <none><br />
## Scroll down and select Orca from the Product menu. <br />
## Click "Generate Report". <br />
# What class were the majority of the bugs for braille?<br />
# What other reports can you generate?<br />
<br />
<br />
===Deliverables: ===<br />
Wiki posting describing the results of your exploration below. <br />
<br />
===Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60 Minutes<br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Is there another activity on which this activity is based? If so, please provide a link to the original resource.<br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/Blog_ActivityBlog Activity2016-01-26T15:35:33Z<p>Casey.ellis: updating with activity template</p>
<hr />
<div>== Blog Activity ==<br />
<br />
{| border="1"<br />
|- <br />
|'''Title''' || Blog Activity<br />
|-<br />
|'''Overview''' || Learners will create a personal blog and post to it.<br />
|- <br />
|'''Prerequisite Knowledge''' || None<br />
|-<br />
|'''Learning Objectives''' || To understand the purpose of a blog. To create and post a blog entry. To understand the use of tags to distribute blog postings to a planet. <br />
|}<br />
<br />
=== Background: ===<br />
According to wikipedia: [http://en.wikipedia.org/wiki/Blog]<br />
<br />
"A blog (a truncation of the expression web log)...is a discussion or informational site published on the World Wide Web and consisting of discrete entries ("posts") typically displayed in reverse chronological order (the most recent post appears first). Until 2009 blogs were usually the work of a single individual, occasionally of a small group, and often covered a single subject. More recently "multi-author blogs" (MABs) have developed, with posts written by large numbers of authors and professionally edited. MABs from newspapers, other media outlets, universities, think tanks, advocacy groups and similar institutions account for an increasing quantity of blog traffic. The rise of Twitter and other "microblogging" systems helps integrate MABs and single-author blogs into societal newstreams. Blog can also be used as a verb, meaning to maintain or add content to a blog."<br />
<br />
Blogs:<br />
* Provide immediate availability with long term accessibility<br />
* Require no HTML knowledge<br />
What makes a Web site a Blog?<br />
* Personal writing with byline<br />
* Contributions by one person or a group<br />
* Short entries – a paragraph to a few pages<br />
* Dated entries – usually displayed in reverse chronological order<br />
* Themed and often opinion based<br />
** Business topic<br />
** (for personal blogs) hobby, diary, report of the cat's daily activities<br />
Blog to blog connections are common<br />
* Blogs cite each other<br />
* Multiplies visibility of postings<br />
* Expands communities<br />
Blog posts can be threaded discussion triggers<br />
* Many blogs allow comment posting<br />
* The blogger controls thread topics by always posting the initial thread item<br />
Blog posts can have tags and categories<br />
* Can assist with routing or selection of posts<br />
* RSS (and RDF and Atom) provides a push technology letting people “subscribe” to a blog<br />
* Blog planets provide a way to collect a stream of related blog posts<br />
<br />
Blogs in the Open Source World<br />
* Many FOSS developers use blogs to reflect on their work or to make observations on FOSS events or new technologies. <br />
** For instance, the forking of LibreOffice from OpenOffice was a source of several blogs weighing the merits of the split.<br />
<br />
'''Blog Planet'''<br />
There are many cases where it makes sense to pull together all of the blog postings either from a particular group or all blog postings related to a particular topic. In fact, blog planets are software that accomplishes this. For instance, Fedora has a planet that collects all of the postings for people blogging about Fedora. TeachingOpenSource also has a blog that aggregates the blog posts from the faculty members and FOSS developers that belong to that community. In order to have a blog post sent to a planet, the blogger must "sign up" for the planet and then use the appropriate tags to identify a particular blog post as being relevant to the planet. More formally, a Planet can be defined as both:<br />
* Definition A: Software to aggregate blog postings from a group of blogs<br />
** Example: http://www.planetplanet.org/<br />
* Definition B: A Web site that uses planet software to present an aggregation of blogs<br />
** Example: http://planet.fedoraproject.org/<br />
<br />
=== Directions: ===<br />
==== Part 1 - Creating a blog ====<br />
If you do not already have a blog, create one at [https://wordpress.com/ wordpress.com] (or other blog host of your preference).<br />
Do the following:<br />
# Go to [https://wordpress.com/ wordpress.com].<br />
# Click Get Started and fill out the form provided.<br />
# Fill in basic information in your profile<br />
# Fill in the “About” page<br />
<br />
==== Part 2 - Posting to your blog ====<br />
Now that you have a blog, it is time to make a post. <br />
# In an earlier activity you completed the FOSS Field Trip and looked at projects on sourceforge. Create a blog post that talks about the type of FOSS project you searched for (education, finance, health care, etc.) and what you found (refer to the notes you took when answering the questions). What projects caught your eye? Were they active projects? Did language or platform seem to match your curriculum? Any thoughts you are willing to share about the activity, what you learned and/or how you hope to incorporate FOSS into your classroom would be great to include in your blog post.<br />
# Add a link to your blog by creating an entry on the [[POSSE_201509_Participants | POSSE participants page]]. Model your entry after the ones shown. Please insert your link alphabetically by last name.<br />
<br />
==== Part 3 - Introduction to Planets ==== <br />
# Read the following [http://en.wikipedia.org/wiki/Planet_(software) Wikipedia page] about planets.<br />
# Go to the [http://planet.teachingopensource.org/ Teaching Open Source Planet] and observe the recent blog posts that the planet has aggregated. You'll note that there are posts on a variety of different topics from a variety of different people. (It is not expected that you understand all of these posts.)<br />
<br />
==== Part 5 - Signing up for the TOS planet - OPTIONAL for the POSSE Workshop ====<br />
# Go to the [http://teachingopensource.org/index.php/Planet_Feed_List TOS planet Feed]<br />
# Tag your post with whatever tag you will use for posts that you want to appear on the Teaching Open Source Planet (suggestion: TOS).<br />
# Go to Teaching Open Source (http://teachingopensource.org/index.php/Main_Page) and create an account if you have not already: (http://teachingopensource.org/index.php?title=Special:UserLogin&type=signup&returnto=Main+Page)<br />
# Follow the instructions to add your URI for the feed the Planet Feed List (http://teachingopensource.org/index.php/Planet_Feed_List). You will have to edit the Feeds section to add the URI and your name. Follow the format of the other entries there and be careful to read and follow the '''Feed Info Format''' section.<br />
<br />
=== Deliverables: ===<br />
What will the student hand in?<br />
<br />
<br />
=== Assessment: ===<br />
How will the activity be graded?<br />
<br />
How will learning will be measured?<br />
<br />
Include sample assessment questions/rubrics.<br />
<br />
{| border="1" class="wikitable"<br />
! Criteria<br />
! Level 1 (fail)<br />
! Level 2 (pass)<br />
! Level 3 (good)<br />
! Level 4 (exceptional)<br />
|-<br />
| '''The purpose of the project'''<br />
| <br />
| <br />
|<br />
|<br />
<br />
|-<br />
| '''Why the project is open source'''<br />
| <br />
| <br />
| <br />
| <br />
<br />
|}<br />
<br />
=== Comments: ===<br />
What should the instructor know before using this activity?<br />
<br />
What are some likely difficulties that an instructor may encounter using this activity?<br />
<br />
<br />
=== Additional Information: ===<br />
{| border="1"<br />
|- <br />
|'''ACM Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 knowledge area and units does this activity cover? [[ACM_Body_of_Knowledge]]<br />
|-<br />
|'''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<br />
|-<br />
|'''Level of Difficulty''' || Is this activity easy, medium or challenging? <br />
|-<br />
|'''Estimated Time to Completion''' || 60 minutes <br />
|-<br />
|'''Materials/Environment''' || Access to Internet/Web and web browser. <br />
|-<br />
|'''Author''' || Who wrote this activity? <br />
|-<br />
|'''Source''' || Courtesy of Karl Wurst and Greg Hislop <br />
|-<br />
|'''License''' || Licensed CC BY-SA <br />
|}<br />
<br />
=== Suggestions for Open Source Community: ===<br />
Suggestions for an open source community member who is working in conjunction with the instructor.<br />
<br />
--------------------<br />
This work is licensed under a <br />
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]<br />
<br />
[[File:CC_license.png]]<br />
<br />
[[Category: Learning_Activity]]<br />
[[Category:Communication_and_Tools]]</div>Casey.ellishttp://foss2serve.org/index.php/PublicationsPublications2016-01-26T15:28:47Z<p>Casey.ellis: panels and posters citations</p>
<hr />
<div><br />
This page contains references to publications and events that are related to the effort to help students contribute to HFOSS.<br />
<br />
== Papers ==<br />
* Heidi J. C. Ellis, Gregory W. Hislop, Stoney Jackson, and Lori Postner. 2015. Team Project Experiences in Humanitarian Free and Open Source Software (HFOSS). Trans. Comput. Educ. 15, 4, Article 18 (December 2015), 23 pages. DOI=http://dx.doi.org/10.1145/2684812 <br />
<br />
* Gregory W. Hislop, Heidi J.C. Ellis, S. Monisha Pulimood, Becka Morgan, Suzanne Mello-Stark, Ben Coleman, and Cam Macdonell. 2015. A Multi-Institutional Study of Learning via Student Involvement in Humanitarian Free and Open Source Software Projects. In Proceedings of the eleventh annual International Conference on International Computing Education Research (ICER '15). ACM, New York, NY, USA, 199-206. DOI=http://dx.doi.org/10.1145<br />
<br />
* Ellis, H. J. C., & Hislop, G. W., & Pulimood, S. M., & Morgan, B., & Coleman, B. (2015, June), Software Engineering Learning in HFOSS: A Multi-Institutional Study Paper presented at 2015 ASEE Annual Conference and Exposition, Seattle, Washington. DOI=http://dx.doi.org/10.18260/p.24716<br />
<br />
* Heidi J.C. Ellis, Stoney Jackson, Darci Burdge, Lori Postner, Gregory W. Hislop, and Joanie Diggs. 2014. Learning within a professional environment: shared ownership of an HFOSS project. In Proceedings of the 15th Annual Conference on Information technology education (SIGITE '14). ACM, New York, NY, USA, 95-100. DOI=http://dx.doi.org/10.1145/2656450.2656468 <br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Purcell, M.; Chua, M.; Dziallas, S., "Towards a model of faculty development for FOSS in education," in Software Engineering Education and Training (CSEE&T), 2013 IEEE 26th Conference on , vol., no., pp.269-273, 19-21 May 2013. DOI=http://dx.doi.org/10.1109/CSEET.2013.6595259<br />
<br />
* Ellis, H. J., & Hislop, G. W., & Rodriguez, J. S., & Morelli, R. (2012, June), Student Software Engineering Learning via Participation in Humanitarian FOSS Projects Paper presented at 2012 ASEE Annual Conference, San Antonio, Texas. https://peer.asee.org/21949<br />
<br />
* Heidi J.C. Ellis, Michelle Purcell, and Gregory W. Hislop. 2012. An approach for evaluating FOSS projects for student participation. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (SIGCSE '12). ACM, New York, NY, USA, 415-420. DOI=http://dx.doi.org/10.1145/2157136.2157260<br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Chua, M.; Dziallas, S., "How to involve students in FOSS projects," in Frontiers in Education Conference (FIE), 2011 , vol., no., pp.T1H-1-T1H-6, 12-15 Oct. 2011. DOI=http://dx.doi.org/10.1109/FIE.2011.6142994<br />
<br />
* Ralph Morelli, Allen Tucker, Norman Danner, Trishan R. De Lanerolle, Heidi J. C. Ellis, Ozgur Izmirli, Danny Krizanc, and Gary Parker. 2009. Revitalizing computing education through free and open source software for humanity. Commun. ACM 52, 8 (August 2009), 67-75. DOI=http://doi.acm.org/10.1145/1536616.1536635 <br />
<br />
* Gregory W. Hislop, Heidi J.C. Ellis, and Ralph A. Morelli. 2009. Evaluating student experiences in developing software for humanity. SIGCSE Bull. 41, 3 (July 2009), 263-267. DOI=http://dx.doi.org/10.1145/1595496.1562959 <br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; Hislop, G.W., "Work in progress - challenges to educating students within the Community of Open Source Software for Humanity," in Frontiers in Education Conference, 2008. FIE 2008. 38th Annual , vol., no., pp.S3H-7-S3H-8, 22-25 Oct. 2008. DOI=http://dx.doi.org/10.1109/FIE.2008.4720515<br />
<br />
* Ellis, H.; Morelli, R.A.; Hislop, G.W., "Support for Educating Software Engineers Through Humanitarian Open Source Projects," in Software Engineering Education and Training Workshop, 2008. CSEETW '08. 21st IEEE-CS Conference on , vol., no., pp.1-4, 14-17 April 2008. DOI=http://dx.doi.org/10.1109/CSEETW.2008.5<br />
<br />
* Ellis, H.J.C.; Hislop, G.W., "Fostering the Community of Software Engineering Educators," in Software Engineering Education and Training, 2008. CSEET '08. IEEE 21st Conference on , vol., no., pp.233-237, 14-17 April 2008. DOI=http://dx.doi.org/10.1109/CSEET.2008.18<br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; de Lanerolle, T.R.; Hislop, G.W., "Holistic Software Engineering Education Based on a Humanitarian Open Source Project," in Software Engineering Education & Training, 2007. CSEET '07. 20th Conference on , vol., no., pp.327-335, 3-5 July 2007. DOI=http://dx.doi.org/10.1109/CSEET.2007.26<br />
<br />
* Morelli, R.A., Ellis, H.J.C., de Lanerolle, T., Damon, J., and Walti, C., “Can Student-Written Software Help Sustain Humanitarian FOSS?”, The 4th International Conference on Information Systems for Crisis Response and Management, Delft, the Netherlands, May 2007, pp. 41-44. PDF:http://www.cs.trincoll.edu/~ram/ram/MorelliEtAl_ISCRAM07.pdf<br />
<br />
* Heidi J. C. Ellis, Ralph A. Morelli, Trishan R. de Lanerolle, Jonathan Damon, and Jonathan Raye. 2007. Can humanitarian open-source software development draw new students to CS?. SIGCSE Bull. 39, 1 (March 2007), 551-555. DOI=http://dx.doi.org/10.1145/1227504.1227495<br />
<br />
== Panels and Posters ==<br />
* Pulimood, S. M., Hislop, G.W., and Ellis, H.J.C., “A Multi-Institutional Study of Self-Perceived Learning via Student Involvement in HFOSS Projects,” Poster. CCSC-EA, Atlantic City NJ, Oct. 2015.<br />
<br />
* Gregory W. Hislop and Heidi J.C. Ellis. 2015. Practical Experiences for IT Students in Humanitarian Free and Open Source Software Projects. In Proceedings of the 16th Annual Conference on Information Technology Education (SIGITE '15). ACM, New York, NY, USA, 99-99. DOI=http://dx.doi.org/10.1145/2808006.2808042 <br />
<br />
* Gregory W. Hislop, Stoney Jackson, and Heidi J.C. Ellis. 2015. FOSS Artifacts for Evaluating Students on Team Projects. In Proceedings of the 16th Annual Conference on Information Technology Education (SIGITE '15). ACM, New York, NY, USA, 57-57. DOI=http://dx.doi.org/10.1145/2808006.2808009 <br />
<br />
* Jackson, S., Ellis H.J.C., Hislop, G.W., and Postner, L., “Team project experiences in humanitarian free and open source software (HFOSS)”: faculty poster abstract. J. Comput. Sci. Coll (CCSCNE '15). 30, 6 (June 2015), 156-157.<br />
<br />
* Ellis, H.J.C., Burdge, D., Morgan, R., Ordóñez, P. and Alkoby, K., “Using Humanitarian Free and Open Source Software (HFOSS) to Attract the Underrepresented to Computer Science,” 2015 ACM Richard Tapia Celebration of Diversity in Computing, Boston, MA. Panel.<br />
<br />
* Heidi J.C. Ellis and Gregory W. Hislop. 2014. Structuring software engineering learning within open source software participation. In Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE '14). ACM, New York, NY, USA, 326-326. DOI=http://dx.doi.org/10.1145/2591708.2602681 <br />
<br />
* Heidi J.C. Ellis, Gregory W. Hislop, and Joanmarie Diggs. 2013. Developing HFOSS projects using integrated teams across levels and institutions. In Proceedings of the 18th ACM conference on Innovation and technology in computer science education (ITiCSE '13). ACM, New York, NY, USA, 349-349. DOI=http://dx.doi.org/10.1145/2462476.2465613 <br />
<br />
* Heidi J.C. Ellis, Stoney Jackson, Darci Burdge, Lori Postner, Gregory W. Hislop, and Joanmarie Diggs. 2014. Learning within a professional environment: shared ownership of an HFOSS project. In Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE '14). ACM, New York, NY, USA, 337-337. DOI=http://dx.doi.org/10.1145/2591708.2602660 <br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Purcell, M.; Chua, M.; Dziallas, S., "Towards a model of faculty development for FOSS in education," in Software Engineering Education and Training (CSEE&T), 2013 IEEE 26th Conference on , vol., no., pp.269-273, 19-21 May 2013. DOI=http://dx.doi.org/10.1109/CSEET.2013.6595259<br />
<br />
* Purcell, M., Ellis, H.J.C., and Hislop, G.W. (2013). An Approach for Evaluating Open Source Projects for Student Participation. Poster at CCSC NE.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Community-Based Student Learning via Participation in Humanitarian FOSS Projects. Poster at CCSC NE.<br />
<br />
*Ellis, H.J.C.,, Hislop, G.W., and Morelli, R.A., “SoftHum: Student Participation in the Community of Open Source Software for Humanity,” Poster, 2013 NSF/AASE Conference for Principle Investigators of the Transforming Undergraduate Education STEM program, January 23-25, 2013 Washington, D.C. <br />
<br />
* Ellis, H.J.C.,, Hislop, G.W., and Morelli, R.A., “HumIT: Student IT Services to Support Open Source Software for Humanity,” Poster, 2013 NSF/AASE Conference for Principle Investigators of the Transforming Undergraduate Education STEM program, January 23-25, 2013 Washington, D.C. <br />
<br />
* Clif Kussmaul, Heidi J.C. Ellis, and Gregory W. Hislop. 2012. 50 ways to be a FOSSer: simple ways to involve students & faculty (abstract only). In Proceedings of the 43rd ACM technical symposium on Computer Science Education (SIGCSE '12). ACM, New York, NY, USA, 671-671. DOI=http://dx.doi.org/10.1145/2157136.2157393 <br />
<br />
* Heidi J.C. Ellis and Gregory W. Hislop. 2011. Student IT services to support open source software for humanity. In Proceedings of the 2011 conference on Information technology education (SIGITE '11). ACM, New York, NY, USA, 307-308. DOI=http://dx.doi.org/10.1145/2047594.2047676 <br />
<br />
* Heidi J.C. Ellis, Gregory W. Hislop, and Ralph A. Morelli. 2011. A comparison of software engineering knowledge gained from student participation in humanitarian foss projects. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education (ITiCSE '11). ACM, New York, NY, USA, 360-360. DOI=http://dx.doi.org/10.1145/1999747.1999874 <br />
<br />
* Heidi J.C. Ellis and Gregory W. Hislop. 2011. Courseware: student learning via FOSS field trips. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education (ITiCSE '11). ACM, New York, NY, USA, 329-329. DOI=http://dx.doi.org/10.1145/1999747.1999840 <br />
<br />
* Heidi J.C. Ellis, Mel Chua, Matthew C. Jadud, and Gregory W. Hislop. 2011. Learning through open source participation. In Proceedings of the 42nd ACM technical symposium on Computer science education (SIGCSE '11). ACM, New York, NY, USA, 83-84. DOI=http://dx.doi.org/10.1145/1953163.1953191<br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Morelli, R.A., “SoftHum: Student Participation in the Community of Open Source Software for Humanity,” Poster, NSF 2011 CCLI-TUES PIs Conference, Washington, DC, Jan. 26-28, 2011.<br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Chua, M.; Kussmaul, Clif; Burke, Matthew M., "Panel — Teaching students to participate in Open Source Software projects," in Frontiers in Education Conference (FIE), 2010 IEEE , vol., no., pp.F2B-1-F2B-2, 27-30 Oct. 2010. DOI=http://dx.doi.org/10.1109/FIE.2010.5673437<br />
<br />
* Bonhomme-Biais, A., Ellis, H.J.C., Lockwood, J., and Raschid, L., “Open Source for Good” Panel, Grace Hopper Celebration of Women in Computing, Washington, DC, Oct. 2010<br />
<br />
* Hislop, G.W., Ellis, H.J.C., DeKoenigsburg, G., and Jazayeri, D., “Student Participation in OSS Projects,” The 6th International Conference on Open Source Systems, Notre Dame, IN, June, 2010.<br />
<br />
* Heidi J. C. Ellis, Gregory W. Hislop, Ralph Morelli, and Norman Danner. 2010. Instructional aspects of student participation in humanitarian Free and Open Source Software: panel discussion. J. Comput. Sci. Coll. 25, 6 (June 2010), 152-154. <br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Ibanez, L., “Opportunities for Students to Contribute to FOSS Projects,” O’Reilly Open Source Convention (OSCON), Portland, OR, July 19-23, 2010. [[http://cdn.oreillystatic.com/en/assets/1/event/45/Opportunities%20for%20Students%20to%20Contribute%20to%20FOSS%20Projects%20Presentation.odp .ODP]]<br />
<br />
== Related Efforts ==<br />
* Gregory W. Hislop, Heidi J.C. Ellis, Darci Burdge, Sean Goggins, Lori Postner, and Stoney Jackson. 2013. Encouraging faculty & student involvement in humanitarian free and open source software (HFOSS)(abstract only). In Proceeding of the 44th ACM technical symposium on Computer science education (SIGCSE '13). ACM, New York, NY, USA, 751-751. DOI=http://dx.doi.org/10.1145/2445196.2445481 <br />
<br />
* Wurst, K., Postner, L., and Jackson, S. (2014). Teaching Open Source (Software). Birds of a Feather Session (BoF) at SISCSE Symposium.<br />
<br />
== Workshops ==<br />
* Ellis, H.J.C., Jackson, S., Hislop, G.W., Postner, L., and Burdge, D. (2014). Getting Started in Open Source - A Tour of a Real Project. Workshop at CCSC NE.<br />
<br />
* Hislop, G.W., Burdge, D., Postner, L., and Ellis H.J.C (2013). Preparing for Student Participation in HFOSS Projects - FOSS Tools and Techniques. Workshop at CCSC E.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at the 26th Annual Conference on Software Engineering Education and Training (SIGITE).<br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Purcell, M. (2013). Project Selection for Student Involvement in Humanitarian FOSS. Workshop at 26th Annual Conference on Software Engineering Education and Training (CSEET). San Francisco.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., Purcell, M., and Postner, L. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at CCSC NE.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W., “Project Selection for Student Participation in Humanitarian FOSS,” 26th Annual Conference on Software Engineering Education and Training, San Francisco, May. 2013<br />
<br />
* Ellis, H.J.C., and Hislop, G.W., “Student Participation in Humanitarian Open Source Software (HFOSS),” Lightening Talk, 2011 International Computing Education Research Workshop, Providence, RI, August, 2011. <br />
<br />
* Morelli, R.A., Danner, N., Iyengar, J., de Lanerolle, T. R., and Ellis, H.J.C., “Teaching and Building Humanitarian Open Source Software,” SIGCSE 2008, Technical Symposium on Computer Science Education, Portland OR, Mar. 2008.<br />
<br />
* Morelli, R.A., Danner, N., Iyengar, J., de Lanerolle, T. R., and Ellis, H.J.C., “Teaching and Building Humanitarian Open Source Software,” SIGCSE 2008, Technical Symposium on Computer Science Education, Portland OR, Mar. 2008.<br />
<br />
<br />
[[Category:Reference]]</div>Casey.ellishttp://foss2serve.org/index.php/PublicationsPublications2016-01-26T15:12:09Z<p>Casey.ellis: content for panels and posters, workshops</p>
<hr />
<div><br />
This page contains references to publications and events that are related to the effort to help students contribute to HFOSS.<br />
<br />
== Papers ==<br />
* Heidi J. C. Ellis, Gregory W. Hislop, Stoney Jackson, and Lori Postner. 2015. Team Project Experiences in Humanitarian Free and Open Source Software (HFOSS). Trans. Comput. Educ. 15, 4, Article 18 (December 2015), 23 pages. DOI=http://dx.doi.org/10.1145/2684812 <br />
<br />
* Gregory W. Hislop, Heidi J.C. Ellis, S. Monisha Pulimood, Becka Morgan, Suzanne Mello-Stark, Ben Coleman, and Cam Macdonell. 2015. A Multi-Institutional Study of Learning via Student Involvement in Humanitarian Free and Open Source Software Projects. In Proceedings of the eleventh annual International Conference on International Computing Education Research (ICER '15). ACM, New York, NY, USA, 199-206. DOI=http://dx.doi.org/10.1145<br />
<br />
* Ellis, H. J. C., & Hislop, G. W., & Pulimood, S. M., & Morgan, B., & Coleman, B. (2015, June), Software Engineering Learning in HFOSS: A Multi-Institutional Study Paper presented at 2015 ASEE Annual Conference and Exposition, Seattle, Washington. DOI=http://dx.doi.org/10.18260/p.24716<br />
<br />
* Heidi J.C. Ellis, Stoney Jackson, Darci Burdge, Lori Postner, Gregory W. Hislop, and Joanie Diggs. 2014. Learning within a professional environment: shared ownership of an HFOSS project. In Proceedings of the 15th Annual Conference on Information technology education (SIGITE '14). ACM, New York, NY, USA, 95-100. DOI=http://dx.doi.org/10.1145/2656450.2656468 <br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Purcell, M.; Chua, M.; Dziallas, S., "Towards a model of faculty development for FOSS in education," in Software Engineering Education and Training (CSEE&T), 2013 IEEE 26th Conference on , vol., no., pp.269-273, 19-21 May 2013. DOI=http://dx.doi.org/10.1109/CSEET.2013.6595259<br />
<br />
* Ellis, H. J., & Hislop, G. W., & Rodriguez, J. S., & Morelli, R. (2012, June), Student Software Engineering Learning via Participation in Humanitarian FOSS Projects Paper presented at 2012 ASEE Annual Conference, San Antonio, Texas. https://peer.asee.org/21949<br />
<br />
* Heidi J.C. Ellis, Michelle Purcell, and Gregory W. Hislop. 2012. An approach for evaluating FOSS projects for student participation. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (SIGCSE '12). ACM, New York, NY, USA, 415-420. DOI=http://dx.doi.org/10.1145/2157136.2157260<br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Chua, M.; Dziallas, S., "How to involve students in FOSS projects," in Frontiers in Education Conference (FIE), 2011 , vol., no., pp.T1H-1-T1H-6, 12-15 Oct. 2011. DOI=http://dx.doi.org/10.1109/FIE.2011.6142994<br />
<br />
* Ralph Morelli, Allen Tucker, Norman Danner, Trishan R. De Lanerolle, Heidi J. C. Ellis, Ozgur Izmirli, Danny Krizanc, and Gary Parker. 2009. Revitalizing computing education through free and open source software for humanity. Commun. ACM 52, 8 (August 2009), 67-75. DOI=http://doi.acm.org/10.1145/1536616.1536635 <br />
<br />
* Gregory W. Hislop, Heidi J.C. Ellis, and Ralph A. Morelli. 2009. Evaluating student experiences in developing software for humanity. SIGCSE Bull. 41, 3 (July 2009), 263-267. DOI=http://dx.doi.org/10.1145/1595496.1562959 <br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; Hislop, G.W., "Work in progress - challenges to educating students within the Community of Open Source Software for Humanity," in Frontiers in Education Conference, 2008. FIE 2008. 38th Annual , vol., no., pp.S3H-7-S3H-8, 22-25 Oct. 2008. DOI=http://dx.doi.org/10.1109/FIE.2008.4720515<br />
<br />
* Ellis, H.; Morelli, R.A.; Hislop, G.W., "Support for Educating Software Engineers Through Humanitarian Open Source Projects," in Software Engineering Education and Training Workshop, 2008. CSEETW '08. 21st IEEE-CS Conference on , vol., no., pp.1-4, 14-17 April 2008. DOI=http://dx.doi.org/10.1109/CSEETW.2008.5<br />
<br />
* Ellis, H.J.C.; Hislop, G.W., "Fostering the Community of Software Engineering Educators," in Software Engineering Education and Training, 2008. CSEET '08. IEEE 21st Conference on , vol., no., pp.233-237, 14-17 April 2008. DOI=http://dx.doi.org/10.1109/CSEET.2008.18<br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; de Lanerolle, T.R.; Hislop, G.W., "Holistic Software Engineering Education Based on a Humanitarian Open Source Project," in Software Engineering Education & Training, 2007. CSEET '07. 20th Conference on , vol., no., pp.327-335, 3-5 July 2007. DOI=http://dx.doi.org/10.1109/CSEET.2007.26<br />
<br />
* Morelli, R.A., Ellis, H.J.C., de Lanerolle, T., Damon, J., and Walti, C., “Can Student-Written Software Help Sustain Humanitarian FOSS?”, The 4th International Conference on Information Systems for Crisis Response and Management, Delft, the Netherlands, May 2007, pp. 41-44. PDF:http://www.cs.trincoll.edu/~ram/ram/MorelliEtAl_ISCRAM07.pdf<br />
<br />
* Heidi J. C. Ellis, Ralph A. Morelli, Trishan R. de Lanerolle, Jonathan Damon, and Jonathan Raye. 2007. Can humanitarian open-source software development draw new students to CS?. SIGCSE Bull. 39, 1 (March 2007), 551-555. DOI=http://dx.doi.org/10.1145/1227504.1227495<br />
<br />
== Panels, and Posters ==<br />
* Pulimood, S. M., Hislop, G.W., and Ellis, H.J.C., “A Multi-Institutional Study of Self-Perceived Learning via Student Involvement in HFOSS Projects,” Poster. CCSC-EA, Atlantic City NJ, Oct. 2015.<br />
<br />
* Gregory W. Hislop and Heidi J.C. Ellis. 2015. Practical Experiences for IT Students in Humanitarian Free and Open Source Software Projects. In Proceedings of the 16th Annual Conference on Information Technology Education (SIGITE '15). ACM, New York, NY, USA, 99-99. DOI=http://dx.doi.org/10.1145/2808006.2808042 <br />
<br />
* Gregory W. Hislop, Stoney Jackson, and Heidi J.C. Ellis. 2015. FOSS Artifacts for Evaluating Students on Team Projects. In Proceedings of the 16th Annual Conference on Information Technology Education (SIGITE '15). ACM, New York, NY, USA, 57-57. DOI=http://dx.doi.org/10.1145/2808006.2808009 <br />
<br />
* Jackson, S., Ellis H.J.C., Hislop, G.W., and Postner, L., “Team project experiences in humanitarian free and open source software (HFOSS)”: faculty poster abstract. J. Comput. Sci. Coll (CCSCNE '15). 30, 6 (June 2015), 156-157.<br />
<br />
* Ellis, H.J.C., Burdge, D., Morgan, R., Ordóñez, P. and Alkoby, K., “Using Humanitarian Free and Open Source Software (HFOSS) to Attract the Underrepresented to Computer Science,” 2015 ACM Richard Tapia Celebration of Diversity in Computing, Boston, MA. Panel.<br />
<br />
* Heidi J.C. Ellis and Gregory W. Hislop. 2014. Structuring software engineering learning within open source software participation. In Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE '14). ACM, New York, NY, USA, 326-326. DOI=http://dx.doi.org/10.1145/2591708.2602681 <br />
<br />
* Heidi J.C. Ellis, Gregory W. Hislop, and Joanmarie Diggs. 2013. Developing HFOSS projects using integrated teams across levels and institutions. In Proceedings of the 18th ACM conference on Innovation and technology in computer science education (ITiCSE '13). ACM, New York, NY, USA, 349-349. DOI=http://dx.doi.org/10.1145/2462476.2465613 <br />
<br />
* Heidi J.C. Ellis, Stoney Jackson, Darci Burdge, Lori Postner, Gregory W. Hislop, and Joanmarie Diggs. 2014. Learning within a professional environment: shared ownership of an HFOSS project. In Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE '14). ACM, New York, NY, USA, 337-337. DOI=http://dx.doi.org/10.1145/2591708.2602660 <br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Purcell, M.; Chua, M.; Dziallas, S., "Towards a model of faculty development for FOSS in education," in Software Engineering Education and Training (CSEE&T), 2013 IEEE 26th Conference on , vol., no., pp.269-273, 19-21 May 2013. DOI=http://dx.doi.org/10.1109/CSEET.2013.6595259<br />
<br />
* Purcell, M., Ellis, H.J.C., and Hislop, G.W. (2013). An Approach for Evaluating Open Source Projects for Student Participation. Poster at CCSC NE.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Community-Based Student Learning via Participation in Humanitarian FOSS Projects. Poster at CCSC NE.<br />
<br />
*Ellis, H.J.C.,, Hislop, G.W., and Morelli, R.A., “SoftHum: Student Participation in the Community of Open Source Software for Humanity,” Poster, 2013 NSF/AASE Conference for Principle Investigators of the Transforming Undergraduate Education STEM program, January 23-25, 2013 Washington, D.C. <br />
<br />
* Ellis, H.J.C.,, Hislop, G.W., and Morelli, R.A., “HumIT: Student IT Services to Support Open Source Software for Humanity,” Poster, 2013 NSF/AASE Conference for Principle Investigators of the Transforming Undergraduate Education STEM program, January 23-25, 2013 Washington, D.C. <br />
<br />
* Kussmaul, C., Ellis, H.J.C., and Hislop, G.W., Poster. “50 Ways to be a FOSSer: Simple ways to involve students & faculty,” SIGCSE 2012, Technical Symposium on Computer Science Education, Raleigh, NC, Mar. 2012.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W., “Student IT Services to Support Open Source Software for Humanity,” Poster, Proceedings of the SIGITE 2011 Conference on IT Education, West Point, NY, Oct. 2011.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Morelli, R., “A Comparison of Software Engineering Knowledge Gained from Student Participation in Humanitarian FOSS Projects,” Poster, The Sixteenth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE), Darmstadt, Jun. 2011.<br />
<br />
* Ellis, H.J.C. and Hislop, G.W., “Courseware: Student Learning via FOSS Field Trips,” The Sixteenth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE), Darmstadt, Jun. 2011.<br />
<br />
* Ellis, Heidi J.C.. Chua, M. Jadud, M. C. and Hislop, G. W., “Learning through open source participation,” Panel, Proceedings of the 42nd ACM technical symposium on Computer science education, SIGCSE '11, Dallas, TX, USA, pp. 83—84, Mar. 2011.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Morelli, R.A., “SoftHum: Student Participation in the Community of Open Source Software for Humanity,” Poster, NSF 2011 CCLI-TUES PIs Conference, Washington, DC, Jan. 26-28, 2011.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., Chua, M., Kussmaul, C., and Burke, M.M., “Panel - Teaching Students to Participate in Open Source Software Projects,” The 2010 Frontiers in Education Conference, Washington, DC, Oct. 2010. <br />
<br />
* Bonhomme-Biais, A., Ellis, H.J.C., Lockwood, J., and Raschid, L., “Open Source for Good” Panel, Grace Hopper Celebration of Women in Computing, Washington, DC, Oct. 2010<br />
<br />
* Hislop, G.W., Ellis, H.J.C., DeKoenigsburg, G., and Jazayeri, D., “Student Participation in OSS Projects,” The 6th International Conference on Open Source Systems, Notre Dame, IN, June, 2010.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., Morelli, R.A., and Danner, N., “Instructional Aspects of Student Participation in Humanitarian Free and Open Source Software,” Panel at 15th Annual Conference of the Northeast region of the Consortium for Computing Sciences in Colleges, Apr. 2010.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Ibanez, L., “Opportunities for Students to Contribute to FOSS Projects,” O’Reilly Open Source Convention (OSCON), Portland, OR, July 19-23, 2010. <br />
<br />
== Related Efforts ==<br />
* Hislop, G.W., Goggins, S, Ellis, H.J.C., Burdge, D., Postner, L., Jackson, S. (2013). Encouraging Faculty & Student Involvement in Humanitarian Free and Open Source Software (HFOSS). Birds of a Feather Session (BoF) at SISCSE Symposium.<br />
<br />
* Wurst, K., Postner, L., and Jackson, S. (2014). Teaching Open Source (Software). Birds of a Feather Session (BoF) at SISCSE Symposium.<br />
<br />
== Workshops ==<br />
* Ellis, H.J.C., Jackson, S., Hislop, G.W., Postner, L., and Burdge, D. (2014). Getting Started in Open Source - A Tour of a Real Project. Workshop at CCSC NE.<br />
<br />
* Hislop, G.W., Burdge, D., Postner, L., and Ellis H.J.C (2013). Preparing for Student Participation in HFOSS Projects - FOSS Tools and Techniques. Workshop at CCSC E.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at the 26th Annual Conference on Software Engineering Education and Training (SIGITE).<br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Purcell, M. (2013). Project Selection for Student Involvement in Humanitarian FOSS. Workshop at 26th Annual Conference on Software Engineering Education and Training (CSEET). San Francisco.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., Purcell, M., and Postner, L. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at CCSC NE.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W., “Project Selection for Student Participation in Humanitarian FOSS,” 26th Annual Conference on Software Engineering Education and Training, San Francisco, May. 2013<br />
<br />
* Ellis, H.J.C., and Hislop, G.W., “Student Participation in Humanitarian Open Source Software (HFOSS),” Lightening Talk, 2011 International Computing Education Research Workshop, Providence, RI, August, 2011. <br />
<br />
* Morelli, R.A., Danner, N., Iyengar, J., de Lanerolle, T. R., and Ellis, H.J.C., “Teaching and Building Humanitarian Open Source Software,” SIGCSE 2008, Technical Symposium on Computer Science Education, Portland OR, Mar. 2008.<br />
<br />
* Morelli, R.A., Danner, N., Iyengar, J., de Lanerolle, T. R., and Ellis, H.J.C., “Teaching and Building Humanitarian Open Source Software,” SIGCSE 2008, Technical Symposium on Computer Science Education, Portland OR, Mar. 2008.<br />
<br />
<br />
[[Category:Reference]]</div>Casey.ellishttp://foss2serve.org/index.php/PublicationsPublications2016-01-26T14:04:19Z<p>Casey.ellis: added content, AMC citation</p>
<hr />
<div><br />
This page contains references to publications and events that are related to the effort to help students contribute to HFOSS.<br />
<br />
== Papers ==<br />
* Heidi J. C. Ellis, Gregory W. Hislop, Stoney Jackson, and Lori Postner. 2015. Team Project Experiences in Humanitarian Free and Open Source Software (HFOSS). Trans. Comput. Educ. 15, 4, Article 18 (December 2015), 23 pages. DOI=http://dx.doi.org/10.1145/2684812 <br />
<br />
* Gregory W. Hislop, Heidi J.C. Ellis, S. Monisha Pulimood, Becka Morgan, Suzanne Mello-Stark, Ben Coleman, and Cam Macdonell. 2015. A Multi-Institutional Study of Learning via Student Involvement in Humanitarian Free and Open Source Software Projects. In Proceedings of the eleventh annual International Conference on International Computing Education Research (ICER '15). ACM, New York, NY, USA, 199-206. DOI=http://dx.doi.org/10.1145<br />
<br />
* Ellis, H. J. C., & Hislop, G. W., & Pulimood, S. M., & Morgan, B., & Coleman, B. (2015, June), Software Engineering Learning in HFOSS: A Multi-Institutional Study Paper presented at 2015 ASEE Annual Conference and Exposition, Seattle, Washington. DOI=http://dx.doi.org/10.18260/p.24716<br />
<br />
* Heidi J.C. Ellis, Stoney Jackson, Darci Burdge, Lori Postner, Gregory W. Hislop, and Joanie Diggs. 2014. Learning within a professional environment: shared ownership of an HFOSS project. In Proceedings of the 15th Annual Conference on Information technology education (SIGITE '14). ACM, New York, NY, USA, 95-100. DOI=http://dx.doi.org/10.1145/2656450.2656468 <br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Purcell, M.; Chua, M.; Dziallas, S., "Towards a model of faculty development for FOSS in education," in Software Engineering Education and Training (CSEE&T), 2013 IEEE 26th Conference on , vol., no., pp.269-273, 19-21 May 2013. DOI=http://dx.doi.org/10.1109/CSEET.2013.6595259<br />
<br />
* Ellis, H. J., & Hislop, G. W., & Rodriguez, J. S., & Morelli, R. (2012, June), Student Software Engineering Learning via Participation in Humanitarian FOSS Projects Paper presented at 2012 ASEE Annual Conference, San Antonio, Texas. https://peer.asee.org/21949<br />
<br />
* Heidi J.C. Ellis, Michelle Purcell, and Gregory W. Hislop. 2012. An approach for evaluating FOSS projects for student participation. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (SIGCSE '12). ACM, New York, NY, USA, 415-420. DOI=http://dx.doi.org/10.1145/2157136.2157260<br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Chua, M.; Dziallas, S., "How to involve students in FOSS projects," in Frontiers in Education Conference (FIE), 2011 , vol., no., pp.T1H-1-T1H-6, 12-15 Oct. 2011. DOI=http://dx.doi.org/10.1109/FIE.2011.6142994<br />
<br />
* Ralph Morelli, Allen Tucker, Norman Danner, Trishan R. De Lanerolle, Heidi J. C. Ellis, Ozgur Izmirli, Danny Krizanc, and Gary Parker. 2009. Revitalizing computing education through free and open source software for humanity. Commun. ACM 52, 8 (August 2009), 67-75. DOI=http://doi.acm.org/10.1145/1536616.1536635 <br />
<br />
* Gregory W. Hislop, Heidi J.C. Ellis, and Ralph A. Morelli. 2009. Evaluating student experiences in developing software for humanity. SIGCSE Bull. 41, 3 (July 2009), 263-267. DOI=http://dx.doi.org/10.1145/1595496.1562959 <br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; Hislop, G.W., "Work in progress - challenges to educating students within the Community of Open Source Software for Humanity," in Frontiers in Education Conference, 2008. FIE 2008. 38th Annual , vol., no., pp.S3H-7-S3H-8, 22-25 Oct. 2008. DOI=http://dx.doi.org/10.1109/FIE.2008.4720515<br />
<br />
* Ellis, H.; Morelli, R.A.; Hislop, G.W., "Support for Educating Software Engineers Through Humanitarian Open Source Projects," in Software Engineering Education and Training Workshop, 2008. CSEETW '08. 21st IEEE-CS Conference on , vol., no., pp.1-4, 14-17 April 2008. DOI=http://dx.doi.org/10.1109/CSEETW.2008.5<br />
<br />
* Ellis, H.J.C.; Hislop, G.W., "Fostering the Community of Software Engineering Educators," in Software Engineering Education and Training, 2008. CSEET '08. IEEE 21st Conference on , vol., no., pp.233-237, 14-17 April 2008. DOI=http://dx.doi.org/10.1109/CSEET.2008.18<br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; de Lanerolle, T.R.; Hislop, G.W., "Holistic Software Engineering Education Based on a Humanitarian Open Source Project," in Software Engineering Education & Training, 2007. CSEET '07. 20th Conference on , vol., no., pp.327-335, 3-5 July 2007. DOI=http://dx.doi.org/10.1109/CSEET.2007.26<br />
<br />
* Morelli, R.A., Ellis, H.J.C., de Lanerolle, T., Damon, J., and Walti, C., “Can Student-Written Software Help Sustain Humanitarian FOSS?”, The 4th International Conference on Information Systems for Crisis Response and Management, Delft, the Netherlands, May 2007, pp. 41-44. PDF:http://www.cs.trincoll.edu/~ram/ram/MorelliEtAl_ISCRAM07.pdf<br />
<br />
* Heidi J. C. Ellis, Ralph A. Morelli, Trishan R. de Lanerolle, Jonathan Damon, and Jonathan Raye. 2007. Can humanitarian open-source software development draw new students to CS?. SIGCSE Bull. 39, 1 (March 2007), 551-555. DOI=http://dx.doi.org/10.1145/1227504.1227495<br />
<br />
== Panels, and Posters ==<br />
* Pulimood, S. M., Hislop, G.W., and Ellis, H.J.C., “A Multi-Institutional Study of Self-Perceived Learning via Student Involvement in HFOSS Projects,” Poster. CCSC-EA, Atlantic City NJ, Oct. 2015.<br />
<br />
* Gregory W. Hislop and Heidi J.C. Ellis. 2015. Practical Experiences for IT Students in Humanitarian Free and Open Source Software Projects. In Proceedings of the 16th Annual Conference on Information Technology Education (SIGITE '15). ACM, New York, NY, USA, 99-99. DOI=http://dx.doi.org/10.1145/2808006.2808042 <br />
<br />
* Gregory W. Hislop, Stoney Jackson, and Heidi J.C. Ellis. 2015. FOSS Artifacts for Evaluating Students on Team Projects. In Proceedings of the 16th Annual Conference on Information Technology Education (SIGITE '15). ACM, New York, NY, USA, 57-57. DOI=http://dx.doi.org/10.1145/2808006.2808009 <br />
<br />
* Jackson, S., Ellis H.J.C., Hislop, G.W., and Postner, L., “Team project experiences in humanitarian free and open source software (HFOSS)”: faculty poster abstract. J. Comput. Sci. Coll (CCSCNE '15). 30, 6 (June 2015), 156-157.<br />
<br />
* Ellis, H.J.C., Burdge, D., Morgan, R., Ordóñez, P. and Alkoby, K., “Using Humanitarian Free and Open Source Software (HFOSS) to Attract the Underrepresented to Computer Science,” 2015 ACM Richard Tapia Celebration of Diversity in Computing, Boston, MA. Panel.<br />
<br />
* Heidi J.C. Ellis and Gregory W. Hislop. 2014. Structuring software engineering learning within open source software participation. In Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE '14). ACM, New York, NY, USA, 326-326. DOI=http://dx.doi.org/10.1145/2591708.2602681 <br />
<br />
* Heidi J.C. Ellis, Gregory W. Hislop, and Joanmarie Diggs. 2013. Developing HFOSS projects using integrated teams across levels and institutions. In Proceedings of the 18th ACM conference on Innovation and technology in computer science education (ITiCSE '13). ACM, New York, NY, USA, 349-349. DOI=http://dx.doi.org/10.1145/2462476.2465613 <br />
<br />
* Heidi J.C. Ellis, Stoney Jackson, Darci Burdge, Lori Postner, Gregory W. Hislop, and Joanmarie Diggs. 2014. Learning within a professional environment: shared ownership of an HFOSS project. In Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE '14). ACM, New York, NY, USA, 337-337. DOI=http://dx.doi.org/10.1145/2591708.2602660 <br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Purcell, M.; Chua, M.; Dziallas, S., "Towards a model of faculty development for FOSS in education," in Software Engineering Education and Training (CSEE&T), 2013 IEEE 26th Conference on , vol., no., pp.269-273, 19-21 May 2013. DOI=http://dx.doi.org/10.1109/CSEET.2013.6595259<br />
<br />
* Purcell, M., Ellis, H.J.C., and Hislop, G.W. (2013). An Approach for Evaluating Open Source Projects for Student Participation. Poster at CCSC NE.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Community-Based Student Learning via Participation in Humanitarian FOSS Projects. Poster at CCSC NE.<br />
<br />
== Related Efforts ==<br />
* Hislop, G.W., Goggins, S, Ellis, H.J.C., Burdge, D., Postner, L., Jackson, S. (2013). Encouraging Faculty & Student Involvement in Humanitarian Free and Open Source Software (HFOSS). Birds of a Feather Session (BoF) at SISCSE Symposium.<br />
<br />
* Wurst, K., Postner, L., and Jackson, S. (2014). Teaching Open Source (Software). Birds of a Feather Session (BoF) at SISCSE Symposium.<br />
<br />
== Workshops ==<br />
* Ellis, H.J.C., Jackson, S., Hislop, G.W., Postner, L., and Burdge, D. (2014). Getting Started in Open Source - A Tour of a Real Project. Workshop at CCSC NE.<br />
<br />
* Hislop, G.W., Burdge, D., Postner, L., and Ellis H.J.C (2013). Preparing for Student Participation in HFOSS Projects - FOSS Tools and Techniques. Workshop at CCSC E.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at the 26th Annual Conference on Software Engineering Education and Training (SIGITE).<br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Purcell, M. (2013). Project Selection for Student Involvement in Humanitarian FOSS. Workshop at 26th Annual Conference on Software Engineering Education and Training (CSEET). San Francisco.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., Purcell, M., and Postner, L. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at CCSC NE.<br />
<br />
<br />
[[Category:Reference]]</div>Casey.ellishttp://foss2serve.org/index.php/PublicationsPublications2016-01-26T13:38:59Z<p>Casey.ellis: </p>
<hr />
<div><br />
This page contains references to publications and events that are related to the effort to help students contribute to HFOSS.<br />
<br />
== Papers ==<br />
* Heidi J. C. Ellis, Gregory W. Hislop, Stoney Jackson, and Lori Postner. 2015. Team Project Experiences in Humanitarian Free and Open Source Software (HFOSS). Trans. Comput. Educ. 15, 4, Article 18 (December 2015), 23 pages. DOI=http://dx.doi.org/10.1145/2684812 <br />
<br />
* Gregory W. Hislop, Heidi J.C. Ellis, S. Monisha Pulimood, Becka Morgan, Suzanne Mello-Stark, Ben Coleman, and Cam Macdonell. 2015. A Multi-Institutional Study of Learning via Student Involvement in Humanitarian Free and Open Source Software Projects. In Proceedings of the eleventh annual International Conference on International Computing Education Research (ICER '15). ACM, New York, NY, USA, 199-206. DOI=http://dx.doi.org/10.1145<br />
<br />
* Ellis, H. J. C., & Hislop, G. W., & Pulimood, S. M., & Morgan, B., & Coleman, B. (2015, June), Software Engineering Learning in HFOSS: A Multi-Institutional Study Paper presented at 2015 ASEE Annual Conference and Exposition, Seattle, Washington. DOI=http://dx.doi.org/10.18260/p.24716<br />
<br />
* Heidi J.C. Ellis, Stoney Jackson, Darci Burdge, Lori Postner, Gregory W. Hislop, and Joanmarie Diggs. 2014. Learning within a professional environment: shared ownership of an HFOSS project. In Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE '14). ACM, New York, NY, USA, 337-337. DOI=http://dx.doi.org/10.1145/2591708.2602660 <br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Purcell, M.; Chua, M.; Dziallas, S., "Towards a model of faculty development for FOSS in education," in Software Engineering Education and Training (CSEE&T), 2013 IEEE 26th Conference on , vol., no., pp.269-273, 19-21 May 2013. DOI=http://dx.doi.org/10.1109/CSEET.2013.6595259<br />
<br />
* Ellis, H. J., & Hislop, G. W., & Rodriguez, J. S., & Morelli, R. (2012, June), Student Software Engineering Learning via Participation in Humanitarian FOSS Projects Paper presented at 2012 ASEE Annual Conference, San Antonio, Texas. https://peer.asee.org/21949<br />
<br />
* Heidi J.C. Ellis, Michelle Purcell, and Gregory W. Hislop. 2012. An approach for evaluating FOSS projects for student participation. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (SIGCSE '12). ACM, New York, NY, USA, 415-420. DOI=http://dx.doi.org/10.1145/2157136.2157260<br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Chua, M.; Dziallas, S., "How to involve students in FOSS projects," in Frontiers in Education Conference (FIE), 2011 , vol., no., pp.T1H-1-T1H-6, 12-15 Oct. 2011. DOI=http://dx.doi.org/10.1109/FIE.2011.6142994<br />
<br />
* Ralph Morelli, Allen Tucker, Norman Danner, Trishan R. De Lanerolle, Heidi J. C. Ellis, Ozgur Izmirli, Danny Krizanc, and Gary Parker. 2009. Revitalizing computing education through free and open source software for humanity. Commun. ACM 52, 8 (August 2009), 67-75. DOI=http://doi.acm.org/10.1145/1536616.1536635 <br />
<br />
* Gregory W. Hislop, Heidi J.C. Ellis, and Ralph A. Morelli. 2009. Evaluating student experiences in developing software for humanity. SIGCSE Bull. 41, 3 (July 2009), 263-267. DOI=http://dx.doi.org/10.1145/1595496.1562959 <br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; Hislop, G.W., "Work in progress - challenges to educating students within the Community of Open Source Software for Humanity," in Frontiers in Education Conference, 2008. FIE 2008. 38th Annual , vol., no., pp.S3H-7-S3H-8, 22-25 Oct. 2008. DOI=http://dx.doi.org/10.1109/FIE.2008.4720515<br />
<br />
* Ellis, H.; Morelli, R.A.; Hislop, G.W., "Support for Educating Software Engineers Through Humanitarian Open Source Projects," in Software Engineering Education and Training Workshop, 2008. CSEETW '08. 21st IEEE-CS Conference on , vol., no., pp.1-4, 14-17 April 2008. DOI=http://dx.doi.org/10.1109/CSEETW.2008.5<br />
<br />
* Ellis, H.J.C.; Hislop, G.W., "Fostering the Community of Software Engineering Educators," in Software Engineering Education and Training, 2008. CSEET '08. IEEE 21st Conference on , vol., no., pp.233-237, 14-17 April 2008. DOI=http://dx.doi.org/10.1109/CSEET.2008.18<br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; de Lanerolle, T.R.; Hislop, G.W., "Holistic Software Engineering Education Based on a Humanitarian Open Source Project," in Software Engineering Education & Training, 2007. CSEET '07. 20th Conference on , vol., no., pp.327-335, 3-5 July 2007. DOI=http://dx.doi.org/10.1109/CSEET.2007.26<br />
<br />
* Morelli, R.A., Ellis, H.J.C., de Lanerolle, T., Damon, J., and Walti, C., “Can Student-Written Software Help Sustain Humanitarian FOSS?”, The 4th International Conference on Information Systems for Crisis Response and Management, Delft, the Netherlands, May 2007, pp. 41-44. PDF:http://www.cs.trincoll.edu/~ram/ram/MorelliEtAl_ISCRAM07.pdf<br />
<br />
* Heidi J. C. Ellis, Ralph A. Morelli, Trishan R. de Lanerolle, Jonathan Damon, and Jonathan Raye. 2007. Can humanitarian open-source software development draw new students to CS?. SIGCSE Bull. 39, 1 (March 2007), 551-555. DOI=http://dx.doi.org/10.1145/1227504.1227495<br />
<br />
== Panels, and Posters ==<br />
* Ellis, H.J.C., Burdge, D., Morgan, B., Ordonez, P., and Alkoby, K. (2015). Using humanitarian free and open source software (HFOSS) to attract the underrepresented to computer science. ACM Richard Tapia Celebration of Diversity in Computing. Boston.<br />
<br />
* Ellis, H.J.C., Jackson, S., Hislop, G.W., Burdge, D., and Diggs, J. (2014). Developing HFOSS Projects Using Integrated Teams Across Levels and Institutions. Special Interest Group for Information Technology Education (SIGITE). Atlanta.<br />
<br />
* Ellis, H.J.C., Jackson, S., Hislop, G.W., Burdge, D., Postner, L., and Diggs, J. (2014). Learning within a Professional Environment: Shared Ownership of an HFOSS Project. Poster at Conference on Innovation and Technology in Computer Science Education (ITiCSE). Uppsala, Sweden.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., Purcell, M., Chua, M., and Dzaillas, S. (2013). Towards a Model of Faculty Development for FOSS in Education. 26th Annual Conference on Software Engineering Education and Training. San Francisco.<br />
<br />
* Purcell, M., Ellis, H.J.C., and Hislop, G.W. (2013). An Approach for Evaluating Open Source Projects for Student Participation. Poster at CCSC NE.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Community-Based Student Learning via Participation in Humanitarian FOSS Projects. Poster at CCSC NE.<br />
<br />
== Related Efforts ==<br />
* Hislop, G.W., Goggins, S, Ellis, H.J.C., Burdge, D., Postner, L., Jackson, S. (2013). Encouraging Faculty & Student Involvement in Humanitarian Free and Open Source Software (HFOSS). Birds of a Feather Session (BoF) at SISCSE Symposium.<br />
<br />
* Wurst, K., Postner, L., and Jackson, S. (2014). Teaching Open Source (Software). Birds of a Feather Session (BoF) at SISCSE Symposium.<br />
<br />
== Workshops ==<br />
* Ellis, H.J.C., Jackson, S., Hislop, G.W., Postner, L., and Burdge, D. (2014). Getting Started in Open Source - A Tour of a Real Project. Workshop at CCSC NE.<br />
<br />
* Hislop, G.W., Burdge, D., Postner, L., and Ellis H.J.C (2013). Preparing for Student Participation in HFOSS Projects - FOSS Tools and Techniques. Workshop at CCSC E.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at the 26th Annual Conference on Software Engineering Education and Training (SIGITE).<br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Purcell, M. (2013). Project Selection for Student Involvement in Humanitarian FOSS. Workshop at 26th Annual Conference on Software Engineering Education and Training (CSEET). San Francisco.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., Purcell, M., and Postner, L. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at CCSC NE.<br />
<br />
<br />
[[Category:Reference]]</div>Casey.ellishttp://foss2serve.org/index.php/PublicationsPublications2016-01-26T13:31:34Z<p>Casey.ellis: </p>
<hr />
<div><br />
This page contains references to publications and events that are related to the effort to help students contribute to HFOSS.<br />
<br />
== Papers ==<br />
* Heidi J.C. Ellis, Stoney Jackson, Darci Burdge, Lori Postner, Gregory W. Hislop, and Joanmarie Diggs. 2014. Learning within a professional environment: shared ownership of an HFOSS project. In Proceedings of the 2014 conference on Innovation & technology in computer science education (ITiCSE '14). ACM, New York, NY, USA, 337-337. DOI=http://dx.doi.org/10.1145/2591708.2602660 <br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Purcell, M.; Chua, M.; Dziallas, S., "Towards a model of faculty development for FOSS in education," in Software Engineering Education and Training (CSEE&T), 2013 IEEE 26th Conference on , vol., no., pp.269-273, 19-21 May 2013. DOI=http://dx.doi.org/10.1109/CSEET.2013.6595259<br />
<br />
* Ellis, H. J., & Hislop, G. W., & Rodriguez, J. S., & Morelli, R. (2012, June), Student Software Engineering Learning via Participation in Humanitarian FOSS Projects Paper presented at 2012 ASEE Annual Conference, San Antonio, Texas. https://peer.asee.org/21949<br />
<br />
* Heidi J.C. Ellis, Michelle Purcell, and Gregory W. Hislop. 2012. An approach for evaluating FOSS projects for student participation. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (SIGCSE '12). ACM, New York, NY, USA, 415-420. DOI=http://dx.doi.org/10.1145/2157136.2157260<br />
<br />
* Ellis, H.J.C.; Hislop, G.W.; Chua, M.; Dziallas, S., "How to involve students in FOSS projects," in Frontiers in Education Conference (FIE), 2011 , vol., no., pp.T1H-1-T1H-6, 12-15 Oct. 2011. DOI=http://dx.doi.org/10.1109/FIE.2011.6142994<br />
<br />
* Ralph Morelli, Allen Tucker, Norman Danner, Trishan R. De Lanerolle, Heidi J. C. Ellis, Ozgur Izmirli, Danny Krizanc, and Gary Parker. 2009. Revitalizing computing education through free and open source software for humanity. Commun. ACM 52, 8 (August 2009), 67-75. DOI=http://doi.acm.org/10.1145/1536616.1536635 <br />
<br />
* Gregory W. Hislop, Heidi J.C. Ellis, and Ralph A. Morelli. 2009. Evaluating student experiences in developing software for humanity. SIGCSE Bull. 41, 3 (July 2009), 263-267. DOI=http://dx.doi.org/10.1145/1595496.1562959 <br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; Hislop, G.W., "Work in progress - challenges to educating students within the Community of Open Source Software for Humanity," in Frontiers in Education Conference, 2008. FIE 2008. 38th Annual , vol., no., pp.S3H-7-S3H-8, 22-25 Oct. 2008. DOI=http://dx.doi.org/10.1109/FIE.2008.4720515<br />
<br />
* Ellis, H.; Morelli, R.A.; Hislop, G.W., "Support for Educating Software Engineers Through Humanitarian Open Source Projects," in Software Engineering Education and Training Workshop, 2008. CSEETW '08. 21st IEEE-CS Conference on , vol., no., pp.1-4, 14-17 April 2008. DOI=http://dx.doi.org/10.1109/CSEETW.2008.5<br />
<br />
* Ellis, H.J.C.; Morelli, R.A.; de Lanerolle, T.R.; Hislop, G.W., "Holistic Software Engineering Education Based on a Humanitarian Open Source Project," in Software Engineering Education & Training, 2007. CSEET '07. 20th Conference on , vol., no., pp.327-335, 3-5 July 2007. DOI=http://dx.doi.org/10.1109/CSEET.2007.26<br />
<br />
* Morelli, R.A., Ellis, H.J.C., de Lanerolle, T., Damon, J., and Walti, C., “Can Student-Written Software Help Sustain Humanitarian FOSS?”, The 4th International Conference on Information Systems for Crisis Response and Management, Delft, the Netherlands, May 2007, pp. 41-44. PDF:http://www.cs.trincoll.edu/~ram/ram/MorelliEtAl_ISCRAM07.pdf<br />
<br />
* Heidi J. C. Ellis, Ralph A. Morelli, Trishan R. de Lanerolle, Jonathan Damon, and Jonathan Raye. 2007. Can humanitarian open-source software development draw new students to CS?. SIGCSE Bull. 39, 1 (March 2007), 551-555. DOI=http://dx.doi.org/10.1145/1227504.1227495<br />
<br />
== Panels, and Posters ==<br />
* Ellis, H.J.C., Burdge, D., Morgan, B., Ordonez, P., and Alkoby, K. (2015). Using humanitarian free and open source software (HFOSS) to attract the underrepresented to computer science. ACM Richard Tapia Celebration of Diversity in Computing. Boston.<br />
<br />
* Ellis, H.J.C., Jackson, S., Hislop, G.W., Burdge, D., and Diggs, J. (2014). Developing HFOSS Projects Using Integrated Teams Across Levels and Institutions. Special Interest Group for Information Technology Education (SIGITE). Atlanta.<br />
<br />
* Ellis, H.J.C., Jackson, S., Hislop, G.W., Burdge, D., Postner, L., and Diggs, J. (2014). Learning within a Professional Environment: Shared Ownership of an HFOSS Project. Poster at Conference on Innovation and Technology in Computer Science Education (ITiCSE). Uppsala, Sweden.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., Purcell, M., Chua, M., and Dzaillas, S. (2013). Towards a Model of Faculty Development for FOSS in Education. 26th Annual Conference on Software Engineering Education and Training. San Francisco.<br />
<br />
* Purcell, M., Ellis, H.J.C., and Hislop, G.W. (2013). An Approach for Evaluating Open Source Projects for Student Participation. Poster at CCSC NE.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Community-Based Student Learning via Participation in Humanitarian FOSS Projects. Poster at CCSC NE.<br />
<br />
== Related Efforts ==<br />
* Hislop, G.W., Goggins, S, Ellis, H.J.C., Burdge, D., Postner, L., Jackson, S. (2013). Encouraging Faculty & Student Involvement in Humanitarian Free and Open Source Software (HFOSS). Birds of a Feather Session (BoF) at SISCSE Symposium.<br />
<br />
* Wurst, K., Postner, L., and Jackson, S. (2014). Teaching Open Source (Software). Birds of a Feather Session (BoF) at SISCSE Symposium.<br />
<br />
== Workshops ==<br />
* Ellis, H.J.C., Jackson, S., Hislop, G.W., Postner, L., and Burdge, D. (2014). Getting Started in Open Source - A Tour of a Real Project. Workshop at CCSC NE.<br />
<br />
* Hislop, G.W., Burdge, D., Postner, L., and Ellis H.J.C (2013). Preparing for Student Participation in HFOSS Projects - FOSS Tools and Techniques. Workshop at CCSC E.<br />
<br />
* Ellis, H.J.C., and Hislop, G.W. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at the 26th Annual Conference on Software Engineering Education and Training (SIGITE).<br />
<br />
* Ellis, H.J.C., Hislop, G.W., and Purcell, M. (2013). Project Selection for Student Involvement in Humanitarian FOSS. Workshop at 26th Annual Conference on Software Engineering Education and Training (CSEET). San Francisco.<br />
<br />
* Ellis, H.J.C., Hislop, G.W., Purcell, M., and Postner, L. (2013). Project Selection for Student Participation in Humanitarian FOSS. Workshop at CCSC NE.<br />
<br />
<br />
[[Category:Reference]]</div>Casey.ellis