From Teaching Open Source
4080.445.01-Humanitarian Open Source Software
What You'll Do
This course will introduce students to the Free and Open Source Software (FOSS) and Open Content movements, the open source development process, the ways in which OS IP is integrating with the profit sector, the design of educational materials for K-12 students and their teachers, and to the open questions of the efficacy of technology in the classroom.
Students will learn FOSS process and Tools with class projects that support the One Laptop Per Child community by creating educational content and software for free distribution to students and teachers around the world. The OLPC project is driven by a world-wide community.
For this course students will be expected to attend and make final presentations to the RIT and Rochester FOSS communities via the monthly Pythonistas meetings, which you will attend in-lieu of a classroom day 2-3 times in the quarter as calendars of both the class and the Pythonistas allow. Students will also become members of the Sugar and OLPC international communities. Local FOSS community members may join us in class sessions as well. Treat them as you would another instructor, but they’re also your peers in moving this innovative project forward.
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
- Student Class Participation = 15%
- FOSS Community Participation & Student Online Wiki = 25%
- Team Peer Assessment = 20%
- Completed Project* = 20%
- Final Presentation = 20%
- Completed Project has the following assessment criteria—did the group meet the agreed upon project milestones? If not, what portion was completed? Students must then document reasons why, and show what work-arounds were attempted, including efforts at seeking support and assistance from individuals in the FOSS community (IRC logs etc.).
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.
Academic Dishonesty: In the Open Source world, building on the work of others is the rule, an 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. Likewise quizzes, mid-terms, research, blog postings, wiki entries and blogs must cite sources and media when external. Any deviation from this requirement will earn you an "F" for the course.
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 document able circumstances beyond their control, (Health, Death of a Family Member, etc.) are unable to complete the quarter.
Extra Credit: There are two opportunities for extra credit in this class, tied to attendance and participation in two additional FOSS community events, Software Freedom Day and Bar Camp Rochester. To get extra credit you need to, at minimum, attend the events and blog about them in on top of your regular blog posts. Additional credit can be earned by presenting at these events and then blogging about it.
|Week #||Day 1||Day 2||Assignments||Readings|
|1|| Discuss syllabus, course structure
Lecture: "RIT OLPC Intro" +"Sugarpresentation"
In-Class Activity: RSVP to the Pythonistas website for the meeting on Thursday
|No morning class; instead meet at 6:30 for class "Catch up" and then attend the Pythonistas Meeting at 7-9 PM in Innovation Center.|| 1. Set up a Blog connection to TOS Planet (create a blog first if you don't have one). Next check out the list of existing activities at Sugar Labs Activities. Then, in your blog, list and explain the three activities that are most interesting to you and explain why.
2. Add your user page to TOS wiki. See RIT/Wiki_introduction page for info.
3.Post an introductory message to Math 4 mailing list.
|Read before Thursday's Class
Read before next Tuesday's Class
|2|| XO Distribution
Guest Lecturer Karlie Robinson, On-Disk.Com, on FOSS Community and Collaboration
| Guest Lecturer Remy Decausemaker, Open Source Hacktivist, on FOSS Tools and Processes, Git and Fedora Hosted intro
Discussion: Project list
| Install IRC 5 on your OLPC Laptop before Thursday's Class. If you need tech support, send TA e-mail during office hours.
Install Git on your OLPC Laptop before next Tuesday's Class. If you need tech support, send TA e-mail during office hours.
Between this Thursday's class night and next Tuesday's next students need to research & choose projects that they would like to work on. Project list is on MyCourses. Then, in your blog, list and explain the three activities that are most interesting to you and explain why.
Extra Credit: Attend Software Freedom Day, 9/18 at RIT and Blog about it.
| POSS: Chapters 4 & 5,
TOSW: Chapters 3 & 4.
All before Tuesday week 3
|3|| Project selections & team formation. Teams then discuss division of labor.
In-Class Exercise: RIT/Git_introduction, join existing or create new Fedora hosted accounts for projects
| Teams Present project plan with division of labor and milestones
In-Class Exercise: Set Up Math4 wiki RIT Project pages for current projects including milestones, division of labor, & timelines.
Quiz: Class lecture content and readings
| Due Thursday 9/23:
OSS Community Characterization Assignment
Make sure both installs run for next Tuesday's in-class exercise.
|POSS: Chapter 6|
|4|| Intro to Education
Lecture "RIT OLPC Kids" Discussion In-Class Activity: Sugar on a Stick Smoke Test. Bring your Laptop with Virtual Box and your Thumb Drive with Sugar on a Stick to class!!!!!
| Skype Call in Lecture -- Warren Buckleitner Children’s Technology Review “Kids’ Software Past, Present & Future”
Discussion: Formal Team Reports, milestones, timelines
| Experience (or lack thereof) in working with kids and how the lecture matched up with your experience and/or perception of kids in your blog
Weekly Progress on wiki
|Studying Young Minds|
|5|| Guest Lecture: Tory Van Voorhis, Second Avenue Software, "Developing Educational Software and Games.
Team Formal progress reports (1 hr)
| Lecture: "RIT OLPC Lesson Plans"
Quiz: Education materials.
| Weekly Progress on your project wiki
Your personal take on Education and Technology in your blog..
|6|| Lecture: User Testing
In Class Activity: Begin Developing User Tests (note, if we are able to line up an elementary school to work with, some of the order of this and the next few weeks might change to accomodate the school)
|No morning class; instead meet at 6:30 for class "Catch up" and then attend the Pythonistas Meeting at 7-9 PM in Innovation Center.|| Your personal take on the user tests in your blog.
Weekly Progress on wikii
|TOSW: Chapters 5 & 6|
|7|| In Class Activity: Mock User Tests
Discussion: User Test Follow Up
| Lecture: Documentation for Users, Teachers, and Developers.
Discussion and team time to sketch out same.
| Weekly Progress on wiki
Attend BarCampRoc, 10/23 at RIT and Blog about it. More points if you present.
|Successful Usability Studies|
|8||Actual User Tests if they can be arranged, Formal Team Reports, milestones, timelines if not||Quiz on Users and Usability Testing. Development time.||Weekly Progress on wiki||OS Documentation (old)|
|9|| Lecture: Getting Ready to walk away Final Materials Expectations, Co-Op opportunity,
| User Tests of revised software.
Discussion Final Material Reviews, Rehearsal Presentations/Demos.
|Weekly Progress on wiki||NA|
|10||Crunch Time||No morning class. Third Pythonistas Meeting.Final Formal Presentations/ Demos at Pythonistas Meeting in Innovation Center. Set-up, 6:30, meeting 7-9||Final Material Reviews, Rehearsal Presentations/Demos||NA|
during scheduled final exam period