Sunday, August 18, 2013

How do you lecture?

Computer Science Educators et al., I am curious how you lecture*:

Hacking on the fly?
Tap Dancing?

What seems to work best for you and your students?

And if you're willing to share, I'd be interested to learn the student makeup (e.g. freshman, grad students, professionals) and general topic of your course.

*By lecture, I am referring to the times in class when you employ direct instruction. I realize this is rarely The Best Way to Teach, but I think it can still serve a useful role. (...She says, right before she is replaced by a MOOC).


  1. I am all chalk-and-talk. When I have something specific to show, like a video or a few specific figures, I will do that, but otherwise it's me talking and writing/drawing on the board. However, I teach physicsy/math-heavy topics, so this may or may not be relevant to your teaching...

  2. as a student- please please please write on the chalkboard/whiteboard.
    1) forces you to slow down
    2) if it's a picture- it's nice to see the different parts building up one by one so i'm not overhwhelmed
    3) allows us time to copy down what you're saying

    i believe that powerpoint in the classroom is almost never a good thing

  3. All of the above! Except, instead of tap dancing, it might be getting students to sort themselves at the front. I do try to mix in a lot of active learning (this year, I'm going to try to have at least once clicker/peer instruction question per class), but when I do direct instruction I use very minimal PowerPoint slides supported, when possible, by board writing. My slides tend to be mostly just pictures and sometimes a few words. I try to put the words in the notes section and put the slides up ahead of class. In the past I've taught a non-majors course to undergrads, and this year I've got a mix of majors and non-majors from first to third year.

  4. I only use powerpoint if I have to show a detailed diagram. Otherwise, when I am doing the talking, I use the board and/or hack on the fly. I haven't tried tap dancing yet, but I will sometimes do one-person skits to illustrate a point, sometimes using students as props. :)

  5. Lecture 2/3 periods a week, but the lecture is highly interactive (students coming to the board to work, students answering each other's questions, etc.). The other period we do facilitated problem solving in small groups. The class is an UG intro to probability and statistics for engineering students.

  6. Hacking on the fly with pen and papers. I use simple document camera to project my writing. Developing argument on the fly keeps class interactive and interested. Teaching with power point is too static. I use same method for all my classes: freshman to graduate.

  7. Chalk and board, please.

    The best courses I've taken during my Masters was from this professor who taught us distributed algorithms. He'd start off a lecture explaining the specific problem that needed solving and the constraints, and he'd write down the most obvious steps involved in the algorithm. He'd then leave the most important step of the algorithm blank and ask us to solve it in our notebooks. As soon as we thought we'd arrived at a solution, he'd walk over to each of us and verify what we've done. This would go on until all of us have either solved this on our own, gotten close to it or given up, after which he'd explain the solution on the board.

  8. A mix of PowerPoint, writing on board, and occasional hacking on the fly. When I started, it was all PowerPoint, but that was *so* *boring* (not just for the students---for me too). Now I have maybe 10-15 slides for a 50 minute lecture and do a lot of writing on the board. The hacking stuff is usually for the first couple weeks of class, just showing students how to do the things they need to do.

  9. For my second-year automata and grammars course, I use a combination of chalkboard and Powerpoint (well, Beamer, actually). The slides contain the definitions and algorithms and provide an outline for the session. I explain and elaborate on the chalkboard, giving explanations, drawing diagrams and single-stepping the algorithms with specific input (often asking the students to call out the next step). I also distribute a post-lecture handout that contains the key points of my chalkboard work; this practice has received particular praise from students. This is a second- or third-year course that is mandatory for some students and elective for others, with about 15-30 students actively attending; almost all students major in CS or SE, but the best student in a group has always majored in math or science.

    For my programming language theory course, I work exclusively on the chalkboard, supported by typeset lecture notes handed out beforehand. I also talk and debate with the students a lot; the course is, after all, mostly about the whys and why nots. This is an elective course at the masters level, with typically 10-15 students in attendance, mostly CS and SE majors.

    I used to teach an introductory course on functional programming. My most effective lectures were on-the-fly hacking (of course, carefully prepared:), but I also tried other methods. The current teacher of that particular course has adopted a lecture-free approach, driven by mandatory exercises and supported by an online text as well as feedback sessions. This course is an elective and draws students of all backgrounds (mostly CS and SE majors).