Up, not North

Course report: week three

February 4th, 2010

I’m totally amazed by how much material we covered in this week’s class! We kicked off with a pretty detailed review of what we did last week, particularly how to hook up the LEDs to make them light up, and how to get our blinking LED programs connected again. We had a few burnt-out LEDs, but that’s an important part of the learning process. Once we had the LEDs connected again we learned about how to make our program behave differently depending on whether or not certain conditions are met; i.e., we learned conditional statements. In particular, we learned the if statement, which only executes a set of instructions if a given condition is true, and the while statement, which continues executing a set of instructions over and over again while a given condition is true.

We used these new conditions to modify our blinking LED a little bit, and then we took a vote and decided to move on to analogue output — making our LEDs dimmer, rather than just “on” or “off. First we learned a little bit about what the difference is between “analogue” and “digital,” and then we saw that we could make our LED look dimmer by turning it off and on really quickly. We then learned that the Arduino could do this for us using the analogWrite command (which unfortunately uses the U.S. spelling of analogue). Finally, we learned about another type of loop — the for loop. This is a little more complicated than the while or the if, but it’s also a little clearer in certain circumstances. We used the for loop to make our LEDs fade in and out smoothly.

All that, and we even had a few extra minutes at the end to tinker and wrap our heads around what we’d done! From a pedagogical point of view,  I continue to learn so much every week! I can’t help but think that I’m learning at least as much as the students (which is one of the reasons I enjoy teaching). The first was that nobody seemed to remember much about the button and pull-down resistor lesson from last week. That’s a tricky topic, and it was a bit rushed at the end; I’ll need to revisit it and teach it better a little later on in the class. I was considering integrating digital input into the discussion of conditionals, but I’m glad I decided against it since those new concepts were hard enough on their own.

I tried out a couple new techniques that went well, which I definitely plan on revisiting and hopefully improving: first, I had the students go around the table, describing step-by-step and in turn what was happening as we walked through the program. I think it was really valuable in making sure that everyone understood what was happening in the program, plus making it a roundtable activity helped everyone get involved without singling anyone out. I think this step-by-step approach is really great, and could be adapted to be even more interactive, perhaps by acting out what’s going on, which could be a great way to teach children this material.

The second is, I suggested “challenges” for people who felt comfortable with a concept to work on while I worked through the details with students who were having more trouble. This way, students who pick up a given concept quickly aren’t bored, while those who need a little more help don’t get left behind. I worry about both moving too slowly and too quickly, and I find it difficult to strike a balance when students vary in their learning speeds and styles; I hope this is a reasonable solution to the problem.

I’m very happy with how it’s going and I can’t wait for the next class! Unfortunately, I have to miss next week, but I’ve arranged for a substitute teacher in my stead. As disappointing as it is for me to miss it, I think it will be really useful for the students to get another perspective. In the meantime, I can figure out how I’m going to fit input (both digital and analog) as well as some basic serial communication into the last two weeks!

§ Leave a Reply


Post Information