eText: an interactive environment for learning parallel programming
How can parallel programming be made tractable for students in high schools and community colleges, to programmers in four-year colleges, to commercial and government employees, to interested independent users learning on their own, and as CASE tools for professional software designers? We aim not only to enable people to use more powerful computers, but also to enable people to use computers more powerfully, by nurturing the techniques that enable them to develop efficient, correct code with relative ease. This paper briefly presents the concept of an Archetype, a software engineering methodology developed at the Caltech for patterns of problem solving, and for providing media for quick reference and natural software reuse. We then describe eText, an interactive multimedia electronic textbook that facilitates the teaching of, navigating through, and referring to Archetypes. Initial experience with Archetypes and the electronic textbook suggests that this approach to teaching parallel programming can aid computer users in the immediate future.
© 1994 ACM. Software Archetypes were first conceived by K. Mani Chandy, who has been instrumental in refining them, coordinating and inspiring this project. Special thanks go to the eText group members who helped create the work presented in this papen Siddhartha Agarwal, Paul Ainsworth, Diane Goodfellow, Rohit Khare, Paul Kim, Svetlana Kryukova, Tal Lancaster, Rajit Manohar, and John Thornley. This paper reflects a larger overall effort [Oha93], led by K. Mani Chandy at Caltech, to develop methods and tools to aid in the software engineering of parallel programs, for a variety of natural science, mathematics, and computer science applications. The methods deal with the systematic development of parallel programs from specifications — and in many cases, the specification is a sequential program which is required to be "parallelized." The tools support reasoning about parallel programs, then debugging them on workstations, and finally porting the source code from workstations to parallel machines. The methodology has been used for such applications as fluid dynamics computations. eText, Archetypes, and PEN play central roles in the overall effort. The research on libraries of Archetypes was sponsored by ARPA under contract N00014-91-J-4014, and this support dovetails with CRPC support for education and parallel scientific applications, under cooperative agreement CCR-9120008. The goverment has certain rights in this material. Demonstrations are available on request through the eText Group at the Department of Computer Science at Caltech. Presently two electronic textbook user interfaces have been implemented: one is running on the applications layer of NEXTSTEP, md the other executes on XMosaic, a layer over the Internet World Wide Web. Future plans include ports to PCs and/or Macs.