Introducing megaprogramming at the high school and undergraduate levels

  • Mary Eward
  • Steven Wartik
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 750)


This paper discusses a project to introduce software reuse, in the form of megaprogramming, to high school and university students. The project is working with high schools and universities to develop course materials and curricula incorporating reuse. These course and curricula are based on a version of megaprogramming called Synthesis. We have developed a one-to-two week pilot course that is being taught in several high schools. This course, while not an attempt to teach students systematic techniques for software reuse, introduces the students to key reuse concepts and shows them the importance of reuse. We are using feedback from the course offerings to help us continue developing the course and curriculum material.

This paper recounts some of the issues encountered by the project in working with the high schools and universities, and outlines our current strategy for teaching reuse at these levels.


Software Development Product Family High School Teacher Software Development Process Software Reuse 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Domain Engineering Guidebook. Technical Report SPC-92019-CMC, Software Productivity Consortium, Herndon, Virginia (1992).Google Scholar
  2. Frank Belz, Dave Luckham, and James Purtilo: Application of ProtoTech technology to the DSSA program. In Proceedings of the DARPA Software Technology Conference, Los Angeles, California (1992).Google Scholar
  3. Barry Boehm and William Scherlis: Megaprogramming. In Proceedings of the DARPA Software Technology Conference, Los Angeles, California (1992).Google Scholar
  4. Robert Cameron: Software reuse with metaprogramming systems. In Proceedings of the Fifth Annual Pacific Northwest Software Quality Conference, Portland, Oregon (1987) 223–232.Google Scholar
  5. Grady Campbell: Abstraction-based reuse repositories. In Proceedings of AIAA Computers in Aerospace VII Conference, pages 368-373, Monterrey, California (1989).Google Scholar
  6. Michael Clancy and Marcia Linn: Designing Pascal Solutions: A Case Study Approach. W. H. Freeman, New York, New York (1992).Google Scholar
  7. Edsgar Dijkstra: Notes on Structured Programming. In O.J. Dahl, E.W. Dijkstra, and C.A.R. Hoare, editors, Structured Programming, Academic Press (1972) 1–82.Google Scholar
  8. Richard Pattis: Karel the Robot: A Gentle Introduction to the Art of Programming with Pascal John Wiley and Sons, New York, New York (1981).Google Scholar
  9. Viswa Samanthanam: Teaching reuse early. In L. Deimel, editor, Software Engineering Education, Springer-Verlag, New York, New York (1990) 77–84.Google Scholar
  10. Allen Tucker and Bruce Barnes: Computing curricula 1991: Report of the ACM/IEEE-CS joint curriculum task force. Technical report, Association for Computing Machinery, New York, New York (1991).Google Scholar
  11. Steven Wartik and Rubén Prieto-Díaz: Criteria for Comparing Reuse-Oriented Domain Analysis Approaches. International Journal of Software Engineering and Knowledge Engineering, 2 (1992) 403–431.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Mary Eward
    • 1
  • Steven Wartik
    • 1
  1. 1.Software Productivity ConsortiumHerndon

Personalised recommendations