Search This Blog

Sunday, October 23, 2016

Cooking up some Pi, week 1! (Teaching 3rd grade compsci with Raspberry Pi)

Passionate about introducing our students to computer science, I teamed this year with a 3rd grade teacher (enthusiastic about all things STEAM) at one of our Title I sites, as well as with one of our district literacy coaches, and we sketched out an interdisciplinary unit plan that consists of instruction in language arts, math, civics and computer science skills.

The students' culminating projects include two components-- creating persuasive videos (advertisements) on California proposition 67 (the plastic bag ban), and then building digital voting booths (using Scratch and a Raspberry Pi) on which the other 3rd grade classes will cast their votes for the proposition.

The ups & downs of week 1 of our project--
To start, there were definitely more ups than downs-- a pleasant surprise!

I wanted to start with the very basics, so we kicked off our day 1 lesson with an introduction to the parts of a computer, and then I asked students to identify which parts our Raspberry Pi still needed before we could use it. I introduced the terms 'input' and 'output' and students were quick to point out the need for a monitor, keyboard and mouse. Then, our teaching team passed out materials, helped student teams plug in the peripherals, and then we powered up!

Once the Pi stations were put together, we introduced the idea of electrical circuits, showed students how to put their Stop Light devices onto the GPIO pins, and walked them through their first lesson-- turning on the GPIO server and programming one light to blink using Scratch.

Some great conversations came up during our coding lesson around:

  • Fractions/decimals-- one of the teams wanted the wait time between commands to be less than 1 second so I asked them, "What's smaller than 1?" "0?" "Well, if we have zero, then we have nothing, which means no pause time... is there something between 0 & 1 we might try?" "Oh! What about 1/2?" "Great, yes! 1/2 is 0.5... why don't you type that in and see what happens?" "Can we try 0.7 too?"... a student asking me whether he can experiment with decimal fractions for fun?? Um, yes, please do play with fractions to see what happens!!
  • Patterns-- after learning how to light up 1 LED, we challenged students to light up another, and then a 3rd and asked them to find the pattern in the code to repeat the work they did with one LED to light the others
  • Multiples/multiplication-- in addition to having students identify patterns in the code, I also pointed out that in order to light 3 LEDs, they just needed to write the same code they just had, times 3 (x3). "What does x3 mean?", I asked... "It means we have three of those! So we do it 3 times!" Yep!
By the end of lesson 1, students had learned a bit more about how computers work and had lit up multiple LEDs on their Stop Lights-- success!

Day 2 was a little rockier...

Our plan for day 2 was to get buttons programmed to turn our lights on and off. That wasn't exactly the way it worked out. Some monitor troubles that started on day 1 (and that I thought we had fixed at the start of day 2) flared up again. Groups had to be broken up and dispersed into other groups. And, I messed up a couple of our lesson slides, so there were some key blocks missing from the code that students didn't notice on their own. All they knew was that the code they were writing wasn't working quite right. And even when I added in the missing blocks, the code still wasn't working right, and I couldn't find the issue right away, either.

The positives on day 2:
  • Students showed an awful lot of patience and persistence on both days of coding-- an impressive amount of patience for 8 year olds, if you ask me!
  • Students were able to set up their Pi stations much more quickly then on day 1-- I think they've figured out where are the cords and cables go and are feeling pretty confident about how to get their computers set up
  • Although we struggled with the buttons, 1-2 students per group remembered the process on their own for lighting up the LEDs and were already able to recreate this during our 2nd day of programming
  • With some guidance, some have started debugging their own team's code by looking for spelling errors and checking pin numbers
  • About 1/3 of the class remembered some of our new computer science vocabulary from day 1, which was exciting for the teachers to see (we started a word chart so students could access this academic vocabulary during work time)
  • Students remembered their fractions mini-lesson from day 1 (side note-- fractions have not yet been taught at this grade level, so as a math coach, it's exciting to see them latching on to the concept of fractional time as it's discussed and used in the context of wait time in codes)
Next steps:

Well, step 1 is for me to figure out why a code once working for me is now not working for the students. I have a couple of days to play with that before our day 3 lesson. If students can get their buttons up and running on day 3, then next steps are to create our Yes/No variables and add a PiCamera (which I think they're really going to have some fun with!). We're on a bit of a tight deadline now, with election day approaching, so I'm a little nervous, but the students, of course, don't seem even a bit phased-- they just want to know when the next Raspberry Pi day is.

I'm excited to see how the next lessons go!

Resources (a work in progress):

No comments:

Post a Comment