RIT/The Course

From Teaching Open Source

Jump to: navigation, search


4080.445.01-Humanitarian Open Source Software

What You'll Do

This course will introduce students to the concepts of open source development and open source rights. The software produced will be humanitarian software, built using an open source process.

The software will be educational software designed to run on the OLPC, for free distribution. Students will contribute to existing projects or create their own, under a open source license. Students are expected to present reports on their work to the rest of the class, and potentially to other participants in the open source community.

Students finishing this course will have the basic experience needed to join and contribute to most open source projects, and the critical reasoning to understand the impact of their computer code on themselves and others.


Producing Open Source Software (POSS) by Karl Fogel • O'Reilly Media, Inc. (October 7, 2005) ISBN: 0596007590 or http://producingoss.com/index.html

The Open Source Way, Edition 1 (TOSW) by The Red Hat Community Architecture Team • (2009) http://theopensourceway.org/book/index.html

Assignment Weights

  • Student Class Participation = 15%
  • FOSS Community Participation & Student Online Wiki = 25%
  • Team Peer Assessment = 20%
  • Completed Project* = 20%
  • Final Presentation = 20%

The "Completed Project" is evaluated on meeting documented project milestones. Any unmet milestones need to be documented, along with what was done to mitigate the problems. Students are expected to reach out to other open source groups for assistance if problems arise, when possible, and document that experience.

Course and Grading Emphasis:

Literacy and fluency in written American English is a requirement for this course. This course assumes these skills and will not teach them. Any and all work done for this class should be of the quality that you would be proud to show a prospective employer on a job interview. If it wouldn't get you a job, it won't get you a decent grade.

Students are also expected to interact with other classmates, in person and online. Students also participate in lightning talks and an end-of-quarter presentation of the group project. A significant portion of the course grade comes from these interactions. Students should be comfortable with public speaking, online and off.

Academic Dishonesty: In the Open Source world, building on the work of others is the rule, and also in this class (as far as the software projects go) all deliverables submitted probably won’t be all your own work. What came from elsewhere, and what is your own, must be clearly documented in the code. Research, blog postings, wiki entries and blogs must cite sources and media when external. Plagarism will earn you an "F" for the course.

Office hours and assistance

Ryan Brown: 12 noon to 2 PM Monday/Wednesday, 1PM to 3:30 PM Tuesday/Thursday in the FOSSBox.

Remy Decausemaker: 1-6 PM Monday-Thursday in FOSSBox

Also available: the FOSSbox online schedule.

IRC: unpredictable.

Email: Slowest but eventually works.

Grades of "Incomplete":

May be awarded to students who

  • 1. have been doing high quality work since the beginning of the quarter, and
  • 2. due to documentable circumstances beyond their control, (Health, Death of a Family Member, etc.) are unable to complete the quarter.

Extra Credit: There is an opportunity for extra credit in this class, tied to attendance and participation in a separate community event, Bar Camp Rochester and/or NASA Space Apps Challenge. . To get extra credit you need to, at minimum, attend the event and blog about it in on top of your regular blog posts. Additional credit can be earned by presenting at the event and then blogging about it.

Quarter Schedule

Week Tuesday class plan Thursday class plan
1 March 5: Syllabus, course structure, open source, OLPC, Sugar, Lightning talks. After class: Summer undergrad research fellowship. March 7: Google Summer of Code experience, XO Distribution, RIT/Labs OLPC Smoke test
2 March 12:

Guest Lecturer Remy Decausemaker, Open Source Hacktivist, on FOSS Tools and Processes, Git intro

In-Class Exercise: IRC 5 on OLPC practice

Discussion: Contributing to Open Source without the source, Project list
3 March 19th: Team selection, project selection. Teams then discuss division of labor. March 21st: In-class: set up project pages. In-class project planning. Trouble warning signs discussion
4 March 26: Lecture "RIT OLPC Kids". In-Class Activity: Sugar on a Stick Smoke Test. March 28: Pycon postmortem/presentation. Teams Present project plan with division of labor and milestones
5 April 2: Guest speaker, TBA April 4: Team Formal progress reports. Lecture: "RIT OLPC Lesson Plans"
6 April 9: Lecture: Mashups April 11: Work time
7 April 16: Rochester Pythonistas meeting instead of class. April 18: Walter Bender presentation/talk. Tentative discussion: Documentation for Users, Administrators, and Developers. Group documentation planning. Talk about BarCamp and NASA Space Apps Challenge.
8 April 23: Work time. April 25: Work time.
9 April 30: Work time May 2: Presentation rehearsals/work time
10 May 7: Discussion: Walking away from a project. Final goal checks. Work time May 9: Final project presentations
11 Return machines during scheduled final exam period, peer evaluations

Homework Schedule

Week Due date Homework
1 Due March 7, Thursday Set up a Blog connection to TOS Planet (create a blog first if you don't have one). See Planet_Feed_List for setup.

Next, check out the list of existing activities at Sugar Labs Activities.
In your blog, list and explain the three activities that are most interesting to you and explain why.
Add your user page to TOS wiki. See RIT/Wiki_introduction page for info.
Post an introductory message to Math 4 mailing list.

2 Due March 12, Tuesday Install IRC 5 and Git on your OLPC Laptop. If you need tech support, send TA e-mail during office hours.

One Laptop Per Child: Vision vs. Reality
Revitalizing Computing Education Through Free and Open Source Software for Humanity

2 Due March 14, Thursday Reading:

POSS: Chapters 1 – 3
TOSW: Chapters 1 & 2.

3 Due March 19 Students need to research & choose projects that they would like to work on. Know enough about the projects you are interested in to be able to discuss an initial plan with your classmates.

POSS: Chapters 4 & 5
TOSW: Chapters 3 & 4.

3 Due March 21 POSS: Chapter 6

Install Virtual Box from Sun on your personal computer. Mac, PC and Linux versions are available.
Set up Sugar on a Stick on a thumb drive to use with your PC
Make sure both installs run for next Tuesday's in-class exercise.

The New Socialism
Towards Cross Cultural Game Design
How to tell if a FLOSS Project is doomed to fail

4 Due March 28 Weekly Progress on wiki - Experience of working in a team and planning as a group.

Presentation of project plan with division of labor and milestones

Studying Young Minds
Fewer Maryland Students Learning
ISTE Top Ten

5 Due April 4 Weekly Progress on your project blog

Why Open Source Misses the Point of Free Software
NYT "Open Source Proves Elusive as Business Model
Take But Don't Give

6 Due April 11 Weekly Progress on blog

Apple Education
The Instructional Power
User Testing Techniques

7 Due April 18 Weekly Progress on blog

TOSW: Chapters 5 & 6
Successful Usability Studies

8 Due April 25 Weekly Progress on blog

Feedback on last week's trips/visit.
Extra credit: Attend BarCampRoc, 4/20 at RIT and blog about it. More points if you present. Attend NASA International Space Apps Challenge for extra credit.

9 Due May 2 Weekly Progress on blog

Summarize project experience

10 None None (final projects due for presentation)

Lightning talks schedule

Please put the date, your name, and the lightning talk topic here. No more than 3 talks per class session, please.

  • March 14
    • Dan Fuhry | Yubico's Yubikey (conditional on my Yubikey NEO arriving by then. It should -- it shipped Monday, March 4.)
  • March 19 (Tuesday)
    • Casey DeLorme | Xen Hypervisor
    • Wyatt Winters | Tor
  • March 26
    • Jared Stroud | Vim
  • March 28
    • RemyD | FOSS@RIT Cross-Country Spring Tour: Tales from PyCon and LibrePlanet
  • April 4
    • Kevin G | Software as a Service, OwnCloud, and You!
  • April 9
  • May 2

Project pages

format: Project name, linked, followed by group member names.