Course Home

The Course

Course Table of Contents

Other Areas of Interest for Students

Course Inspiration

How We Got the Idea

The idea for an OLPC college course came about with OLPC@Duke's conversation with a professor in CIS at University of Delaware, Lori Pollock. She expressed an interest in creating a course, but was unsure of exactly where to start. She contacted us:

I've been looking into getting students involved either through a course or club in the OLPC program.I would like to learn more about how you got started in developing software and learning about the XO laptop itself … Could you give me some insights into how you got started with the program … I'm very interested in seeing if I can get students here involved in programming for these laptops and in volunteering to help start a pilot program nearby, to give to the community and see how cs skills can indeed help the world be a better place. -Lori Pollock

It was at this point that we realized we were in a special position to offer insight not only into pilot programs, but also software development. We were in the process of getting up to speed on development

Inspiration for the Format

We took inspiration for the format of the course materials from Professor Duvall, who teaches mainly from a computer (and does so successfully). The adapted material and resources that are linked to are all conducive to a classroom taught in much the same fashion.


Alex Keybl

  • Python Development Overview (part 1)
  • PyGTK/Glade Development
  • Sugar Familiarization
  • XO Specific Material and Application Deployment
  • Mesh Networking

Perry Nelson

  • Bitfrost Overview
  • Assignment Creation
  • Final Assignment design and solution
  • Example Mesh Networking application

John Pena

  • Python Development Overview (part 2)
  • Version Control with Git tutorial
  • Game Development with Pygame and OLPCGames
  • XO Specific Material and Application Deployment
  • Community Involvement

Course Plan

Who's Involved

This course is being developed as an independent study by:

  • Alex Keybl
  • Perry Nelson
  • John Pena

Course Idea

We were brainstorming today during our meeting about the direction of the rest of the independent study project. We're now considering the idea of designing a university level course that will teach application development on the XO. This would involve creating a syllabus/course schedule, a series of lectures and tutorials along with assigned reading, and a set of projects along with their solutions. The target audience for this course would be computer science majors with development experience. We could see this becoming a service learning class like those that are taught in other departments.

The reason for this change in direction is that we are unhappy with our current progress, and we recently got a call from a Professor at University of Delaware wondering if there was any course material for XO development. This really got us thinking. As of right now we have the following idea for going forward - we will go week by week creating the course material in a wiki for the next 14 or so weeks (so 1 week of independent study:1 week of the course). Right now we have the following ideas for how the course would be done:

  • Weeks 1-2 Python Development
  • Weeks 3-4 PyGTK/Glade Development
  • Weeks 5-6 Major PyGTK Project
  • Week 7 Familiarization with Sugar
  • Weeks 8-10 XO Specific Material and Application Deployment
  • Week 11-14 Research into PyGame/mesh/sensors/etc., and creating a new project or adding it into the last major PyGTK project

We plan to begin adapting our current work and python tutorials into a working model. We're going to use the following materials:

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License