These tutorials demonstrate the programming of software for the OLPC environment. You should likely read the Developer's Manual to understand how to set up your working environment before you attempt any of these tutorials.
Sugar Activity Tutorials
- Activity tutorial - This Hello World activity shows the basics of creating a python activity for Sugar using basic GTK operations. The bulk of the tutorial is focused on setting up the activity directory structure and boilerplate
- Collaboration Tutorial - Activity sharing using Tubes
- Game development HOWTO -- download a zip file, run a command, register the resulting activity, run it, now make it do something fun and run it again
- PyCon 2008 Tutorial (Code) -- Hello World, Participant Tracking in Games, Networked TicTacToe, Journal integration, SVG and Pango rendering
- Porting pygame games to the XO -- Phil Hassey's notes on porting two of his games to the XO. Much shorter and higher-level presentation, assumes you already have a working Pygame game, know your way around your game's code base, and just need to know what's different about OLPCGames under Sugar
- Red Hat Magazine Tutorials (Block Party)
- Introducing Sugar Article describing how to use sugar-jhbuild to set up a development environment
- Anatomy of an Activity - A more detailed look at Sugar activities (Hello World style introduction to creating a new activity)
- Converting a PyGTK application to Sugar: Part 1 - Part 1 in a series of tutorials on how to port existing applications to Sugar. This tutorial goes into the internals of the game BlockParty in preparation for converting it into a Sugar activity.
- Converting a PyGTK application to Sugar: Part 2 - Part 2 in a series of tutorials on how to port existing applications to Sugar. This tutorial goes into converting the BlockParty game into a Sugar activity (very involved).
- Programming the camera -- tutorial describing how to program the (video) camera using GStreamer
- Forth Lessons -- How to use Forth and Open Firmware
- API Reference Pointers to reference documentation for the platform.