Software and Higher Education. - Knight, John C.; Leveson, Nancy G. (Communications of the ACM, 2006)
The article discusses several limitations of higher education in relation to development of software projects in the U.S. To develop a software the best engineering techniques, such as rigorous specification and systematic inspections is required. But it usually happens that many large and important software development projects are conducted with poor choices of engineering techniques and technologies. This results in increased risks, costs, and delivery delays. These limitations occur mainly because of deficiencies in the computer science and computer engineering degree programs to which many people turn for their professional education. These degree programs emphasize more on popular details and the principles of software development are neglected. system. The degree programs should cover all the major elements of software development including requirements, specification, design, and verification in such a way that graduates understand what choices are available and how to use them. There are important areas of the discipline, such as real-time and embedded systems, that require indepth teaching of the concepts.