User:Ndoiron/Out Of The Box

Jump to: navigation, search


What does it mean to teach a laptop class that is Out of the Box?

Workbook Activities

Sugar has programs for basic computer literacy: Browse, Write, WikiBrowse, Paint, and TypingTurtle. Teachers hold classes on these programs with activities which are little different than workbook exercises: read this, write that.

But the laptops have more potential. The students should use activities which enable creating and activities which encourage exploration, disrupting old-fashioned education. Memorize is one of the most popular programs, because students can create their own flashcards. Schools with internet can also teach exploration through Browse, but students may not see the web as participatory (Googling celebrities, for example, instead of looking for pages and resources related to their own community).

The Interactive XO

For computers to take root in students' interests, and to prepare students to control or design future technology, I believe they should have access to advanced applications. In the book The Diamond Age, a computer called the Primer "reacts to its owners' environment and teaches them what they need to know" (CC-BY-SA Wikipedia). With mobile phones spreading to billions worldwide, and the Google CEO being one of many to suggest these mobiles will do everything from offer directions to diagnose patients, the future may be about these sensitive handheld devices.

The XO laptop has the Measure activity, camera, and microphone to sense its immediate environment. The Map activities let students both develop maps, and organize information via a map (their photos written descriptions, and wiki articles in this case). Those activities have a lot of options and potential; what I did in two months at Kasiisi School, Uganda is only one test case, or a framework for setting up your own program.

Try your technology, trust your teachers, and believe in your kids!

Activities connected to your surroundings can make just as much sense, if not more, than the standard abstract applications.

Map Lessons


At Kasiisi, we assembled an Offline Map with satellite photos of the school, the surrounding area, and major cities. For deployments with internet, you can get global imagery and speedy maps through the Map activity. For newer versions of Sugar, download specialized activities for Haiti, Uruguay, and Kenya.

Kasiisi School was not visible on Google Maps at the time, so we used to buy satellite photos. Remember: this problem can affect you even if you have internet access! You can also get freely licensed maps from ( click the + on the right of the map to see different color schemes ) or Google OSM Terrain and MapBox Streets to find other renderings.

Teachers and students may be unfamiliar with maps. Our students had learned enough to answer exam questions about major cities and geography in their country, but did not know how to find themselves. The first time showing a satellite photo, teachers also asked for help finding nearby landmarks and major roads.

Lesson Ideas

Zooming the Map

  • Have students zoom to see a map of their country
  • Ask students where their school is on the map
  • Discuss strategies (what part of the country are we in? can we find a major city that is near us?)
  • Zoom in until you see the local area; adjust the map to center on the school
  • Zoom in until you see school buildings

Finding the School

  • Teach how to use Find: (____) to locate the school immediately
  • Suggest other locations which students can look for


  • Have students take photos, short videos, or audio recordings in Record
  • Close/Stop Record (this takes time, but saves RAM)
  • Use Find to zoom to the school... at this point, the students should be familiar with this
  • Switch to the Edit toolbar
  • Click the (+) Add Media button to reveal the Journal
  • Click the most recent "Photo by ____" to select this photo
  • Use your arrow (now a + target) to select a point on the map
  • Click the orange marker which appears, revealing the photo
  • Click x to close the window, or use the escape key on the top left of your keyboard

Seeing Other Cities

  • Remind students how to use the Find: (____) feature
  • Ask students for the names of major cities and towns that they know (keep a list of cities which should be added to the MapPack)
  • Ask students to share places which they have discovered using Find

Adding an Info Marker

  • Move to the Edit toolbar
  • Click the i Add Info button
  • Move the + target to the location and click to add the marker
  • Type a description
  • Click Save to store that description

Adding Info Markers with More

  • Add an info marker as you did before
  • Use the code wiki:___ to embed a Wikipedia article. For example- wiki:Haiti
  • Use the code wikiFR:___ to embed a Wikipedia article in a different language.
  • Use the code pic:___ with the URL of a picture to put it inside the info window.
  • You can search for nearby Wikipedia articles and Panoramio photos by clicking other options in the Download toolbar.

Adding a Line or Shape

  • Move to the Edit toolbar
  • Click a line or polygon button (line looks like a /, polygon looks like a hexagon)
  • Move the + target to the first point of your line or shape
  • Click the next point. Wait for the line or shape to be re-drawn before clicking again.
  • When you are finished drawing, click the line or polygon button again.

Adding a Google / OSM Map

  • On the Download toolbar, find the Google and OSM buttons
  • When you are centered on an area which you'd like to see in greater detail, click one of those buttons
  • Allow a few minutes for the map to load, then zoom in
  • You can hide downloaded maps by unchecking them in the layers menu.

Measure Lessons


You're advised to replace your existing Measure activity with the Crikey activity. This includes several changes to make the activity easier to read and use with sensors, based on the Measure/Kasiisi activity and the Measure activity included in newer versions of Sugar.

Consider various sensors from a selection of assembly-required, store-bought, and student-made sensors.

Also look at this brainstorm of sensor ideas from Sameer and Nick.


If you have the ambition to build your own sensors, you may already have a good idea of where to find the parts and how to assemble them. If you don't, I recommend SparkFun, DigiKey, Lady Ada, and RobotShop for parts. Ask Make magazine if there is a local group in your area that tinkers with electronics, and practice soldering.


Your local RadioShack (or other electronics store) has a variety of connectors, wires, and sensors. The Measure page also has links to cheap temperature, light/solar, and magnetic sensors on DigiKey. Shopping around, you can also find sensors for motion, humidity, and sound.

In the Kasiisi class, we had the students do a little building work so that we would not lose the sensors. Students cut a 3-inch square of cardboard and punched four holes. We then helped thread the sensor or LED through the holes. This solution made it possible to label the sensors, and to make sure none of them got lost.

This is also where you'll need to get your connectors. A basic sensor connector consists of a 1/8" mono audio plug, at least two feet of wire, and alligator clips. Plug the connector into the microphone port (pink hole under left ear of the XO), and tap the wire ends together. You should see a graph of your actions scroll smoothly across the screen.


Once you have made connectors, you can demonstrate connecting and disconnecting a circuit by touching the wire ends or attaching them to conductive and non-conductive materials. Now attach each wire to a square of aluminum foil. When the foil pieces contact, they complete the circuit. You can use this to make a simple door or window alarm which senses when a door opens and closes.

See more examples of aluminum foil sensors on the Measure/Kasiisi page.

There is a growing interest in the electronics community in sewn, painted, and clay-molded circuits. This removes the difficulty of building and wiring something at the same time -- your wiring becomes integrated into the core medium. If your students know more about needlework and Play-Doh then foil and wires, it would be fantastic to see these new methods tried out in the classroom.

Understanding Measure

The Measure or Crikey activity will read from the built-in microphone until something is plugged into the pink 3.5mm audio connector. Tap or scratch lightly over the microphone ( a hole on the left side of the screen ) and small deviations will appear in the readout.

Understanding Circuits

One of the first sensors you can experiment with is a binary sensor. It should have a 3.5mm audio connector and two wires. When you run the activity, you should see a flat line (representing 0) and when you connect the wires, it should jump up to a higher level (representing 1). Have the students connect and disconnect the wires until it is clear that there is a connection between what happens physically and what is appearing on the screen. The Crikey activity also displays a counter of how many times the wires are connected.

This is a jumping-off point to talk about other sensors which the computer has: keys and buttons that work similarly to your binary sensor, a microphone, a camera, and touchpad. Compare these to the human senses. Note that smell and taste are missing from the computer ( but these senses have been built in labs ).

Working and Playing with Solar

Try to conduct this class outside or in a well-lit room, with a small flashlight for each teacher. Remind students that the previous activity told you if a circuit was connected or disconnected. When a circuit includes passing through a light sensor, it can be in between. Compare the light sensor to an eye or camera ( it has to point at something to 'see' it ) and to a solar panel ( it has to point at the sun to get the most energy ). Connect students' computers light sensors and ask them to point them at the sun. Then ask a student to cover up their light sensor with their hand. Like covering their eye, it blocks light from coming in. The graph should show this happening in real time. There also should be a Light % value on the bottom of the activity window.

If your light sensor is not reaching maximum value from sunlight, turn on a flashlight and ask students what will happen if their light sensors see it. It should add to the light that they see. Have them point their sensor directly at the flashlight, or go around the room lighting up sensors at each desk.

With advanced students: note that people talk about 'light' 'dark' 'sunny' 'cloudy' 'bright', but the computer sees light as a number.

Temperature / Environment

Connect a thermistor to students' computers and discuss how computers can detect weather. People can use sensors to know if their crops have received enough rain this year. They can put sensors in the ocean to detect hurricanes and tsunamis while they are in the ocean, and prepare for them.

The temperature sensor is not designed for small temperature changes, and the value tends to drift downwards when it is not in use. To make a visible change in the sensor, pinch it tightly between your thumb and pointer finger. The value should go up slightly, and then drop when you release it.

Long-term Graphs of Sensors

What would the light sensor do if we watched it for 24 hours? Draw a graph on a board and ask them what it looks like when they cover and uncover a light sensor. Now change the time-scale. Ask what parts of the time scale are during the night, and the day. Students may be more familiar with sunrise / sunset than actual hours that they wake up and go to sleep. In this case, use the first class of school as a starting point and work your way forward and backward from that time.

Some interesting examples: a cloudy day, a partly cloudy day, a solar eclipse (especially if they recently experienced one: ).

Ask what other things could be measured, like rain and wind speed. See if you can find a local newspaper with weather reports.


A potentiometer lets you turn a dial or slide a switch to change the resistance of the circuit, similar to a volume control or a frequency-changer on a radio. Essentially, this gives you two types of motion which let students directly change the value on the graph. Choose and test your sensors ahead of time. The potentiometer will have three connection points, but you can get results from connecting to just two of them. If you are only using the potentiometer for your class, find the best two pins and fold the others out of the way.

Once students understand how to turn or move the potentiometer to change the graph, ask them to write letters. Writing the letter M is a great way to discuss how graphs work - it also may be interesting to ask what letters can't be drawn in the graph ( such as C and Z ). You need to change the value quickly to start writing an M, and then move it more gradually to make the inner lines of the M.


Typical 3-Volt LEDs will not light up when you connect them to the microphone port on the XO. StarBoard flexible LEDs work well, but cost $4 each:

IR Sensor

Currently untested: an IR sensor could show how a remote control sends messages to a TV. Although we cannot see the light from the remote control, the TV and other electronic devices can be built to see it. This could be another way to explain how computer sensors are different from human senses.

Working with RFID/NFC

Making our own sensor

Unconventional circuits (thread, paint, or Play-Doh)

Choosing Content

The laptops don't come with enough photos, books, music, and activities. Deployments will need to reach out and find more. This is difficult even with English-speaking students and internet access. No matter what you have access to, you need to work to find good content.

Once you have content downloaded to the XO, you can either teach it or let the students explore it for themselves. Take care to teach the basics of browsing: scrolling, using the buttons near the screen to page up and down, clicking, and not clicking bad links.


Pictures are worth a thousand words each, and those words need far less translation than books. There are plenty of great resources for photos.

  • Google Search for photojournalism blogs and photography blogs

Wikipedia Articles

Articles from a local language's Wikipedia or the Simple English Wikipedia can replace a less-accessible print encyclopedia or the WikiBrowse activity which comes with most XOs.

Read WikiPack for tips on adding this content, especially if you would like to add the articles to WikiBrowse

eBooks and Audiobooks

eBooks are available from a variety of sources has plenty of audiobooks which come with free text

You can use a simple script to combine your eBooks and audio ... try this example page

More Content! Do Read

An older list with some interesting links is available at User:Ndoiron/Content

Other Activities

SocialCalc: Excel for the XO

The SocialCalc activity is a spreadsheet and graphing application for the XO. It has been used for a variety of lessons, including having students graph their environmental and sensor data. You can make two types of bar graphs, pie charts, line charts, and scatter plots. Making your first graph is simple, but there are plenty of options to customize your table and make complex graphs.

You can use these lesson plans as a starting point for teaching students how to make a table, how to make a graph, and which graphs to use for different purposes.

Offline SocialCalc

If your deployment is entirely offline, you should download the offline version which replaces the Google option with a larger canvas-based graph. You also gain the ability to select the colors of your graph regions.

SocialCalc in other languages

Watch a video lesson from OLPC Ceibal (Spanish):

The SocialCalc lesson plans are also available: in Mongolian.

Programming for Non-Programmers

Teachers and administrators are eager to give their kids an edge on using computers and learning different technologies. But once you reach computer programming, there is an unusual problem: the teachers themselves may be learning how to program for the first time. In my own project, some foreign and local volunteers argued against teaching any programming activity. Make sure that you understand the students' math level and how they're taught, that other teachers sit in on programming lessons, and that your goals are not too ambitious.

Some benefits of teaching programming in your class

  • Teaches problem-solving, logic and reasoning, geometry, and algebra
  • Helps explain how computers work - similar to opening up the hood of a car, or opening a watch
  • Empowers students to control the computer
  • Gives students an opportunity to take chances, make guesses, and deal with mistakes in their learning process
  • Introduces the power of importing code, allowing small programs to control the camera and speak functions


Geometry students can make use of the drawing features in TurtleArt. The first lesson should be very basic - ensure that students understand how to click and drag blocks onto their screen, set numeric values (such as right 45 instead of right 90), reset by clicking the eraser, and join blocks to form longer programs. Then let them modify and run their programs several times to see how they can change things onscreen. Once your first lesson has gone well, you can set a goal, such as drawing a letter or a shape. Know what the students are learning (for example, right triangles) and incorporate them into your lesson.

TurtleArt slip-ups

  • An equilateral triangle has 60 degree angles, but a turtle traveling on the edge will turn 120 degrees at each corner (think about it). This needs to be explained well to the class.
  • If your students have trouble connecting the program blocks, have them click each in turn. This is better than having students think nearby blocks are connected, and running only part of their program
  • Don't click and drag numbers out of their place unless you're teaching variables
  • I don't recommend any preloaded example - they are beyond basic users of the program and possibly intimidating


See Project Waveplace lessons on eToys:

Tried and true in several different countries =)

Pippy / Python

Okay. So Pippy is a stretch to give to kids. But it takes us from finding, clicking, dragging code blocks together to typing a real, used-on-the-laptop programming language. It also gives us power to use the camera and speak functions, which kids like to use. You have a few options for lessons. (1) Read through a simple example program. (2) Change values in an example program and see what happens. (3) Write your own program.

Run the camera example program and you'll see that it takes a photo, then rotates and shrinks you. This is fun, but how does it work? All of the code is written on the page, and it's very complicated. The best way to understand what is going on is to change something, and see what happens. At the last lines of the program, you'll see

angle = angle + 5.0

scale = scale * 0.95

This decides how the picture rotates and how it changes size! Even without knowing the rest of the program, we can control how it works. Change angle to +10.0 , -25.0, or change scale's multiplier to 1.15 or 1.0 or 0.6, and try the program again. What happens? It's okay to make mistakes when working with programs, and some of what you make will be rejected entirely by the computer. You can always reload the camera example if you can't figure out what you did wrong.

For new programs, start simple, with a math problem. The answer will appear on the screen - no printer required ;)

answer = 550 - 342

print answer

You can use that to solve complex problems, even using * and / to multiply and divide, and solve them quickly. Now try the following program, which says "hello" out loud:

import os

os.system('espeak hello')

Just as countries can import things instead of making them, you can import "os" and get a number of features which other programmers put into the Operating System. Here we can use it to send a complicated task which has already been figured out for us - making the computer speak. Next, let's put the two programs together:

import os

answer = 550 - 342

os.system('espeak ' + str(answer))

Or try this:

import os

word = 'oranges'

for letter in word:

    os.system('espeak ' + letter)

That's more than you could do in the Speak activity. You can make the computer do some work, and speak what it's supposed to say.