Class 6: April 11, 2008

From IPRE Wiki
Jump to: navigation, search

We advanced with the concepts of loops and conditionals in this class by playing a number game, drawing different shapes and playing in a life-size maze. First, we reinforced the concepts by talking to the class and clarifying any confusions. Then we played a number game - the computer would choose a number and the students would try to guess it. If they guessed it right, then they won and the game ended; if not, the computer would tell them if the number is too high or too low accordingly. This taught them about if-else statements. Also, they were given only 10 tries - this taught them more about loops. Then we let the students play in the maze- they could steer their robots around by writing little programs and pick up objects that had been scattered along the way. We wrote a wall function that the students could use in their code to tell whether or not they see a wall. Then they could use their knowledge of if, else and loops to make their robots go around. After this activity, we allowed the students to make squares, triangles and rectangles - again with using conditional statements.

We defined wall as:

def wall(): 
		return getObstacle(1) > 4500

def heads(): 
		return flipCoin() == "heads" 

def flipCoin(): 
		return("heads","tails")[random.randrange(2)] 

so that it could be used in the following manner:

def walk():
   if wall():
     if heads():
        turnLeft(0.7, 0.2)‏
     else:
        turnRight(0.7, 0.2)‏
   else:
     forward(0.7)‏


Here are survey results from that class:

- 69.2% said their favorite part was playing in the maze; 30.8% the number game was their favorite; 23.1% enjoyed drawing the shapes most.
- When asked what their least favorite part of class was, 50.3% replied that they liked everything that was done in class. 
- When asked if they liked their robot:
    - 69.2% said that they did.
    - 23.1% said that it was OK.
    - 7.7% said that they did not like it.
- When asked if they liked this class more than last week's class:
    - 69.2% replied yes
    - 30.8% replied were neutral.
    - 0% replied no!
- 92.3% are excited to come and play with their robots next week. The rest are neutral, again a 0% no!

Here is some code that one of the students in the class wrote:

def maze():
    if wall():
        if heads():
            turnLeft(1,.4)‏
            if wall():
                turnLeft(1,.4)‏
        else:
            turnRight(1,.4)‏
            if wall():
                turnRight(1,.4)‏
    else:
        forward (0.1)‏

CREU Project Home.