jsq@ut-sally.UUCP (John Quarterman) (11/04/84)
I posted this question a couple of weeks ago: Message-ID: <41@ut-sally.UUCP> Date: Thu, 18-Oct-84 14:34:38 CDT What schools are teaching courses on or in modula-2, what is the content of the courses (introductory programming, operating systems, etc.), and what compilers are being used in them? Would the instructor of the course be interested in communicating with others elsewhere teaching courses involving modula-2? Here is the summary. There were not enough responses to draw many conclusions, but perhaps the various instructors would be interested in exchanging information. Mail from England is sometimes extremely garbled, and there were no responses (surprisingly) from the continent of Europe or Australia (maybe they don't get net.lang.mod2). Number of courses by (broad) area: programming: 5; operating systems: 3; data structures: 1; compiler design: 1; software engineering: 1. I have not included Len Tower's information on private sector seminars in the above numbers because it wasn't obvious how to fit them in. His summary is the first mail message quoted whole below, and after it are messages from other people, in the order of the brief list immediately below. Since no one explicitely said whether or not they would be interested in communicating with others teaching modula-2, I have assumed that all addresses were intended for inclusion in the summary. Apologies if anyone wanted to be anonymous. school instructor courses compiler address U. Washington first year programming ? Richard Pattis second year programming ? <PATTIS@WASHINGTON.ARPA> U. North Carolina, Chapel Hill operating systems ? Rick Snodgrass compiler design (eventually) seismo!decvax!mcnc!unc!rts Imperial College of Science and Technology 180 Queensgate, London SW7 2BZ England seismo!mcvax!ukc!kcl-cs!ic-cs!susan programming M2M and someone else (in E.E.) real time programming M2M Georgia Tech. Prof. Kim King software engineering ? gatech!gitpyr!kim cal poly - slo jim beug eventually ? trwrb!csuslo!jlb0016 University of Reading, UK Adrian Pell operating systems New South Wales M2 {mcvax,edcaad}!ukc!ru-cs44!adrian U. Texas Austin programming decwrl Jeff Brumfield data structures decwrl jab@ut-sally.ARPA operating systems decwrl {ihnp4,seismo}!ut-sally!jab Here are the actual mail messages, with superflous headers deleted. In some cases, I have had to munge From headers to something that approaches a UUCP route that would actually work for return mail. Where the organization was not obvious from the text or headers of a message, I have added an appropriate Organization: header with information from the Internet, USENET or UUCP maps. Once again, I have assumed that if you sent me a message, it was for inclusion in the summary, and apologies if I offend anyone by doing so. >From inmet!tower@ihnp4.UUCP Wed Oct 24 08:09:52 1984 Date: 24 Oct 84 07:42:59 CDT (Wed) Subject: Re: Modula-2 classes Here is an excerpt from a recent study I did. Awaiting your summary to the net. -len tower UUCP: {ihnp4,harpo}!inmet!tower Intermetrics, Inc. INTERNET: ima!inmet!tower@CCA-UNIX.ARPA 733 Concord Ave. Cambridge, MA 02138 (617) 661-1840 U.S.A. Training Seminars Training Seminars have started to appear on Modula-2. The titles, lecturers, and sponsoring organizations have been: Modula-2: An Alternative to Ada Lecturers: unknown Software Engineering with Modula-2 Lecturers: unknown Continuing Education in Engineering University of California Extension 2223 Fulton Street Berkeley, CA 94720 Modern Software Engineering Using Object-Oriented Design and Modula-2 Lecturers: Dr. Richard F. Sincovec Dr. Richard S. Wiener Western Software Development Seminars c/o Journal of Pascal, Ada & Modula-2 P.O. Box 384 Orem, UT 84507 The existence of these seminars indicate that Modula-2 is maturing as a language, and is being used by many software developers. >From: Richard Pattis <PATTIS@WASHINGTON.ARPA> Date: Sat 20 Oct 84 19:56:45-PDT Organization: University of Washington Postal-Address: Department of Computer Science, FR-35 Seattle, Washington 98195 Hi, I just saw your net note about modula-2. This is a slightly modified copy of a note I sent to John Brumfield. I'm teaching Modula-2 here at UW, to mostly first and second year students (in their first programming course). I'm a bit bored with Pascal, and I want to see if I can recreate the jump in power that occured between assembled and compiled languages. I am going to experiment this quarter, and teach a very object oriented approach to the subject. For example, even the basic types (INTEGER, BOOLEAN, etc) will be discussed as abstract types, with appropriate operations. I hope that this will promote a very uniform approach towards learning new things, and focus on new data-objects and their operations, as opposed to control structures and the programming methodologies that their focus highlights (e.g., stepwise refinement). Given enough time to implemenent things, I'd like to teach students how to conceptualize/use objects like arrays (yes, not as a new, built-in syntactic feature, but as a new object with operations like Create, Get, Put, etc.), sorted-lists, windows, trees, etc., all done as abstract types. For examples, completely covering trees and recursion fairly early, without explaining pointers (using operations like FollowLeftSon or CreateLeftSon). Of course, we could use pointers as a blackboard notation for talking about trees, but we can also use an embedding notation, like that of pure recursive data structures (this sounds vague, I know). Decisions like this cause me to exclude infix operators (they don't generalize, and procedures and functions are more important anyway), and replace FOR loops with builtin generators for each new object. I'm interested in hearing any comments and observations you have about Modula-2 and teaching. Do you know others using it in a first programming course? For another, I've been reviewing Modula-2 books in which the authors write generic modules that totally subvert type-checking (they are unreadable to novices, and look to me alot like C hacking). Do you consider this approach to be in the spirit of the language? I'm currently trying to discover an easy way to allow students to plug together modules in a software engineering fashion, but to retain type checking (for example, wiriting a rational package that one can create from INTEGERs or a package of InfPrecsionIntegers). I'm still fighting this battle. It looks like the module feature is more geared towards breaking down a large project into sub-projects than to creating a library of useful objects. Well, if you're interested in any of these issues, I'm looking for someone, with more experience, to bounce ideas off of. I am going to be teaching the same course every quarter for 2 years, so I'll have pleny of chances to experiment and get my notes into shape. Actually, I hope to have everything pretty well written by Fall next year. Richard ------- >From seismo!decvax!mcnc!unc!rts Sun Oct 21 18:18:41 1984 Original-From: Rick Snodgrass <rts@unc> Organization: University of North Carolina, Chapel Hill Postal-Address: Chapel Hill, NC 27514 I will be using Modula-2 in my operating systems course--we have two simple operating systems written in Modula-2 that run on a simulated Mcode machine. We also plan on using Modula-2 in our compiler course, but that is a ways off. I would be interested in receiving a summary of the responses you receive from your query. Rick Snodgrass >From seismo!mcvax!ukc!kcl-cs!ic-cs!susan Mon Oct 22 14:24:25 1984 [ if there was a real name in the header it was lost in transmission -jsq ] Date: Mon, 22 Oct 84 11:49:35 GMT Organisation: Dept of Computing, Imperial College of Science and Technology Postal-Address: 180 Queensgate, London SW7 2BZ England I teach Modula 2 as a first programming language to computer science students. The students are extremely bright (probably comparable to MIT or CalTech) and virtually all come in with a fair bit of programming experience. I use my own material (its filled with data flow design stuff) and a version of M2M that runs under Berkeley Unix. I'd like to get Powell's compiler but haven't got it yet. The course consist of two lectures a week for 22 weeks and doesn't use the low level stuff from M2. Another member of staff teaches M2 to M.Sc. students in EE and Robotics in a real time programming course. >From ihnp4!clyde!jona Tue Oct 23 12:08:14 1984 Date: Tue, 23 Oct 84 09:34:31 edt You may want to contact Prof. Kim King at the Georgia Institute of Technology. I took a special topics course called "Software Engineering with Modula-2" from him and know that he is very interested in Modula. I believe he is even working on a textbook for Modula-2. You can probably make contact through the net to GaTech or get in touch with the school: School of Info & Comp Sci Georgia Institute of Technology Atlanta, GA 30332 Jon Allingham ATT Bell Laboratories Whippany, NJ 07981 [ gatech!postmaster says Prof. King's address is gatech!gitpyr!kim, but I've gotten no response from it. -jsq ] >From ihnp4!scgvaxd!trwrb!csuslo!jlb0016 Sat Oct 27 14:49:14 1984 Date: Sun, 21 Oct 84 01:54:42 pdt Organization: California Polytechnic State University Postal-Address: San Luis Obispo, CA 93407 dept of computer science at cal poly - slo is not yet, but would like to teach modula2. we need a compiler (unfortunately it should run on the cyber 170 series and a text. we would like to see your results when you are done. jim beug ..!trwrb!csuslo!jlb0016 >From seismo!mcvax!ukc!ru-cs44!adrian Tue Oct 30 04:50:57 1984 Date: Mon, 29 Oct 84 10:26:15 GMT Here in the Computer Science Department of University of Reading, we use Modula-2 for teaching systems programming. The language is used as a vehicle for developing small standalone operating systems to run on LSI-11's. All programs are compiled on a PDP11/44 running V7, using the New South Wales M2 compiler. Whilst the overhead introduced by the context switching (especially in the handling of interrupts) would be prohibitive in a production environment, it is just about acceptable in a teaching envt., and allows us to concentrate on the high-level design of op. sys. without getting too tied up in the hardware interface. I'm always interested in other peoples experiences with M2. Adrian Pell ({mcvax,edcaad}!ukc!ru-cs44!adrian) Computer Science Dept. University of Reading UK Date: Thu, 18-Oct-84 14:34:38 CDT >From: John Quarterman <jsq@ut-sally.UUCP> Organization: CS Dept., U. Texas at Austin Postal-Address: Austin, Texas 78712 USA Newsgroups: net.lang.mod2 [ this sentence was in my original posting -jsq ] There is one medium-level one-hour programming course here that teaches modula-2, using Powell's compiler, mostly to people familiar with PASCAL. Date: Wed, 24 Oct 84 17:10:04 cdt >From: jab@ut-sally.UUCP (Jeff Brumfield) Organization: CS Dept., U. Texas at Austin Postal-Address: Austin, Texas 78712 USA When you compile your list of Modula-2 courses, you might mention that in addition to this semester's Modula-2 course I will be using Modula-2 in my data structures course spring semester and in undergrad operating systems the next time I teach it. -- John Quarterman, CS Dept., University of Texas, Austin, Texas 78712 USA jsq@ut-sally.ARPA, jsq@ut-sally.UUCP, {ihnp4,seismo,ctvax}!ut-sally!jsq