Skip to main content

Embracing three-by-eighty

For the first twenty years of my career at Grinnell, I taught our introductory CS courses in a fairly consistent length and format. The courses met four days per week for fifty minutes each [1]. And I taught most of those courses in a semi-constructivist way. That is, I and my colleagues designed introductory classes so that the majority of class time was spent on students together to solve a set of problems while the faculty and the course mentors helped students learn by asking questions, making observations or suggestions, answering questions, and so on and so forth.

But, well, I’m not perfect at workshop-style teaching, or at least I don’t embrace it completely. I also think that students benefit from seeing problem solving modeled (including problem solving that fails to lead to a solution). And so there are parts of class in which I will stand at the front of the room and ask a series of question, like

What are the inputs to the procedure we’re designing? Addison, what would you choose?

That seems like a reasonable choice. Is there anything else we should consider? Adrian, what do you think?

Thanks for that input. So, we’ve heard two different approaches. What seems better? Ari, which approach would you choose, and why?

Okay, we’ve sketched an algorithm. It’s probably time to start thinking about whether or not it will work. Casey, can you explain what the algorithm will do on the following input?

Yes, Casey, that is a problem. Thanks for pointing it out. What can we do to fix it? Ash, what would you do?

That’s fine, Ash. It’s subtle. Let’s all take a minute to think a bit more about how to address the issue we just identified.

As you might expect, that takes some time. If you couldn’t tell, I also call on the students randomly [7]. I also like to announce events on campus at the start of class, take questions from my students, review problems students have had on the last quiz, and so on and so forth. When you add all of that to a fifty-minute workshop-style class, there’s not all that much time for working. So I do my best to tone down my announcements, Q&A, examples, and such.

But things are changing.

A few years ago, the faculty approved a new set of class times. One of the things that the new set of class times did was eliminate a popular meeting time for our introductory course: MTuWF 11:00-11:50. That change created some problems. In particular, we could no longer offer two sections of CSC-151, our introductory course, in the morning, since Tutorial meets Tuesday 8:00-9:50 a.m. But we don’t like to teach CSC-151 in the afternoon because students in lab classes can rarely take a course that meets four afternoons per week.

Other departments, like Mathematics and Statistics, had these kinds of concerns, too. Even though they had more sections, which ameliorates the problems a bit, they decided to switch to three 80-minute blocks per week. That helps avoid the we can’t teach at 8:00, 9:00, or 11:00 issue and permits them to offer two morning sections of their introductory courses.

This year, we decided to bite the bullet and follow their lead for CSC 151 and CSC 207. It turned out to be somewhat necessary for CSC 207 as we thought about the workload of a faculty member who was also teaching Tutorial and needed to teach the morning section.

I’m really glad we switched. I find that eighty minute blocks match my hybrid style much better. We can spend twenty minutes [8] going over whatever I consider important to cover in a more lecture or recitation or discussion format and still have more than enough time for students to work on lab.

Or, to put it more directly, I love this format! Should I also switch my other classes to three-by-eighty? CSC 321/22 fit well in their current form, but CSC 301 could benefit from a little more time. CSC 207 has already switched [9]. Of course, eighty-minute blocks create conflicts with other courses. We shall see [11].


[1] Grinnell Courses are generally four credits, whether they meet for three fifty-minute blocks [2], three fifty-minute blocks and one 170-minute lab [3], two 80-minute blocks [4], one 170-minute block [5], two 170-minute blocks [6], or whatever. The one exception seems to be 100-level foreign language courses, which meet for five fifty-minute blocks and for which students receive five credits.

[2] The typical course format when I arrived.

[3] One form of lab-based science course

[4] Some discussion courses.

[5] Our relatively new Monday evening block, which cannot be used for required courses.

[6] A typical studio art course.

[7] Why I call on students randomly is a topic for another musing.

[8] Or even thirty minutes!

[9] I’m not even sure that I’ll get to teach CSC 207 again in the near future. I hope so. It’s one of my favorite classes [10].

[10] My list of favorite classes keeps growing: Tutorial, CSC 151 (Intro CS), CSC 207 (Data Structures and Algorithms, when students really learn what it’s like to do CS), CSC 282 (Thinking in C and Unix), and CSC 301 (our upper-level algorithms course). I’m even growing fond of CSC 321 and 322, even though they remain far outside my wheelhouse.

[11] There have been some rumors that our accreditors will insist that we have students in class for a minimum of four hours [12] per week. At that point, interesting things will happen to the schedule of classes. Stay tuned.

[12] Or at least four hours minus ten minutes per class period.


Version 1.0 of 2017-09-11.