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