Rubber Duck Debugging in CS50 IDE

In addition to printf, debug50 (aka gdb), and valgrind, CS50 also introduces students to rubber duck debugging, a technique that involves talking to a rubber duck (or any inanimate, or even animate, object) about a bug in their code. In healthier times, students on campus even receive their very own ddb. By explaining the intended logic of their code, any illogic therein tends to stand out, thereby enabling students to debug their code.

With everyone taking CS50 online this term, we thought we’d provide everyone with their own virtual duck! And so, thanks to CS50’s own Kareem Zidane, Sophie Anderson, and Brenda Anderson, CS50 IDE now has its own clickable duck to whom students can talk via chat. To be fair, its vocabulary is limited, but what matters is students’ side of the conversation!