You are currently browsing the category archive for the ‘Lesson plans’ category.

International Space Station, courtesy of Wikipedia

I’ve had mixed feelings about some engineering curricula designed for the under-12 set.  There are an awful lot of lesson plans available on-line that have big ideas (space exploration, zero-gravity adaptation) and big words (ecliptic, aphelion) but when you get right down to it, the students aren’t building space suits or improving solar panels; they’re measuring evaporation in a tin pan (I made this example up to protect the hard-working institutions that also sometimes turn out great materials).  Besides the feeling of “bait and switch,” this is also disappointing because it fails to help students or teachers make sense of what engineering is, and why it’s not the same as science.

So I was intrigued to find a link to Engineering is Elementary recommended by Mark Guzdial in response to the post “Teaching Engineering Thinking” at Gas Station Without Pumps.  The contexts are smaller (design an alarm circuit, design a bridge) but in those lessons, students are going to design and build and alarm circuit or a bridge.  They’re also going to assess their creations and improve them based on the assessment.  The language is simple and every lesson’s title start with “Designing a …”, except the ones that start with “Making a …” or “Improving a …”.  There’s a table-top mag-lev system in there.  I don’t know anything about these products — cost or effectiveness or ease of use.  But when some projects for elementary school students make me think “Oh, I want to do that one,” it makes me curious.

If you’ve used them, what are they like?  Could I use them with a Brownie troop (6-8 year olds)?  Could I use them for my adult students when we need something light as a break?  If you try them out, please let me know how it goes.

I’ve decide to try some of the techniques Mark Guzdial calls “worked examples and self-explanations” in my introductory programming course.  Some of the benefits he mentions are that the students

  • kept working after the end of class
  • asked significant questions (“What’s the difference between MethodX and MethodY,” “What’s the difference between colours and pixels?”)
  • turned in unusually ambitious first programming assignments (50-200 lines of code)
  • made sense of abstract concepts (“Isn’t a function just a way to name some lines of code?”)
  • reported finding it “surprisingly” enjoyable

Part of this is no doubt attributable to the “media computation” approach that he uses, which seems like a very cool way to introduce people to programming.  Unfortunately I am stuck with a 2-line LCD that has timing issues I haven’t figured out completely, so we’ll be starting with blinking lights.  But there are definitely aspects that I can incorporate, including having students

  • type in examples
  • develop line-by-line explanations for themselves
  • compare examples that differ in small ways
  • compare their explanations to others’
  • plan and execute a change to the program

I decided to make an instruction sheet and “comprehension constructor.”  I’m in Cris Tovani‘s debt as usual — the connections to other reading comprehension work I’ve tried are striking.


You’ll notice that the “self-explanation” part has two columns: one titled “Explain in English what this means” and one titled “Why does it have to be here?”

When I’ve tutored for programming courses in the past, I’ve noticed that students often write unhelpful comments such as

index = index + 2;        // Add 2 to index

For a fluent programmer, these are frustrating.  Not only did I waste time reading something I already knew, but now I have to spend time figuring out why that line is there.  My working hypothesis is that a beginning programmer needs that translation, just as a beginning student of Italian may need to translate statements into English before they can begin to interpret them.  When beginners are forced to comment their code, they write what they think, which is a literal translation.  I’m hoping that by making space for that translation (what Tovani calls “holding your thinking”), it will enable students to go to the next step and write something that will continue to be helpful when they stop needing every line to be written in two languages.

I’ve also asked them to document the differences between their code and the code of the person on either side of them.   The example programs differ only in tiny ways — maybe a different pattern of LEDs is turned on, or there is a slight difference in the I/O bit mask.  I was deliberately keeping it simple for the first run through, as we worked through the hiccups.

The next step is for students to summarize the meaning and function of the new ideas we learned (for example, the difference between a “port” and a “register”).  Finally, I ask them to plan a change to the program, tell me what their plan is, and then make it happen (this order of operations is designed to prevent students from making a random change, documenting its effect, and claiming that it was their plan all along).

Since it was our first time trying this, I walked the students through it as if I was a student.  I used an example program (shown in the document above) and annotated it on the board.  There are a few elements I told them they were not responsible for explaining, and I skipped over them.  One was the “void” keyword used as the return type of the main function (I didn’t even want to get into data types, let alone functions, or what the main function would be returning that value to).

I also didn’t explain the infinite while loop in much detail, except to confirm with them that 1 would always equal 1, so the condition would always be true (all the while loop conditions have relational operators such as 5==5, or 6>3, based on my theory that it’s easier for a beginner to see that those are true than to make sense of while(1); or something like that).

We only had time to get about half-way through this exercise in class, and so far the results are promising.  I have very little to compare to, since I haven’t taught this particular course before, but I was encouraged that they were attending to detail, looking for patterns, and making inferences about the system’s requirements and possibilities.  Some of the questions that came up:

  • Does it matter if things are on the same line/how many tabs there are/how many lines between commands?
  • Do you always need the semicolons/stars?
  • Instead of using while(5==5), could I use while(x==5) and make x equal to something and change it?
  • If a pin is set as analog, does that mean it needs an analog input?  What if it’s set as a digital input?  Does it need digital input?



Joss Ives left this thought-provoking comment about the differences between assigning reading or screencasts in preparation for upcoming class meetings, and what to do with the questions they generate.  We had been discussing “just-in-time teaching”:

… they advocate agile teaching where you plan your lesson/lecture period based on the things that the students had the most trouble with from the reading.

Joss has students read, then answer “multiple-choice with explain your reasoning” type of questions.  That “seems to get the most coherent answers from them and the least “I have no idea” answers.”

I assign screencasts, and have students complete what I call a “Topic sheet”:

My criteria for goodness here are the same as Joss’s: a completion rate comparable to conventional assignments, and the fewest possible “I have no idea” answers.

I ask students to bring these to the next class, and use them as the agenda. Our process so far: students dictate from their sheets and I write on the board, grouping things into themes.  I don’t answer their questions.  Students can add more questions but there is no answering allowed at this stage (which means they phrase their answers in the form of questions).  Maybe in the future I’ll have groups collate their own comments onto whiteboards?  Anyway, it’s not exactly “just-in-time teaching,” because I haven’t planned a session directly based on students’ questions.  But so far I have been able to predict the general gist of student questions and prepare some relevant exercises.  I set them to work answering a question that I pose — hopefully tweaked so that students will stumble across the answers to their own questions (or better questions) while they work.

In the last 15 minutes, we revisit the questions and answer as many  as possible.  If there’s a central concept, or a tangle of questions that are all related, I’ll make up an “exit ticket” question about it.  The other thing that has worked well so far is to spend the last 5 minutes having each student update their topic sheet.  They can cross things off, add things, answer questions, or elaborate — just update it so it shows the current state of their understanding.  Then I collect them.

At the beginning of the semester, when I removed all homework completion points from the grading scheme, the homework completion rate went way down.  But because of my “write-your-test-twice” system, my students don’t get a copy of their test back from me.  So I think they’re a bit hungry for feedback.  Consequently, they now seem pretty motivated to pass these things in and get them back with comments.  For the last few months I’ve found that I got a better homework completion rate if I picked it up in class instead of asking students to drop it in my mailbox.  But this week I’ve had a couple of good showings where I asked them to finish something by the end of the day.  Incidentally, I also get a better completion rate if I actually hand them a topic sheet than if I ask the students to write the same three prompts on a piece of loose-leaf.  *shrug*  The completion rate is about 75% — roughly what it was when homework was “worth points.”  (Note to self: would be a good idea to track this, rather than estimating). Joss makes a good point about it:

Between personally responding to their submissions and explicitly bringing up their clarification question in class I managed to generate enough buy-in to get a 78% completion rate over the term which is comparable to a regular homework completion rate.

Student buy-in is definitely the key here.  Now that the students are back in the habit of passing in homework, maybe it’s time that I start asking for the homework to be passed in before class.  It would make sense to lesson plan based on their questions.

Then we got into screencasts vs. textbooks.  I can’t help wondering if I’m de-skilling my students by protecting them from the need to read the textbook.  Joss writes:

I agree with your point about, for long-term behaviors, the reading assignment are probably better than the screencasts, but I view the reading assignments as something that is meant to get them familiar with the terminology and lowest-level concepts, anything beyond that is what I want to work on in class. With that in mind, there is really a lot of overhead in a textbook reading and the screencasting will allow me to focus on what I had wanted them to get out of the reading in a way that is a more efficient use of their time, which would hopefully help generate a bit more student buy-in.

I like Joss’s term “textbook overhead” and link to student buy-in.  It’s crazy to expect a single book to be both a reference for the pro and an introduction for the novice.  Screencasts are an answer, but maybe better textbooks are a better answer.  Still, it helped to remind me of my purpose in making screencasts: to introduce low-level concepts.  Maybe screencasts vs. textbooks doesn’t matter as long as the rest of the learning process has a good home.

My students are starting to appreciate classes where small groups share their problem-solving with the class.  Each small group gets a different problem, based on which homework question they had trouble with.  They like getting a problem geared exactly to them, and working with others who want to talk about the same questions.  They also like that, even if they spent all class working on question 3, they get to see what the question-5 group came up with.  But I hate how long it takes to copy notes to the front board.  So I decided to try using small whiteboards during class, inspired by this post from Action-Reaction.  Each small group got a problem to solve, a 2′ x 3′ board and a pack of markers.  (Now that I’m using screencasts, I have time in class for this stuff.)  At the end of class, each group picked up their board and explained their process.  No time wasted while they decipher their tiny notes.

Some benefits that I hadn’t anticipated:

  • They wrote bigger.  It helped the small group work together because they didn’t have to read out of each others’ notebooks.  It also helped me take stock more quickly — I could see who was making progress even from across the room.
  • They drew.  Some students resent redrawing schematics.  I don’t know why.  But there’s something pleasing about the tactile experience of whiteboards, I think. (Or maybe the commenter who wrote that they “don’t get enough coloring time” was right).

Big deal, you might be thinking.  You can do that with flip chart paper.  And it’s true.  There’s a small advantage to whiteboards:

  • They experimented more.  Lots of ideas got written down, and I think it’s because it’s so easy to erase.  (I wish they felt confident enough to leave their mistakes, crossed out, as a reference for later.  But they don’t.)

I don’t bring the boards to class every day (they’re heavy).  But I’ve done it a couple of times in the last 2 weeks and the whiteboards have been helpful, unobtrusive, and have not cost me any time.  I like that.  They don’t have to be booted up, or warmed up, or assembled.  I’ve never had to troubleshoot my whiteboards.  I did have to explain marker policy though.  A commenter on the A-R post above explains that people who leave the caps off are marker murderers.  I demonstrated by pulling the cap off of a marker and screaming like a deranged muppet.  No markers were harmed in the making of this pedagogical experiment.

Last Thursday during shop, some students asked if they could borrow one.  One student had brought a notebook-sized whiteboard of his own.  Next thing I knew, huddles of students obscured the whiteboards.  They were planning their next experiments.  Oddly, there are two big whiteboards at the front of the shop.  They could have used those, but I think those seem like they belong to the teacher (note to self: do something about this.)  The little ones can be adopted, claimed. (Also stood on the bench-top right next to your circuit for reference,without worrying that someone else will write over it).

When I asked them why they liked them, the advantages that they saw were totally different from mine.  Top-rated: they like how easy it is to reorganize long calculations.  “It’s way better than working on paper.  On paper you end up with calculations all over the place and you can’t see where things are.  It’s easier to keep it organized, and if you need to move things, it’s easy to erase.”  Go figure.
That night, as I was cleaning up, one of the whiteboards was AWOL.  I found it tucked neatly under a bench, covered in calculations and measurements for an experiment in progress.  I left it there.  But I took a picture first.Whiteboard on the lam

PS: it is apparently impossible to get plain shower-board in Canada.  Please don’t send me those tantalizing links to the American Home Depot site; they won’t sell it across the border.  Not one of the 10 hardware stores and contractors’ supply places around here has plain shower-board — only the printed stuff, with faux-tile squares and flowers. doesn’t ship to Canada.  Whiteboard paint has received mixed reviews and is expensive.  I eventually broke down and bought whiteboards from Staples.  ($30 each… ).  Problem is, the aluminum frames are heavier than the whiteboards themselves and cause the surface to buckle.  I should have liberated them from the frames.  Then I stumbled on the mother-lode:  old 4′ x 8′ boards taken from classroom walls, waiting, forlorn, in the maintenance room.  They’re mine, all mine… is this what they mean by “gateway drug“?