Accidental Duck Debugging in the Classroom

The Challenge of Maintaining Students' Engagement and Interaction During Lectures

Ema Djedović
5 min readMar 25, 2024
Photo by Kenny Eliason on Unsplash

There’s no doubt that we were all utterly baffled during our last lecture on Graph Theory. With the note that “elementary” and “simple” are not synonymous, we continued with the second part of our “elementary” proof, the first part being completed in the prior week’s lecture. The proof took up a solid hour of our time.

The problem was complex. Or perhaps, were we simply not skilled enough to simplify it? Had you been there, you would have quickly noticed that our morning lecture turned into one prolonged duck debugging session.

Photo by Tra Nguyen on Unsplash

Our professor is indeed an exceptional genius, versatile, observant, with a broad mind and brilliant ideas. His genius is manifested in the fact that he consciously goes into the smallest, non-trivial details, in order to correctly carry out the proof. This is a great technique for unraveling complex problems, as well as an effective learning tool.

Programmers often use a similar hack to solve bugs in their code. They place a rubber duck next to them and start explaining everything from scratch — assuming the duck has no prior knowledge whatsoever. It is not expected from a duck to offer any solutions — it is merely a passive observer.

The act of explaining forces one to think more deeply about their problem, often leading them to discover the solution on their own.

In this instance, we, the students, assumed the roles of the rubber ducks. We were the most perfect kind — calm, quiet and non-interfering.

For an individual, the general usefulness of the duck debugging process is evident. Why is that? Explaining the problem aloud to someone or something forces one to articulate their thought process. It essentially engages a different part of the person’s brain and can reveal solutions that were previously overlooked. There is no need for any interaction with the rubber duck.

When confronted with complex problems, the necessity of systematically verbalizing each step of the thought process becomes apparent. Solutions are no longer intuitively clear, and the effect of merely demonstrating them fails to yield the same impact. This method holds promise as a valuable teaching strategy, that is — if one incorporates interactive communication with the listener (AKA the duck).

It is essential to note that duck debugging inherently lacks interactivity. Without this crucial component, the classroom environment suffers. The concepts are becoming indistinguishable, ideas are blurred, and thoughts starts to wander.

Mentally, we find ourselves drifting elsewhere. We’re in a place with more vibrant colors and better-defined figures.

Photo by Jonathan Kemper on Unsplash

The issue arises when one side grasps the logic while the other struggles. For the lecturer it is not such a detrimental issue, as they have a grasp of the material, but the quality of class time significantly drops if students don’t speak up.

The significance of interactivity in class cannot be overstated, as it contributes to the quality of learning, motivation for work, and interest in the subject matter. Without input from students, problem-solving is limited to the lecturer’s perspective. This restricts the diversity of viewpoints and insights that can be shared, limiting the depth and richness of the learning experience. To address this issue, it’s important for lecturers to actively encourage and facilitate student participation. This can be done through various methods, such as asking open-ended questions.

By focusing solely on the problem and ignoring the aspect of teaching, the purpose is lost, which still aims to convey knowledge, not a research project.

How often do lecturers fall into this trap?

What determines the level of interaction in teaching?

Is there a universal approach to bridge the gap between lecturer and student, or is it necessary to design specialized teaching techniques for each occasion? For example, listening to a two-hour lecture on medieval feudalism is hardly the same as two hours of geometric algorithm design.

Photo by GuerrillaBuzz on Unsplash

Do we prioritize learning through general ideas or following detailed procedures? The first fosters creativity, and the second prompts us to deeply consider the logic behind concepts. Both are essential.

The same elementary proof from the Graphs lecture could have been presented superficially as a general idea, leaving the formal proof as “an exercise for the reader”. A thorough examination of the proof can often deviate from the ultimate goal and blur the motives that inspired us to prove it. We often recognize this moment with the thought:

“What am I to prove again?”

It’s in these moments we start losing interest and the enthusiasm slips away. It’s crucial to recognize these moments and take a step back — to zoom out for a moment and gain perspective.

This is where duck debugging falls short. Fundamentally understanding the general idea is a prerequisite for diving into the formalized proof.

Or is it?

Many times it turns out that only by analyzing the nuances behind the logic are we able to get a sense of the bigger picture. This paradox doesn’t cease to amaze me.

For me personally, teaching has always been an appealing profession: nurturing empathy, fostering critical thinking, laying the foundation for a high-functioning society. Knowing when to zoom in and when to zoom out is a skill that grows exponentially in difficulty when applied to the classroom. Teachers must recognize both their own thought process and their students’ viewpoint. You must agree — It’s indeed a daunting task, but highly rewarding.

--

--