• 2014-08-25 — 2014-12-10
  • Tues & Thurs 5:00pm - 6:15pm
  • IGME-585
  • Orange Hall (ORN)-1380
  • remydcsi@rit.edu


Welcome. Here is the course description from the RIT website:

Undergraduate Seminar in IGM is intended to allow for special one-time offerings of undergraduate topics or to allow faculty to pilot new undergraduate offerings. Specific course details (such as the course topics, format, resource needs, and credit hours) will be determined by the faculty member(s) who propose a given special-topics offering.

This year, IGM Faculty have determined these details as folows:

  • Topic: Advanced Projects in FOSS on the Raspberry Pi
  • Format: Projects based course with lecture and instruction
  • Resource Needs: Open Hardware and Open Educational Materials
  • Credit Hours: 3

At the heart of this course are 5-week release cycles. Unlike the RIT HFOSS course, that focuses on one large team project, this course will have multiple tightly-scoped project releases (or "hacks".)

Release Cycle Breakdown

Week 1Ideation and Proposal. Community Contribution Assigned.
Week 2Development. Community Contribution Due.
Week 3Development
Week 4Testing and Documentation
Week 5Packaging and Release

Each cycle will include a community contribution assignments, in addition to each hack.


All code developed by students in the course must be licensed (by the student) under any one of the licenses approved by the Open Source Initiative.

Your code that you write is your code, with which you can do what you will; true. However, if you’re unwilling to license code you write for a Free/Open Source course with a Free/Open Source license, you may be in the wrong course.

Community Contributions

Not only will students be releasing their own projects, they will also be contributing to other projects and communities as well. These contributions will fall into one of four categories:

  1. Bugfixes
  2. Content
  3. Media
  4. Graphics

Course Grading

Assignments are due at 4:59pm of the day they are marked as due, to be useful in class.

Late submissions will be deducted 10% per day they are late.

Your final grade for the semester will be derived from the following weights.

Component Weight
Completed Projects 50%
Community Contributions 25%
FOSS Dev Practices (Blog posts, commits, tickets, IRC) 25%

Required Texts:

All texts will be made available via the Open Educational Resources page.

Project Grading

Team Evaluations 25%

  • 200-1000 words per teammate.
  • Indicate what they did to contribute to the project.
  • What skills did they pick up this semester?
  • What skills should they develop further?
  • Give a numeric score (1-10) for them and justify it.
  • These must be emailed to the professor They will remain private.

Project Presentation 25%

  • Your presentations should last 10 minutes with another 5 minutes for discussion.
  • Your team will need to present from the front of the room. You can either:
    1) Make your slides web-accessible, or
    2) Email slides as a .pdf to your instructor.
  • Every member of your team needs to speak for a roughly equal amount of the presentation. Be prepared.
  • Give a demonstration of your project.
  • How does the code work?
    • What are some of the best pieces of software you wrote? Why?
    • What are some of the worst pieces? Why?
  • What stumbling blocks were there? What successes?
  • What would you have done differently?
  • What would you have worked on if you'd had more time?

  • Your Presentation will be graded on aspects such as:
    • Presentation Skills (Projection, Posture, Body Language)
    • Grammar/Spelling
    • Design (colorschemes, graphics, look/feel)
    • Timing (significantly over/under time limit)
    • Content (quality/quantity of information)
    • Adherence to Guidelines (Did you hit all the bullet points in this list?)

Finished Project 50%

  • Your grade here will be derived from the following factors (adjusted for progress over the semester):
    • Is the code clearly licensed under an OSI-compatible license?
    • Does your source repository contain clear written instructions for future developers? (i.e. How to setup their environment to work on your project)
    • What TODO items are left to do?
    • Does it work on the Raspberry Pi?
    • Does it work on python on a normal machine?
    • Code quality and git commit history.
    • Is your code packaged and listed on pypi?

Final Course Grades



Attendance is required for this course. Students are allotted 2 excused absences per semester.

Subsequent absences will result in a 10% reduction of your final letter grade for each class missed.

Blog updates – students are required to keep a blog to which they post updates about their investigations, progress, success, and pitfalls. This blog can be hosted anywhere, but must be added to the course participant page (there are instructions on how to do this in Homework - First Flight).

  • You must make at least one blog post per week to receive full credit. A week Ends on Sunday at 11:59pm.
  • You must participate regularly in the course’s IRC channel: asking and answering questions.
  • Contributions to the course curriculum, syllabus, and rubric are factored in here as well.

Blogging is good for you and good for the FLOSS community at large.

Lightning Talks - Extra Credit

Every class for the first portion of class, any student has the opportunity to give a lightning talk on a topic of their chosing. Your lightning talk must be less than 5 minutes in length and must be at least remotely related to the course material.

You will receive +1 extra credit points towards your final grade for every lightning talk you give. Only the first 2 lightning talks offered will be allowed during a given class. Talks will be chosen from among those offered by students on a FIFO basis.