User:Ndoiron/Out Of The Box

From OLPC
< User:Ndoiron
Revision as of 22:02, 25 August 2010 by Ndoiron (talk | contribs) (Pippy / Python)
Jump to: navigation, search

Concept

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 abstract office applications.

Map Lessons

Preparation

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.

Kasiisi School was not visible on Google Maps, so we used http://www.terraserver.com/ to buy satellite photos. Remember: this problem can affect you even if you have internet access!

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, I had teachers ask for help finding nearby landmarks, major roads, which direction was north, and which direction on the road went toward the city. But several minutes later, I could ask about features and buildings on distant parts of the map and they could identify them.

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

Photo-Mapping

  • 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

Measure Lessons

Choosing Content

Other Activities

SocialCalc: Excel for the XO

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

TurtleArt

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

eToys

See Project Waveplace lessons on eToys: http://waveplace.com/resources/tutorials/

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.