The area of computer science education is one that I have felt quite strongly about during my professional life. In the last 10 years, I have witnessed a number of projects where toiling through legacy code with legacy development habits was a normal and accepted way of working. However, it’s surprising that these kinds of habits often originate in university classrooms. This is where the debate over Software Carpentry comes into play. How can effective software development skills (such as producing...