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 or refactoring clean code as a way of practice) be taught in a formal education setting without sacrificing time for other essential topics?
Greg Wilson has been developing and teaching a Software Carpentry course specifically to address these issues. Recently, he was interviewed by Jon Udell on the Interviews with Innovators podcast. If I had the money to contribute to his cause, I would certainly not hesitate to do so!
Side note: While on this topic of software development and podcasts, this particular discussion makes a great follow up to some of the points brought up on a recent episode of .NET Rocks!, which featured a panel discussion on Is Software Development Too Complex?