Ducks!What's with all the Ducks?

Attending the Second Year Welcome Talk or exploring the DoC labs, you could be forgiven for asking this question. Let us explain what this is all about:

In the first year of our undergraduate degree programme, our students get a lot of individual hands on support both in the labs and via the PPT (Personal Programming Tutor) system. In the second year, quite a lot of this support drops away and the nature of the lab-work is such that the problems become larger and more challenging. As such, it is very important that our students learn how to (A) be more self-sufficient and (B) to ask better questions of the lab-helpers.

One commonly acknowledged way of achieving both of these objectives is the use of a technique known as Rubber Duck Debugging [1],[2]. The technique involves carefully explaining your problem aloud to an inanimate object (such as a rubber duck). Forcing yourself to outwardly express your issue can often either help you to solve it yourself, or make it easier to explain to a lab-helper or colleague in the future. Some websites, such as Stack Exchange, even ask that you go through this (or a similar process) before posting a question on-line [3].

We annually purchase each of our second year students a rubber duck to accompany them through the second year laboratory course. We give them advice on how to best make use of this technique as well as weekly lab support hints (and the odd joke) posted at: https://twitter.com/DoCDuk.

[1] http://www.rubberduckdebugging.com
[2] https://en.wikipedia.org/wiki/Rubber_duck_debugging
[3] http://blog.codinghorror.com/rubber-duck-problem-solving

Rubber Duck Debugging is also sometimes referred to as Tell it to the Teddy-bear.