CMU Project Rwanda

Scratching the Surface of Programming by jdebner
August 27, 2010, 3:45 am
Filed under: Planning, Teaching Experience

Scratch is a programming application based out of MIT, available on the OLPC XO. It features block “drag and drop” programming for beginners. We were a team of four people who taught basics of programming to a class of about 20 students per session, totalling about 120 students. Our sessions covered 4 days with a final showcase day.

Lesson Plan prior:

Our goal to achieve over the period of four days was to build a game. This was to show the students that programming could be fun and there were lot of things you can achieve through it.

Games considered:

  • Maze
  • Paddle
  • Bouncing ball

We are going to tell you what we initially planned for the day, then what we actually achieved and add a short commentary about our reflections for the day.

Lesson Plan:

We had one person lead the class(Josh- the Umuzungu) and the other three go around class, helping the students build the program.

Day 1:

Previous plan:

  • We were trying to feel out what the students knew and what methods for learning would be most applicable for them, whether it is teaching on the board or acting it out
  • We wrote the program ourselves to figure out what is the easiest way to teach the students
  • We learned about how scratch calculates the center of an asymmetrical object (that you draw) to bounce off the walls at point of contact
  • Our plan was to do little pieces of the game each day and combine all the parts of the game at the end to show them an end-product
  • We were aware that the 5th graders we were teaching had used Scratch before during a malaria-awareness camp


  • Ice Breaker: We told the story of our coming to Rwanda which is a version of Simon Says. We did the following actions: rowing (action: row on your knees), flying (action: move arms while standing), waiting (action: stand against the wall) and driving (action: drive while sitting)
  • We taught the concept of angles at 90 degree interval, using a 2-D picture of a cat
  • We covered direction by making students stand up and face that direction
  • We drew sprites and got them to move on the screen


  • We faced technology issues all day because of handing out laptops, checking if scratch was available and getting scratch loaded
  • We did not get to teach much and we weren’t connecting well with the students as they did not seem to understand it well
  • One of the reasons for the disappointment was that we were trying to teach them the elements specific for the game and we weren’t presenting it in the actual context that they should learn it in
  • Our demo’s weren’t good as we were presenting a 2-D diagram in 3D and did not end up using the blackboard at all on the first day

Day 2:

Previous plan:

  • Go through basic introductory programming ideas and teach basic structural elements like loops and some logic like greater than and less than and so on


  • Ice Breaker: Name and actions, where everyone in the room assembled in a circle and said their name and did an action and everyone else imitated it in the room
  • We taught sound which we weren’t going to even use in the game but just to teach the concept
  • We imported a sound and then we had them create a simple conditional statement, if statement about some number is greater than another and then play the sound. We changed the numbers and tried different logical statements, so that they could understand the conditional statement and the math involved
  • We taught if, then if else, and tried to explain that having a statement after the else or within the if-else block and tried to show the difference. We demonstrated it by making people stand in a line and give them a number,  we also had a gate keeper who would determine if or else and would tell the if or else option to act
  • Programming basics taught were for, while and forever loops


  • One of our best days as the demonstrations were effective as we did not have to worry about 3D figures as we used students demonstrate and we could tell if they were understanding logic or not because the entire class participated and they could correct their peers if one of them was wrong
  • Each class got into a little different stage because of how accustomed they were to scratch
  • In terms of flow it worked well with teaching concepts and wrote code on the board, so the students could see the program. The code wasn’t written on the board, till the students had already learnt about it
  • The most effective way to use a translator was for Josh to talk a bit longer and then the translator could put more of it in context. This way Josh could say a bunch of things, and the translator could clarify and Josh could go around seeing if everyone was moving ahead collectively or not
  • It was important to have the other three people on the team to go around and see if all the students were caught up or if they needed any help. Melvin made sure the board was up-to date and everyone helped with technical issues like not having scratch loaded, the computer freezing or mouse issues

Day 3:

Previous Plan:

  • The goal was to get the first part of the game working, which was to move a fruit plate horizontally. We want to teach that if we moved to the right, we added to the x variable and add to the y axis for moving left


  • Ice Breaker: Ninja
  • For starting the game, we taught about X direction motion, and had to decrease the size of the fruit basket because it was big for the screen which would make the game really easy. We additionally taught them about key presses, to move the basket


  • The problem we faced was that we had to make sure that the students saved this game, so we could load it the next day to complete it. It was an issue because of multiple laptops and multiple students
  • Scratch is not integrated into the operating system as other applications. So we have to save it, just like how we need to make sure we quit properly to close scratch
  • We made sure we made our own copy and placed it on a  flash drive, so that just incase students hadn’t saved it, we could load it for them and everyone would be on the same page on the next day
  • We had to teach the numberline to students as well because dealing with negative numbers could be complicated for fifth graders. We weren’t prepared to teach it but it was necessary to understand the concepts

Day 4:
Previous Plan:

  • Finish up the game, add the dropping banana


  • We finished the game by adding the banana, made it smaller, dropped it from the sky and then from different places in the sky and we added a points counter as long as the banana was caught in the fruit basket
  • For demos, we made a student walk back and forth when we told them which direction to walk in and we taught about the y-axis on the board with a number line and sponge


  • It was a very rushed day because we had to finish building the game.
  • It was a fine balance between making the students understand the programming behind the game and them having something tangible in the end
  • The random number generator was confusing for the students and was a difficult concept to grasp

Common observations:

  • Students loved playing games
  • They like live-demonstrations and are very willing to volunteer
  • Interacting with the students with an ice-breaker before starting class was important to make them feel comfortable
  • Even though the students can speak English and prefer using scratch in English, it was necessary to have a translator to bridge the gap
  • They are very excited to learn and were open to learn. They were very persistent and patient with their laptops
  • We only taught for four days but we could see who were the leaders in the classroom, who understood the material and we made a conscious effort to make sure that everyone was at the same level

Problem encountered:

  • Mousepad when covered with dust, became harder to use.

Teaching experience of a Record Team member by Waleed Ali Khan

I met Darbi Roberts (The Student Development Coordinate at CMU-Qatar) today  to tell her all about the trip, and I realized that there was so much to talk about. I therefore decided to document my teaching experience, for myself and for others interested in getting involved with OLPC.

Shedding Inhibitions:

Josh told us that the students were going to be a bit shy, but they turned out to be more responsive than expected. Nevertheless, Ice breakers were important to get the students comfortable with us and show them that we’re their friends rather than their teachers. Our team  played ‘Simon Says’, but since the students and our translator had trouble saying ‘Simon”, we changed the game to ‘Sam Says’.  This is just one of the many ways we adapting our activities to suit the students.


Some things are better left untouched…

We realized was that the kids knew so much more than they showed. I remember in the beginning we asked the translator to ask them simple questions like “What just happened in the skit?” and no one would answer. We were initially disappointed because we would get blank, scared faces. However, our translator came up with the idea of pointing to a student and asking him/her to answer the question. This was something that we were initially not comfortable with, but it worked. Perhaps the “modern” solution of not singling a student out isn’t universally the best. We all made it to a point to realize that the school had opened it doors not to change their teaching methods, but to enhance them. This involved us being sensitive to the traditions of teaching followed by the school.


I remember how I overslept for one of the lesson planning and Ariel, who was the only one up on time, ended up whipping a plan from the top of hear head. What was funny was that the lack of confidence we had in our not-so-planned lesson plan became our strength. We were more open to modifying what we wanted to do in those 50 minute slots according to what we deemed necessary. For example, the ice breakers, which was initially just one round of making expressions without sounds, was changed to a two round ice breaker where the second round involved everyone performing the same actions as the selected student. This exercise not only gave the students confidence when they were doing silly actions, but also created a more trusting environment.

Keeping it open-ended…

One aspect that I really appreciate about the OLPC applications is that they are very open-ended in nature. This means that they leave large room for creativity, making them interesting for students and instructors alike. For instance, our record program was just a webcam application that allowed taking pictures and videos. However, our team managed to make it an extremely educative experience for the children, as they were challenged in many dimensions. They were taught the concepts of teamwork, creativity, structure, and perhaps even critical thinking. Teamwork, Creativity and Structure were taught through the skits where the students worked in groups of 2 and 3 and were asked to perform a skit. Furthermore, they were also asked to make masks for their jungle skits.

However, the most interesting aspect that we aimed to teach them was critical thinking. We asked these students to explain why we did “actions without words” and through that, taught them the importance of nonverbal communication and body language and how they transcend the language barriers that we faced.

Lastly, we taught them how to create. These students created their own movies, something that they could give credit to themselves. This is probably their first “creation” and will hopefully encourage them to be enterprising in the future.

Giving them a start…

It was important for us to give the students some scenarios instead of giving them nothing at all. It was their first experience with creating and acting out skits, so giving them complete freedom would have made them completely lost. Therefore, we gave them a template, and then asked them to do whatever they wanted with the stories. The way the changed the stories was mind boggling, and we all realized that they had a knack for comedy! Some of them performed something completely different from the scenarios given, but that was fine as long as they had fun!



We really hope our efforts become sustainable. However, with the lack of internet at the school, this seems challenging. One thing that I wished we had done was to make the teachers sit in our classes, so that they can learn about laptop integration in the classrooms.


I speak on behalf of the entire team that we all gained appreciation for the primary school teachers, who work effortlessly and are often underappreciated. Our four days of teaching were so exhausting that we would’ve barely been able to do one more day. This is after being fortunate enough to have extremely disciplined students who gave us very little to complain about.

– Waleed Ali Khan