One of the goals of education is to form habits: to make the
best way to do something the automatic way to do it. It turns
out that may be harder than we thought. New research indicates
that the oft-quoted “21 days” rule is a myth; the real figure is
on average in the mid-60s, with some things taking significantly
longer. I think this is bad news for anyone teaching good
programming practices at the university level. We don’t have
students long enough for things like using debuggers or test-
driven development to bed down as habits. What’s worse, their
next instructor probably won’t mention them at all (since his or
her course is supposed to focus on databases or compilers, how
students work just isn’t on the radar), so the reinforcement
needed to make good practice automatic isn’t there.