During my first stint as a lecturer, I learned a number of lessons
that I consider to be quite valuable. Some of these are merely
reinforcing things I hypothesized as a student and confirmed as
lecturer, some of these are ideas that came to me while lecturing that
were well received by the students.
- Slides: I am personally against using PowerPoint slides for a
few reasons:
- Limited mobility: With the normal use of slides, most
instructors remain nearly fixed to their laptops. Dynamic
lecturers that move around the room while speaking keep students
awake and focused.
- Fixed organization: With slides, the organization /
structure of the lecture is fixed ahead of time, regardless of
student interactions. This is known to the students. Without
having a real chance of being interactive, I think students shut
down more and are less attentive.
While I'm on the subject, common mistakes that instructors make with
slides that annoy me as a student, and other students I've spoken
with:
- Questions: If the answer to a question is being displayed on
your slides already, or you have handed out ``outline'' handouts
of the slides (which show all of the bullets for a slide), you
shouldn't be asking that question. There are two options here:
students look like kiss-ups by answering the question, or students
remain silent wanting to not look dumb. A no-brainer.
- Backing-up: When taking questions at the end of a talk, it
is OK to back-up through your slides. It might be better to jump
to outline view and skip quickly to the target slide. When it is
simply your own random thought that is causing you to back up, it
is perhaps best to just write it on the board.
- Total reliance: Remember that the chalk board/white board is
still there. Not everything has to be displayed digitally, you'll
engage more students by varying your media. Dr. Keogh is a master
of this.
- Know your slides: If you are going to lecture from slides,
please either know your slides intimately, or print out an outline
view of your slides so you don't get ahead of yourself or mess up
a transition.
- Live code: Pedagogical/psychological studies demonstrate that
learning is localized: that is, if you learn something in a given
setting, it is easier to recall in that setting. To my mind, this
would seem to extend to code. One of the major barriers is to
demonstrate programming skills in lecture and have those skills
actually surface when the student is coding, be that in lab, at home,
or on the job. I can think of no better way to overcome the locality
issue than actually demonstrating what you are discussing live, in
code, in your editor of choice, and letting them see the resulting
compilation errors / debugging process. This is certainly not for the
faint of heart, or good for topics that you are unlikely to get
correct on the first or second shot. Nor are topics that are complex
good subjects for this: I attempted to demonstrate the construction of
a 2-3 Tree this way and the class nearly fell asleep (the
demonstration was ended early).
This idea came from the fact that one of the labs the second week
went particularly badly, which I felt horrible about since I had
explicitly written that lab to replace a lab that had gone poorly the
previous quarter. To demonstrate to the students what the idea behind
the lab was, I opened up Emacs on my laptop live in front of them and
walked them through the solution to that particular lab, explaining
what I was doing and asking them questions as we went. One student
specifically came up to me after the lecture and said that was one of
the best lectures he had ever had, and that seeing code live in class
was very very helpful. Several other students also believed that this
was a good thing and expressed it to me personally. A number of
mid-term evaluations had similar messages.
- Pop quizzes: Student hate them, but in a ``I've got to respect
that for forcing me to behave'' sort of way. I issued about two pop
quizzes a week, each consisting of a single simple question about the
reading. The pop quizzes I used included:
- Name three sorting algorithms.
- What property does the left-subtree of a Binary Search Tree have
with respect to the root?
- Define primary clustering / primary chaining.
Twice, when attendance was low, I also asked the following pop-quiz
question: ``What is your name.'' The students present for those
particularly quizzes absolutely loved them. Both types were trivially
easy to grade (it takes about as long to sort the submitted quizzes
for easy entry as it does to grade them.) Since these require no
preparation (students just write it out and turn in on notebook
paper), they came whenever I felt that students perhaps didn't do the
reading, or when I thought they weren't expecting it. To ensure that
students did the reading over the weekend, I even gave a pop quiz on
the same day as a regularly scheduled quiz.