SIGCSE 2013 Workshop Notes

From Foss2Serve
Revision as of 11:53, 12 March 2013 by Hislop (Talk | contribs)
Jump to: navigation, search

Notes from the SIGCSE 2013 Workshop

OpenFE Workshop Learning Materials Sprint

3/6/13

These are unedited notes taken by various people during the SIGCSE 2013 pre-conferencence workshop


File created on etherpad: http://openetherpad.org/OpenFE

Now saved on the foss2serve wiki: http://foss2serve.org/index.php/Notes_SIGCSE_Workshop_2013


SIGCSE Workshop Agenda: http://foss2serve.org/index.php/Agenda_SIGCSE_Workshop_2013

Pre-Workshop Activity Schedule: http://foss2serve.org/index.php/Pre-Workshop_Activity_Schedule

http://foss2serve.org/index.php/Intro_to_FOSS_Activity

The textbook "Practical OSS Exploration" is at: http://teachingopensource.org/index.php/Practical_OSS_Exploration_textbook (there isn't a link on the TOS homepage for this, and it's surprisingly hard to find... We should probably fix this...)

Materials Resources: https://zenit.senecac.on.ca/wiki/index.php/Dive_into_Mozilla


Stage 1 Comments

The course related activities need expectation setting - that we want them to think and come in with some preliminary ideas, but not final plans


Contact Info

  • Peter Froehlich, phf@cs.jhu.edu, Johns Hopkins Computer Science, Senior Lecturer, Gaming and Systems "Stuff" in general.
  • Karl R. Wurst, karl.wurst@worcester.edu, Worcester State University, Professor and Chair of Computer Science.
  • Heidi Ellis, ellis@wne.edu, Western New England University, Chair and Assoc. Prof. of Computer Science and Information Technology
  • Mao Zheng: mzheng@uwlax.edu, Department of Computer Science, University of Wisconsin-La Crosse
  • Lori Postner: Lori.Postner@ncc.edu, Dept of MAT/CSC/ITE, Nassau Community Cmunity College, Garden City, NY
  • Cam Macdonell: macdonellc4@macewan.ca, Dept of Computer Science, Grant MacEwan University
  • Joey Kendall-Morwick: jmorwick@indiana.edu (currently at DePauw Univeristy, Dept of Computer Science)
  • Darci Burdge Nassau Community College darci.burdge@ncc.edu
  • Greg Hislop Drexel University hislopg@drexel.edu
  • Michelle Purcell Drexel University mjw23@drexel.edu
  • Peter Froehlich Johns Hopkins phf@cs.jhu.edu
  • Stoney Jackson Western New England University stoney.jackson@wne.edu


Stage 1 First two weeks seem OK 1.4 Register a channel on freenode: http://blog.freenode.net/2008/04/registering-a-channel-on-freenode/

Second two weeks 2.1 - both Karl & Greg have sample activities create one on wordpress look at http://teachingopensource.org/index.php/Planet_Feed_List on how to set up a blog and tag post on personal page on wiki include information on planet and talking about tagging blog posts - provides a way to direct certain posts to outside groups through planets or aggregators without having to send all your posts there.

2.2 - post on personal page on wiki 2.3 - Etherpad - may not need to be done in stage 1; don't want the use to seem artificial - seems like no good use of this during the second two weeks

What goes on a blog vs. wiki wiki - achival - what will people want to know about in the future? project structure, things people need to know - documentation blog - personal reflection - experience based - commentary

2.4 FOSS field trip - should be posted on a blog as opposed to wiki

what goes on personal page on wiki vs. general l foss2serve wiki? 2.5 list of projects and evaluations and have people add to/edit that wiki page Have the participants choose a project from the list of projects on the foss2serve wiki, and then put up their evaluation on that page (this will help build up the catalog of projects....)

Third two weeks: 3.4 - perhaps this should be presented as more of a brain storming activity and make it clear that these are initial thoughts based upon what the the participant has learned thus far

      • During stage 1 we need some type of question/answer period - office hours, email, piazza, list serv, etc.

Stage 2 pedagogy & accessment student team management class dynamic & organization class roadmap

have people available on IRC to help with the download/install of project

should the order of the pre-workshop activites be re-arranged? for example, should if the field trip is open ended, should that come before the FOSS in courses activity where they focus on one?

1. Introduction – 60 minutes Heidi Cam Mao Joey

Learning objectives:

   Why Open Source 

Productively Lost: TODO: update to this link http://teachingopensource.com/index.php/Textbook_Release_0.8 http://quaid.fedorapeople.org/TOS/Practical_Open_Source_Software_Exploration/html/ch-Foreword.html http://quaid.fedorapeople.org/TOS/Practical_Open_Source_Software_Exploration/html/sn-Foreword-Why_Traditional_Student_Projects_Are_Ineffective.html

   Understand terms:
       What is open source software 
       optional video (Revolution OS - also available on Netflix Instant): http://www.youtube.com/watch?v=CjaC8Pq9-V0
       http://en.wikipedia.org/wiki/Open_source - Sections 1 History, 3.1 Computer Software
       http://en.wikipedia.org/wiki/Open_source_software - Sections 1-3, 5, 6
       http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html#catbmain
       http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s11.html
       Discusses the foundation of Firefox which grew out of Netscape: http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s13.html
       http://en.wikipedia.org/wiki/Mozilla - Sections 1, 2.1
   Example FOSS Project: Firefox? (or leave for field trip)

https://zenit.senecac.on.ca/wiki/index.php/Dive_into_Mozilla

Possible readings: http://en.wikibooks.org/wiki/Open_Source

Intro to Mozilla course (Open source intro) https://zenit.senecac.on.ca/wiki/index.php/Dive_into_Mozilla


6. Anatomy of a FOSS Project [formerly known as: "Intro to FOSS Projects and Dynamics"] - 60 minutes

Stoney Peter Darci

Learning Goal: Understand basic terminology used in open-source development


       TO THE ACTIVITY DEVELOPER
   A directed walkthrough into a specific project. Participants answer questions engaging with terminology.
       TO-DO LIST
   Pick project: Peter
   Gather links
   Draft walkthrough


   The idea here is to provide an introduction to the "landscape of a FOSS project". Introduce "major players" (well-known opensource projects?) and define
       major players (86?)
           Firefox - Mozilla
           GNOME
           Apache
           OpenMRS
           Ushahidi
           Sahana
           Mifos
           Sugar (one-laptop-per-child)
           HFOSS Project list:  http://xcitegroup.org/softhum/doku.php?id=g:hfoss_and_oss_projects
           https://developer.mozilla.org/en-US/docs/Introduction
           https://developer.mozilla.org/en-US/docs/Developer_Guide
       key terms such as (use major players as examples to introduce these terms)
           What is a forge?
           Not all open source projects exist in a forge.
           The status of a project may be anywhere in the planning to mature stages.
           Regarding community - What major roles/teams exist within the project?
           releases: find version number system for project.
           code repository policies:
               e.g. http://nvie.com/posts/a-successful-git-branching-model/
           packaging
           upstream (no artifact)
           downstream (no artifact)
           trackers: find the tracker
           tickets: look at some tickets
           roadmap, etc.: find the roadmap. How are releases managed? How
   First couple of chapters in "Productively Lost" ? http://teachingopensource.org/index.php/Textbook_Release_0.8
   Mel has a good overview of some parts in "Roadmap Merge" activity here:http://mchua.fedorapeople.org/posse/POSSE-booklet.pdf

Possible links: http://en.wikibooks.org/wiki/Open_Source


Peter's Silly Attempt

   Pick a project: Lighttpd. http://www.lighttpd.net/
       Why? Small enough to get a handle on rather quickly (especially since they have a semi-documented plugin system http://redmine.lighttpd.net/projects/lighttpd/wiki/HowToWriteALighttpdPlugin so you can build a small piece before building a big piece), important enough since used on popular websites.
   Tracker/Tickets: http://redmine.lighttpd.net/projects/lighttpd/issues
       tracks both bugs and features
       ticket status from new to feedback to actual patches
       locates most issues in modules of architecture
   Roadmap: http://redmine.lighttpd.net/projects/lighttpd/roadmap
       outlines which issues are going to be fixed in which release of the project
       stratifies issues into what's going into the next release and what's going to be addressed (a lot) later
       release numbering is 1.4.concrete for next release, 1.4.x for issues that's not too far off and may lead to smaller architectural changes (but might never get fixed if things go badly), 1.5.x for their next architectural vision which will overhaul the entire project
   Upstream/Downstream: ?
       uses svn/bzr?
       general definition: upstream is where THE source for the project lives, what will get released; downstream is where YOU work and try to fix things; patches go from downstream to upstream, not sure how in lighty yet
   Releases: http://blog.lighttpd.net/ and http://redmine.lighttpd.net/projects/lighttpd/wiki/Releases
       announcements are here but where the plan is I don't know
       two tracks: release candidates vs. stable releases; candidates are testing fixed issues among a wider group of people, not recommended for stable deployments
   Code? http://redmine.lighttpd.net/projects/lighttpd/repository
   IRC: irc://irc.freenode.net/lighttpd
   Community: http://redmine.lighttpd.net/projects/lighttpd/boards
       prefers IRC and forums
       has mailing lists as well http://redmine.lighttpd.net/projects/lighttpd/wiki/MailingLists

Stoney's Ludicrous Attempt

   Project: Sugar Labs Project: http://sugarlabs.org/
   Tracker/Tickets: http://bugs.sugarlabs.org/
   Major Players: http://git.sugarlabs.org/teams   http://www.sugarlabs.org/index.php?template=page&page=contributors_teams 
   Forge/Repository: http://git.sugarlabs.org/sugar-base
   Release cycle / version numbers
   Upstream/Downstream: diagram with explenation
   Communication:
       IRC: http://meeting.sugarlabs.org/  &   http://chat.sugarlabs.org/ 
       Mailing lists: http://lists.sugarlabs.org/
       Blog: http://planet.sugarlabs.org/
       Wiki: http://wiki.sugarlabs.org/go/Welcome_to_the_Sugar_Labs_wiki
   Roadmap: ???
   Repository strategy: https://wiki.ushahidi.com/display/WIKI/Our+Git+Repository

Darci's Excellent Attempt

   Project: Sahana Eden - http://eden.sahanafoundation.org/wiki
   Tracker/Tickets: http://eden.sahanafoundation.org/report
   Major Players: http://eden.sahanafoundation.org/wiki/WikiStart#WanttoContributetoSahanaEden
   Forge/Repository:  https://github.com/flavour/eden/fork_select
   Release cycle / version numbers: 
   Communication: #sahana-eden Main Sahana Eden Channel; 


Hilarious Talk about Free Software and Open Source (that my students liked, careful swear words): http://www.youtube.com/watch?v=UIDb6VBO9os

Aside: we need to come up with what a FOSS Roadtrip would be. Sounds like fun...

For Stoney: http://dl.acm.org/citation.cfm?id=1531692

Revi Sterling


ACM ICTD conference - held every 18 months; recently in Atlanta, next one in South Africa

Development organizations involved with ICTD program Invenio (?) - based in San Francisco Net Hope World Vision UN Denver Public School District

ICTD Masters http://www.colorado.edu/atlas/newatlas/masters/ - 10 per cohort - about 6 are tech background; rest social sci or military, but with world experience, e.g., peace corp - Wide age range; some faith based motivations; heavily women; substantial international, esp. west asia - Currently on third cohort

3 semesters in class; one semester field project

Class work: See: http://www.colorado.edu/atlas/newatlas/masters/curriculum.html case studies global dev I - about dev industry global dev II - current trends in development ICTD Lab - projects from NGO quant and qual tools - in support of field work 3 grad tech courses; CS, telecomm, engineering tech courses within the program, e.g., andriod; arduino Policy/ econ course Free elective

Just for reference, Revi's level of excitement is amazing. :-)

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