emo@iuvax.UUCP (06/09/87)
From: Eric Ost <emo@iuvax.cs.indiana.edu> Greetings, I am wondering how many people are using the programming language Scheme in introductory computer science and electrical engineering courses? I know of a few schools (and have learned about a few more in recent responses) that are, but how widespread is this interest? In addition, what types of hardware are, or would be, used for such a course? Are CS departments aware of the (ever lowering) low-cost of systems such as those offered by Commodore, Atari, Apple, and others? Might these not make perfect programming environments for beginning computer science and electrical engineering students? Scheme programs are built from an easy to learn syntax and provides a vehicle for the programming of many different computational paradigms. As for the integration of routines written in a particular assembly language, some of the currently available implementations of Scheme offer this as a documented feature, e.g. MacScheme and MacScheme+Toolsmith. The first programming language that I learned was UCI Lisp that ran on a DEC-10 (accessed via a 300 baud TRAN telephone link) in 1979. I then learned Pascal followed by 6809 assembly language. C came into view only several years after beginning to study computer science. I am very much in favor of using interactive programming languages, such as Scheme, in introductory courses. However, it is mandatory that students also know what is happening in industrial settings for this is (probably) where they will be working after graduation. Scheme provides a way to teach the fundamentals before progressing to the conventional languages, e.g. C, Pascal, Modula 2, etc. Students will become familiar with the abstract notion of what computation is rather than being initially burdened with also figuring out how this abstract notion is implemented in today's computing systems. It's not that Scheme forbids one from gaining this knowledge, but rather that it is easier to concentrate on the "whats" rather than the "hows" in such introductory contexts. Remember, computing systems will continue to change and evolve. I believe that it is equally important to understand both "what" computation is (i.e. what you want to do) as well as "how" to implement it (i.e. how to do it) given today's computing hardware. But, you have to know what you are looking for before you'll be able to recognize that you've found it. For those who are interested in more information concerning Scheme, please refer to the most recent description of the language published in the December issue of ACM's SIGPLAN Notices. The article is entitled "Revised^3 Report on the Algorithmic Programming Language Scheme" edited by Jonathan Rees and William Clinger. This is also available as an A.I. Lab Memo (#848) from MIT as well as a technical report (#174) from the Computer Science Department at Indiana University. eric #t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t#f#t Eric Ost CSnet: emo@indiana Computer Science Dept. Usenet: emo@iuvax Indiana University Arpanet: emo@iuvax.cs.indiana.edu Bloomington, Indiana 47405 (812)-335-5561