Reading Papers in a Paper-Reading Seminar

I’ve been to quite a few paper-reading seminars, and this is roughly how things go: during the first session, the instructor comes up with a list of papers and puts them in google sheets; each student would then sign up to present some paper based on its title (and sometimes also the abstract). Each week, some student(s) would read a paper, prepare some slides, and present. Ideally, everyone in the audience would have read the paper, taken some notes, and ask insightful questions and participates in discussion. Well, ideally.

Here is how it really goes: most people who are not presenting would spend no more than 1 hour reading the paper, and usually much less. Sometimes they would just look at the abstract, skim the figures in the experiments, and give up halfway through the introduction. During the presentation, someone asks an insightful question that doesn’t have an obvious answer. The presenters wave their hands and give some vague response. The audience start to furiously fumble through the paper looking for the answer, only to get more confused. Finally you squint your eyes and goes “hmmm OK let’s move on”. By the end of the session, everyone leaves with some “takeaways” that can probably be generated by ChatGPT.

OK, I admit I’m overly pessimistic, but in short, the biggest problem with the standard “paper-reading seminar” is that no one reads the papers. I wanted to fix that when I taught a seminar on database query optimization. I also had another unique challenge due to UCLA’s course structure: we have ~2h of lecture time per session and 2 sessions per week. Presenting each paper roughly takes an hour, so to fill the time we would have to assign 4 papers per week, and that’s simply too many for anyone to read.

So I decided to do an experiment and actually read the papers in class. By construction this solves the first problem: everyone who comes to class will read the paper; it also solves the problem of having to fill 4h per week, because reading a paper takes much longer than presenting one. Of course we don’t just sit in silence and read for 2h straight. Here’s how it works: before each lecture, I spend the morning reading the paper in depth, taking notes on parts to focus on and pitfalls to help the students. In class, we read in 5 to 10-minute increments. For example, I’ll say: “now let’s spend 10 minutes to read Section 1. Your goal is to understand what a join order is, and make sure you can explain what’s going on in Figure 1. The way they define a query graph is a bit confusing, but it’s really just a graph where the nodes are relations and there’s an edge between 2 relations if they join with each other”. Then, after 10 minutes, I ask some basic questions to make sure people understood the main concepts and spend some time for further discussion.

We just finished the course last week, and I think it went quite well. Many students commented that they would not nearly have understood the papers without the close guidance in class. In fact, I had never managed to understand the papers so well despite having read them in previous reading groups. Another nice side effect is that the lectures are not nearly as tiring as a regular 2h lecture, because I’m talking only half the time. Actually, I find the 10 min intervals where people read in silence rather relaxing, kind of like a collective meditation session (one of my students affectionately calls the seminar “a book club”).

Some things I might change: spending a whole morning per lecture to prep is nontrivial, at least compared to the traditional seminar where the only “work” the professor needs to do is coming up with the papers. Maybe when my students are more senior I will trust them to lead the sessions. For our class we had a final project. What the students managed to put together was actually pretty impressive. But I think next time I’ll ask people to write reading notes instead, and collect them into a blog like the morning paper. But if I make this into a homework, people will probably GPT everything :(