CDA-9312614 PROJECT SUMMARY INSTITUTION: Indiana University, Bloomington TITLE OF PROJECT: Tools and Techniques for Use of the Scheme Programming Language in Undergraduate Education LIST OF PIs: Christopher T. Haynes, R. Kent Dybvig, Daniel P. Friedman, LoriLee Sadler, George Springer SUMMARY OF COMPLETED PROJECT The exceptional simplicity and power of the Scheme programming language that account for its widespread use in computer science research also explain its great potential in education. The full potential of Scheme has not been realized due to the lack of a quality programming environment with a graphic user interface, limited pedagogic materials, and limited awareness of Scheme's pedagogic potential. The goal of this project was to make such software and pedagogic materials widely available. This project supported development of a Scheme Widget Library, SWL, to be released soon with support for several popular computing environments. SWL provides a superior object-oriented Scheme programming environment, including a structure editor, graphical inspector, debugger, and profiler. Extensive materials have been developed and published on the Web for several Scheme-based courses, including introduction to programming, programming languages, and compilers. Several workshops were offered at Indiana University and a major conference to train teachers in use of the new materials, and several papers were published to widely disseminate our findings. A Web-based repository of Scheme-related materials of all sorts was constructed. Overall this project has enhanced opportunities for the introduction of research results in undergraduate education using the Scheme programming language. TECHNICAL INFORMATION SOFTWARE Indiana University Computer Science Department Programming Languages Group. "The Scheme Widget Library (SWL)," a multithreaded graphics and windowing library for Scheme and a set of tools developed using this library. Version 0.9 is now in beta-test; Version 1.0 will be released in early 1998 via the project web cited below. INTERNET PUBLICATIONS www.cs.indiana.edu/eip: This document contains link to a variety of educational materials developed as part of this project. Included is extensive support for three courses: programming languages, compilers, and introduction to computing. www.cs.indiana.edu/scheme-repository: A repository of materials related to the Scheme programming language, including a wide variety of Internet resources. TRADITIONAL PUBLICATIONS Matthias Felleisen and Daniel P. Friedman, The Little MLer. MIT Press, 1997. Matthias Felleisen and Daniel P. Friedman, A Little Java, A Few Patterns. MIT Press, 1997. Daniel P. Friedman and Matthias Felleisen, The Seasoned Schemer. MIT Press, 1996. Daniel P. Friedman and Matthias Felleisen, The Little Schemer, Fourth Edition. MIT Press, 1996. R. Kent Dybvig, The Scheme Programming Language, Second Edition. Prentice-Hall, 1996. Oscar Waddell and R. Kent Dybvig, "Fast and effective procedure inlining." In Proceedings of the Fourth International Static Analysis Symposium, September 1997 (to appear). Christopher T. Haynes, "Compiling: a high-level introduction using Scheme." In Proceedings of the Twenty-Eigth SIGCSE Technical Symposium on Computer Science Education. (February, 1996). Eric Hilsdale, J. Michael Ashley, R. Kent Dybvig and Daniel P. Friedman, "Compiler construction using Scheme." In the proceedings of the Functional programming languages in education conference (December, 1995), LNCS 10:22, P. H. Hartel and M. J. Plasmeijer, eds., Springer-Verlag, pp. 251-268. Carl Bruggeman, Oscar Waddell, and R. Kent Dybvig, "Representing control in the presence of one-shot continuations." Proceedings of the Conference on Programming Language Design and Implementation, 1996, pp. 99-107. Hsianlin Dzeng and Christopher T. Haynes. "Type reconstruction for variable-arity procedures." In Proceedings of the 1994 ACM Conference on LISP and Functional Programming. (June, 1994), 239--249.