If bridges and buildings were made like we make software, then we would have disasters happening daily. I have heard this several times from many people. It is sad but true. Buggy software is the bane of the software industry. One of the ways of increasing software quality is by proper education. Several professionals from the software industry also attest to this. They believe that a greater emphasis should be given to quality and testing in university courses. But simply explaining the principles of software quality is not sufficient. Students tend to forget theoretical principles over time. Practical exposure and experience is equally important. Students should be put in an environment where they can appreciate the importance of quality software and can experience the benefits of processes that enhance quality. Many universities have a period of internship for the students in which they work in a software company and experience these factors first hand. However because the internship usually is of a duration of 3-6 months, it is not sufficient to instill the importance of quality. Emphasis on code quality should be made a part of the entire software curriculum for it to have proper impact. Every assignment that the students submit should be subjected to the same quality standards that an industrial project would be subjected to.
Having university assignments adhere to industrial standards will result in the faculty having to spend more time grading the assignments. The faculty can no longer just give an assignment, wait for the students to submit it, and grade them. The faculty must be more like a project manager who constantly mentors the students and helps them improve the quality of their work. Along with spending a good amount of time mentoring students off class hours another challenge is timely evaluation of student assignments. Faculty members are already overloaded with the task of teaching, designing projects,