Sunday, August 17, 2014

Turtle Houses (Programming Course Lesson 1)

Who: Baan Pathomtham 5th grade class (minus one student, plus one friend)
Where: at school
When: 2 hours in the morning

We had our first lesson today and it was a lot of fun.  Here's a quick synopsis:

Robot Turtles
We started with the basics of robot turtles.  Everyone got a pack of command cards (forward, left turn, right turn) and then I executed the moves as they played. We cycled through a couple of times with them giving commands in turn, then each student took a turn as the moving turtle. By chance (?) each turn ended when we crashed the turtle into something and I exclaimed "Crash! Next player."

We were having trouble with the network connection, so we then played three rounds of robot turtle on the board:

  1. no obstacles, each player plays one card at a time and I moved the turtles
  2. Add walls that they need to negotiate, each player plays one card at a time
  3. With walls, each player plays 3 cards at a time for a batch move.

This was all easy, but seemed engaging.

In the future, I will plan robot turtle activities either as a warm-up or when we have to take a break from the computers (or network is giving us trouble).

Pencilcode Intro
I showed them how to create accounts and open their first program.  Then, we worked through the first two activities on this worksheet: http://pencilcode.net/material/lesson1-handout.pdf

Periodically, I would stop them to point out actions or utilities:
- the run triangle to play their program
- how to save
- run in full screen
- open a new program file
- shift to block mode and shift back to code mode
- move through folders to explore other users' code

They did a good job adding a door to the house from the worksheet and immediately started experimenting with other things they could draw.  Here's an example:

I think it worked really well to show them the blocks after they had written a decent program first. They were able to drag in new commands to see what effect it had and those effects were often surprising, especially when they put a new line in the middle of their existing program.

Finally, I explained their homework and gave them some time to work on the challenges, think about them, and ask questions.

Homework
This week, the kids have 3 homework activities and 2 open activities:

  1. Show their parents how to draw a Thai flag using pencilcode
  2. Figure out the code to draw each of the designs on the left (from the first "chapter" of the pencilcode book)
  3.  Draw what they think each of code blocks on the right do and then test it (this is from the second "chapter" of the pencilcode book)
  4. Look through other programs and highlight ones they find interesting.  I'm not expecting anything concrete on this, so it is a half assignment.
  5. Think about something they would like to program as a project.  Again, want them to start thinking, but I'm not looking for anything concrete yet.



What did I learn?

  1. Important to have an offline, back-up activity when the network connection isn't performing
  2. Most of my priors were confirmed: the kids were eager to experiment, they benefited from a little guidance and some prompting to try particular things, they were good at explaining to each other how to do something, and the intro activities were really easy to blend into a fun lesson.

No comments:

Post a Comment