[comp.lang.modula2] Modula2 <-- Pacsal

AEVANS@SMITH.BITNET (11/28/89)

We are considering replacing Pascal with Modula2 as the language of
instruction in our introductory Computer Science courses and were
wondering (1) How many other schools have made this change? (2) How
has it worked out? Any response would be appreciated.

*************************************************************************
Alan Evans      aevans@smith.bitnet     (413) 586-4542
103 State St.   evans%sophia.dnet@cs.umass.edu
Northampton, MA
*************************************************************************

doug@CIS.OHIO-STATE.EDU (Doug Kerr) (11/29/89)

In article <INFO-M2%89112808132280@UCF1VM> you write:
>We are considering replacing Pascal with Modula2 as the language of
>instruction in our introductory Computer Science courses and were
>wondering (1) How many other schools have made this change? (2) How
>has it worked out? Any response would be appreciated.

We are in the midst of switching now.  We've converted our first
course and half of our second course.  (We run two versions of the
second course, one for students with experience in our chosen
language, the other for students without such experience.  We switched
the latter to Modula-2 this quarter also.  The "regular" version will
switch next quarter.)  We are using Metcom's Modula-2 on Macs for
these two courses.  We will use Sun's Modula-2 on the more advanced
courses.

From what I hear Modula-2 is working very well for the second course
where we emphasize abstract data types.  I don't think there is much
difference in the first course.  (We're on 10 week quarters so we
don't get to material where Modula-2 is particularly useful until the
2nd quarter.)  We will have our first experience next quarter with the
Suns.

--
 Douglas S. Kerr, Department of Computer and Information Science
 The Ohio State University; 2036 Neil Ave. Columbus OH USA 43210-1277
 doug@cis.ohio-state.edu                    614/292-1519
 ...!{pyramid,killer}!osu-cis!cis.ohio-state.edu!doug

n8243274@UNICORN.WWU.EDU ("steven l. odegard") (11/29/89)

In article <INFO-M2%89112808132280@UCF1VM> you write:
>We are considering replacing Pascal with Modula2 as the language of
>instruction in our introductory Computer Science courses and were
>wondering (1) How many other schools have made this change? (2) How
>has it worked out? Any response would be appreciated.

Western Washington University made that change in 1983 or 1984, following
the lead of the University of Washington, who made the change a half-year
earlier.  For questions on how this has worker out, I would recommend contacting
the Computer Science Department here at Western, by telephone or US mail.
I learned under the old Pascal system, but now work exclusively in Modula.

--
--SLO  8243274@wwu.edu  uw-beaver!wwu.edu!8243274  n8243274@unicorn.wwu.edu

cmp8118@SYS.UEA.AC.UK ("D.S. Cartwright") (11/29/89)

In comp.lang.modula2 you write:

>We are considering replacing Pascal with Modula2 as the language of
>instruction in our introductory Computer Science courses and were
>wondering (1) How many other schools have made this change? (2) How
>has it worked out? Any response would be appreciated.

        At the University of East Anglia, in sunny Norwich, England (sunny ??
England ?? oh, well ...) Modula-2 has now replaced Pascal as the 'standard'
language for first year (and obviously the same people in subsequent years)
undergraduates. I am a second year, and my year was the first to use Modula-2;
the change was very simple (the humongous similarity between M-2 and Pascal did
have a lot to do with this) and the language is both easy(ish) to learn and
versatile, so there have been no real problems in changing languages.

        The situation on books about the language is rapidly improving; the
only book you could really find when we started out with M-2 was "Modula-2:
Constructive Program Development" by P.Messer and Ian Marshall (Ian Marshall
also happened to be my lecturer on Modula-2!!), but there are now many, many
more wonderful books about the language (on this side of the puddle anyway, I
can't speak for America).

        The only potential problem with the change came about 3 weeks ago (well
over a year into the new language!!); our second year courses can be taken by
third years as well, so we have classes with both second and third years at the
same time. Hence a possible problem - second years know Modula-2; third years
know Pascal ('cos they were the last lot to learn it before we arrived and got
stuck with Modula-2). Therefore there is a slight clash in the coursework for
one of the subjects we cover: "... write a Modula-2 program to ...", but a bit
of being-a-nice-chappie from the relevant lecturer has allowed the third year
to use Pascal because it is so similar.

        CONCLUSION:

        Go for it !! It's an interesting and versatile language, easy(ish) to
learn, and in my opinion well worth the change.

   ...  and that's coming from someone who was on the student's end of the
  changeover ...

        Oh, yes ... could you bung me a summary of the replies you get to this
query ?? I'd be very interested to hear what other people say on the matter !!

        Dave Cartwright,
            School of Information Systems (Yr II),
                University of East Anglia,
                    Norwich,
                        ENGLAND.

jim@CS.VU.NL (11/29/89)

In comp.lang.modula2 you write:

>We are considering replacing Pascal with Modula2 as the language of
>instruction in our introductory Computer Science courses and were
>wondering (1) How many other schools have made this change? (2) How
>has it worked out? Any response would be appreciated.

We at  Vrije Universiteit, Amsterdam  have replaced Pascal with
Modula-2 two years ago.  It was a painless affair.  After all
Modula-2 is not much different from Pascal if you don't use the
non-Pascal features.  In an introductory course you should be glad
if students learn to use the procedure abstraction.  I don't think
that you should use the more advanced Modula-2 features.  Students
should cope with problems one at a time.  Using modules for data
abstraction is covered in a more advanced course.

jim van keulen
Vrije Universiteit
dept. CS & M
Amsterdam

BILL@GACVAX1.BITNET (11/30/89)

  Gustavus Adolphus (one of those small liberal arts colleges) made the
switch two years ago -- I was one of the lab rats.  We had one semester in
Pascal and the second in Mod-2.  A warning follows : we did our first
semester in Turbo Pascal and the second in Logitech Mod-2, and as freshmen
and sophamores the difference in compile time was enough to turn most of
my class off to mod-2 completely.  We worked on old IBM's, and the amount of
time it took to debug was enormous compared to what we were used to (i.e.
2-3 minutes for a compile and link of a medium sized program).  If you make
the switch make sure that you get something FAST so the students don't have the
same reaction we did and learn to hate modula-2.

         Bill Dueber      BILL@GACVX1
         Gustavus Adolphus College

abrodnik@watdragon.waterloo.edu (Andrej Brodnik (Andy)) (12/02/89)

Hi!

In article <5840.8911291040@s1.sys.uea.ac.uk> Modula2 List <INFO-M2%UCF1VM.BITNET@PSUVM.PSU.EDU> writes:
>In comp.lang.modula2 you write:
>
>>We are considering replacing Pascal with Modula2 as the language of
>>instruction in our introductory Computer Science courses and were
>>wondering (1) How many other schools have made this change? (2) How
>>has it worked out? Any response would be appreciated.
>
>        At the University of East Anglia, in sunny Norwich, England (sunny ??
>England ?? oh, well ...) Modula-2 has now replaced Pascal as the 'standard'
>language for first year (and obviously the same people in subsequent years)
>
    erased lines
>
>        Oh, yes ... could you bung me a summary of the replies you get to this
>query ?? I'd be very interested to hear what other people say on the matter !!
>
>

I'd like to know:

  (1) machine you use for courses
  (2) compiler you use
  (3) text-book

do you use teaching Modula-2. You can email me your answers and I will
summarize them!


Thank you for your effort and best regards

Andrej
 

abrodnik@watdragon.waterloo.edu (Andrej Brodnik (Andy)) (12/02/89)

Hi!

(I don't know, whether the previous posting was successeful, so I repeat my 
question about teaching Modula-2 in the course. Any comments are kindley 
welcome!) 


I'd like to know:

  (1) machine used for courses,
  (2) compiler which is used,
  (3) and a title of a text-book used 

You can email me your answers and I will summarize them!


Thank you for your effort and best regards

Andrej
 

RHARRIS@KENTVM.BITNET (Ralph Harris) (12/02/89)

We used Modula-2 to teach our Data Structures class, and the Dean
is considering using it to replace pascal.  Although I've found that I like
Modula-2 better than pascal, and it is my choice among the structure languages,
it can take a little more effort to learn.  Going from pascal to M2 was
difficult due to their simularities, I'd wonder why my perfectly good pascal
syntax was creating M2 errors.  Personally, I'd suggest teaching it.  The
ability to modularize programs and their data structures the way you can
with M2 makes it a good teaching tool, and its close enough to pascal
for people to make the switch without too much heatache.  We even used
a Data Structure text book that used M2 code for its examples.
You might also want to talk to my Data Structure teacher/Computer Sci. Dean:

Darrell Turnidge
College of Arts & Sciences
Kent State University
Kent, OH   44243
                                                             Ralph Harris
                                                    Computer Science Major
                                                    Kent State University
                                                    rharris@kentvm

eldridge@BOSS.CS.OHIOU.EDU ("Klaus E. Eldridge") (12/02/89)

We are thinking about iut also but are concerned about the
appropriate software environment: JPI Modula2, The Hamburg
version of an ETH version, etc. There's no clear winner at
the moment. Primary reason is ease of switching (for the
faculty) to a more "practical" language.

Let's hear what you find out on the net.


Klaus E. Eldridge    Morton Hall 423
Computer Science Dept., Ohio University, Athens, Ohio 45701-2979
UUCP: ...!att!oucsace!oucsboss!eldridge     Voice: +1 614 593 1242
INTERNET:  eldridge@boss.cs.OHIOU.EDU    BITNET: ELDRIDGE@OUACCVMB

Pat.Terry@p101.f4.n494.z5.fidonet.org (Pat Terry) (12/06/89)

 > We are considering replacing Pascal with Modula2 as the language of
 > instruction in our introductory Computer Science courses and were
 > wondering (1) How many other schools have made this change? (2) How
 > has it worked out? Any response would be appreciated.

We changed from Pascal to Modula-2 three years ago in our junior years
after a few years of using it in the senior years.  We work on IBM-PC's
and use compilers like the shareware FST one (excellent value, and a
nice tight implementation for beginners) and JPI TopSpeed (real nice
environment that the kids all love when they are clever enough to handle
it and not panic after a few wrong function key presses).

It works well.  Very well.

Now I notice some of the folk in this thread are saying "well, it's easy
to change to M-2, and you can avoid the real M-2 stuff for a while" or
words to that effect.

I think this makes a rather bad mistake.  I'm convinced now that there
is no great point in delaying some of the object oriented paradigm where
it's useful - and we can give our kiddies much more fun importing
Turtles, Jukeboxes, etc at an early stage - as well as get them onto
modularised tree handlers, stack handlers, since we have to have some
traditional stuff too!  Sure, OOP is not everything, and M-2 isn't
really OOP, some will say, but it can support some of the basic ideas
rather well.

I rolled my own book.  Started life as a pascal clone, like so many do,
but after some excellent remarks from my reviewers, by the time it came
into print I had modified my view considerably, and I'm glad I did.

For the record it's "An introduction to programming with modula-2",
Addison Wesley, 1987, 0-201-17438-3.  You can get all the sources
(useful since I abandoned InOut for what I thought was a better, more self
consistent one) and sources for some other exercises as well, from me.

There are a few other books that try to be subtly different.  I thought
Messer and Marshall were on track in this respect, and the Stubbs and
Webre second level one is good too.  Doubtless there will be more good
ones soon, but it seems a difficult market to reach.

There are too many pascal clone books out there.  I tried in mine to get
the idea of "abstract" types across as early as possible.  The one that
student implement have to be rather simple at first (not the whole
opaque pointer picnic, though of course they can use Turtles and
Jukeboxes that have been done like that long before they can implement
them for themselves). Were I to rewrite the book now I'd be even more
radical, but at the time it seemed sensible to be fairly conventional in
the choice of first examples and so on.  The last two years I have moved
to trying to be more innovative in the use of modules and ADTs (simple
ones) from as early a stage as possible. It works very well.  Not only
does it challenge the students (many of whom have quite extensive
TurboWhatsit experience before they get here) but it has also given the
instructors a fresh breeze of insight and inspiration.  So too, the
distinction between the first "hacker" style course and the second "data
structures" course is getting blurred.  We try to emphasize design and
interface specifications as early as possible too.  Doesn't always work
out too well, as for beginner level programs the division of "expertise"
into different modules seems a bit contrived, especially to the better
hackers, who can knock up a monolithic solution faster than their slower
classmates can read the problem sheet.

To summarise: I think M-2 works very well, but don't confine yourself
to thinking of it as Pascal. Do it properly.  It's not harder!

I have to admit that the M-2 compilers on PC's haven't been as flashy
or as fast as TurboWhatsit (though if students haven't seen the latter,
they don't notice that M-2 is a bit slower, of course).  And I concede
that by now Turbo has most of the features of M-2 incorporated.  Sadly,
if students move to other Pascal systems they can't port their expertise
in all the ad-on areas directly - whereas they can to a great extent
with M-2.

Later courses by my colleagues teach the kiddies C.  Don't want to start
the languages war; just one sad comment.  Some of the students see the
approach in the C courses as so different from my M-2 one that they
think it is a whole new ball game.  Out goes the design, abstraction,
etc and in comes the "isn't it fun to get close to the machine and write
all this cryptic stuff".  I still have to find a way to teach
programming so they see it as that, and not just as coding.  There are
lots of challenges left in life!



--  
uucp: uunet!{oresoft,intelhf}!m2xenix!puddle!5!494!4.101!Pat.Terry
Internet: Pat.Terry@p101.f4.n494.z5.fidonet.org

amull@Morgan.COM (Andrew P. Mullhaupt) (12/08/89)

My brother started his Computer Science major at the University
of Buffalo (actually S.U.N.Y.at B.) back when they used Pascal
in batch, and he was so disgusted that he left school and joined
the Air Force. He was at that time already fairly proficient at
Pascal. After  the Air Force, he went back to U.B., where they
were using Modula-2 for introductory computer science. He became
converted to Modula-2 even to the extent of preferring going to
school to use a terminal for Modula-2 over using Pascal on his 
PC. 

Now, he (as I would have guessed) is changing his mind. That
*&^%^#$! overworked shift key is starting to bug him, and 
Modula-2 eventually becomes a bit clumsy looking for simple
things, as he now discovers. (Not that these are major issues-
just creature comforts). He is even beginning to think that
Pascal syntax is cleaner. (I agree, but I can certainly see the
other side of the coin. I'm not Modula-2 bashing, just reporting
what seems to me an interesting attitude shift in someone who
has an interesting perspective on the issue of Pascal vs.
Modula-2 as a first language.) I think important issues can be
emphasized in either language over the other,  but the convenience
of the student in working on those interminable projects will
be the biggest factor as far as I can see.

Is anyone considering the proposed Extended Pascal as a teaching
language? Also: I think that guarded commands and concurrent
assignment are not really so advanced that students can't grasp
them, and I would like to see students learn to specify programs
more than I would like to see them bang around Pascal file I/O
(or some such other triviality) for their first course.


Later,
Andrew Mullhaupt

rsutc@fornax.UUCP (Rick Sutcliffe) (12/09/89)

> In comp.lang.modula2 you write:
 
 >We are considering replacing Pascal with Modula2 as the language of
 >instruction in our introductory Computer Science courses and were
 >wondering (1) How many other schools have made this change? (2) How
 >has it worked out? Any response would be appreciated.

Trinity Western University in Ft. Langley British Columbia has used
Modula-2 for five years.  We have used Logitech's PC compiler (good)
and PCollier (bad service) and now use SemperSoft on MPW on the Mac.
The text is Sutcliffe (Merrill publishing).

I have been on sabbatical at the nearby (much larger) Simon Fraser University
this year.  Here, I am teaching their intro course, also using Sutcliffe (me)
and Sun's compiler.  (Good compiler, bad library)

I would never go back to Pascal for either teaching or writing
software.
Rick Sutcliffe