Introducing megaprogramming at the high school and undergraduate levels
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.
KeywordsSoftware Development Product Family High School Teacher Software Development Process Software Reuse
Unable to display preview. Download preview PDF.
- Domain Engineering Guidebook. Technical Report SPC-92019-CMC, Software Productivity Consortium, Herndon, Virginia (1992).Google Scholar
- 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
- Barry Boehm and William Scherlis: Megaprogramming. In Proceedings of the DARPA Software Technology Conference, Los Angeles, California (1992).Google Scholar
- 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
- Grady Campbell: Abstraction-based reuse repositories. In Proceedings of AIAA Computers in Aerospace VII Conference, pages 368-373, Monterrey, California (1989).Google Scholar
- Michael Clancy and Marcia Linn: Designing Pascal Solutions: A Case Study Approach. W. H. Freeman, New York, New York (1992).Google Scholar
- 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
- 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
- Viswa Samanthanam: Teaching reuse early. In L. Deimel, editor, Software Engineering Education, Springer-Verlag, New York, New York (1990) 77–84.Google Scholar
- 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