J. Sametinger, The Role of Documentation in Programmer Training, Programming Languages: Experiences and Practice, Mark Woodman (Ed.), Chapman & Hall, 1994
High-quality software documentation reduces the maintenance burden and improves productivity by enhancing reusability. Well documented software systems are also needed for students to learn from designs and implementations of experienced engineers.
Documentation is neglected in software education to a great extent. Neither documentation skills are taught, nor well documented systems are used for learning purposes. The availability of programming tools already plays a major role for choosing a programming language for software education. Usually and unfortunately, neither the availability of documentation tools nor the availability of documentation support in programming tools have an impact on this choice.
Furthermore, conventional documentation does not seem to be very suitable and attractive for learning and teaching. This paper outlines how concepts like literate programming, hypertext and object-oriented documentation can be combined to improve software documentation quality and accessibility. This can result in a more effective education of our future software engineers.