[net.cse] AT&T 6300 at UVM

markg@nvuxf.UUCP (M. Guzdial) (05/14/85)

To Mr. Shapiro at Haverford and Mr. Chen at Princeton

Gentlemen:

I think that both of you, frankly, are being blinded by your abilities and
perhaps your own vanity.

Obviously, you are both excellent computer scientists working on complex
applications requiring a good deal of CPU horsepower.  That's great, but
most users DON'T have those sort of requirements, and burdening those users
who don't have these requirements with either not having a machine or
paying the bucks for one that comes up to your high standards is unfair.

I think that my background permits me to speak with some familiarity with
the requirements of undergrads in respect to computers.  I am a recent 
graduate (May '84) of Wayne State University in Detroit, MI,
with a B.S. in Computer Science.  I taught community education for three
years, and my last year at Wayne, I taught a class in Robotics ("Real-Time
Assembly Language Programming") curriculum at Macomb County Community
College and high-school-equivalency classes.

Mr. Shapiro mentions that he knows of some 10 members of his class of
some 250 could bury a 6300, and that he would expect even greater
numbers of demanding users at a larger university.  Surprisingly, I have
not found this to be true.  Wayne State University has 35,000 students, and
I found only a handful of undergrads who REQUIRED more CPU than even a
Commodore-64.  Sure, there are always the hackers and the ones who want
ever-faster-response, but these are just the folks who'll be designing, 
building, and programming the next Suns and Crays.

Both of you mention your intense demands for "simulation, compiler 
hacking" and artificial intelligence applications.  Great, but very
few undergrads are going to have such demands, let alone fit in all
of those classes in an undergrad curriculum.  At Wayne, CS in under the
school of Liberal Arts, and between CS core classes and liberal arts
core classes, I had few electives left over for the "fun" CS courses.
I'm returning to grad school in the Fall and plan on taxing resources
of the CPU then, but I had little need to do so working for my BS.

Further, in a single semester, in any of these classes, how much CPU are
you really going to need?  In one semester, I really can't imagine an
undergrad building a compiler to tax the CPU of even a 6300, unless it's
an inefficient hog.  I wrote a simple compiler for an even less-powerful
CPU, a 6502-based "box," and I found that writing my own parser and code
generator for that, and making it run well, easily kept me busy for a
semester.  Why can't Lisp be run on such a machine?  Patrick
Winston, co-author of "Lisp," seems to think that Golden Common Lisp on
a PC is reasonable, according to his article in last month's Byte.
Sure, if you're planning on doing massive Prolog-like
resolutions you'll run the 6300 into the ground, but you'd do that to
any processor short of a super-mini or a mainframe.

Most importantly, though, is that by insisting on the 6300, representing 
any decent, expandable microcomputer, UVM is making sure that all students
have the advantages of having access to such a machine for their own use,
and that faculty may develop computer-based-curricula knowing that what
they develop may be used by the entire student base.  Going with several
different machines ruins the latter, and not forcing the purchase eliminates
both since, certainly, the non-CS-types won't buy the machine if they don't
have-to.  They have to be educated to realize that such a machine can be
useful to them.

chenr@tilt.FUN (Ray Chen) (05/15/85)

Keywords:

In article <109@nvuxf.UUCP> markg@nvuxf.UUCP (M. Guzdial) writes:
>Obviously, you are both excellent computer scientists working on complex
>applications requiring a good deal of CPU horsepower.  That's great, but
>most users DON'T have those sort of requirements, and burdening those users
>who don't have these requirements with either not having a machine or
>paying the bucks for one that comes up to your high standards is unfair.

Mr. Guzdial,

I think you underestimate the number of people who really USE
computers.  I'm not talking about cpu cycles and disks alone, but also
about tools and such available only in a Unix-style environment.

Now, the following figures are rough estimates and not official but...
Over the past 2 years each year at Princeton we've had --

45-80 people who take the undergrad operating systems course
25-40 people who take the undergrad compiler course
20-30 people who take a graphics course
15 people or so who take a course in AI
15 people or so who take a course in natural language processing
10-20 (?) people who do independent work for a professor

The year I took the OS course, the final project was writing a
stripped-down, multi-tasking, Unix-style kernel.  The next year
I think it was a queuing simulation.  The compiler people write
compilers.  My year we implemented a full Algol-style language
(arrays, subroutines, scoping, the whole bit) in LISP.  This
year, they're implementing a somewhat stripped down version of C
using lex and yacc.

The operating systems course and compiler course are considered to be
"core" courses for computer science majors.  Independent work
is "strongly suggested" and will soon be required.

A list of independent CS projects include design and implementation of
a window-oriented editor, investigating Chinese character recognition,
investigation of hidden surface and shading algorithms, investigating
the behavior of cellular automata, implementing an ethernet driver,
investigating crash recovery mechanisms, design and implementation
of a cellular automata simulation machine.

I think that these projects are all in progress now and I'm sure I've left
out quite a few more projects that I don't know about.

I submit that a 6300 in the UVM configuration would be virtually useless
for most of the CS majors at Princeton after the fall semester of their
sophmore year.

Now life may be easier at other schools.  Maybe at other places, with
the proper curriculum and care, for some CS majors, the useful lifetime
of a 6300 could be streched beyond a year and a half.  Maybe.  Is what
you gain by forcing everybody to buy one computer worth driving away
the rest of the computer science majors who don't want to be forced to
pay $2000 for something that they won't be able to really use?

	Ray Chen
	princeton!tilt!chenr

markg@nvuxf.UUCP (M. Guzdial) (05/17/85)

princeton!tilt!chenr writes;
>The year I took the OS course, the final project was writing a
>stripped-down, multi-tasking, Unix-style kernel.  The next year
>I think it was a queuing simulation.  The compiler people write
>compilers.  My year we implemented a full Algol-style language
>(arrays, subroutines, scoping, the whole bit) in LISP.  This 
>year, they're implementing a somewhat stripped down version of C
>using lex and yacc.
>
>The operating systems course and compiler course are considered to be
>"core" courses for computer science majors.  Independent work 
>is "strongly suggested" and will soon be required.
>
>A list of independent CS projects include design and implementation of
>a window-oriented editor, investigating Chinese character recognition,
>investigation of hidden surface and shading algorithms, investigating
>the behavior of cellular automata, implementing an ethernet driver,
>investigating crash recovery mechanisms, design and implementation
>of a cellular automata simulation machine.

I think that most of the projects you list could be handled adequately
on an AT&T 6300.  My own familiarity is with the IBM PC not the 6300,
but latter is supposed to be a "compatible" and faster than the original
by some 60%, so I think my arguments will still hold.

A "stripped-down, multi-tasking, Unix-style kernel" can basically be
written on just about anything.  PC/IX and Venix prove it can be done,
even without being "stripped-down" in a PC-style environment.  In the
early 80's, a product came out called "ANIX" which gave a UNIX style
environment to Apple programmers.  MANX software still markets a similar
product.  Again, a "queuing simulation" is a machine independent project
which may be developed under any environment.

Compilers exist, even Algol style compilers (e.g., Pascal), for everything
from Commodore-64s to AT&T 6300's.  LISP doesn't run on everything, but it
is available in a useful form on PC-compatibles as Golden Hill Common
Lisp.  The manufacturer quotes programmers from the MIT AI Lab as saying
that they can develop code in this environment and upload it as-is to
their Symbolics processor, thus indicating that this Lisp is not a "toy"
environment.  For some applications, the recursive and list-oriented 
nature of Logo can suffice when Lisp is not available.  C can also 
be developed and used on PCs, though without lex and yacc.  
The compiler writers must develop their own parsers, which is a useful 
educational experience in itself:-).

Many "window-oriented editors" exist for PC environments, including Emacs
and esp, as well as the new TopView, Windows, and GEM environments.
Ethernet is designed to machine independent and should certainly be usable
on a microcomputer.  Cellular Automata, by their nature as models of
computation, are implementable on any digital computer.

Note well that I did leave out the Chinese character recognition, the
investigation of hidden surface and shading algorithms, and design and
implementation of a "cellular automata simulation machine."  Graphics and
image processing often require a great deal of CPU horsepower, so these
might not be comfortably implemented on a small machine (though "hidden
surface algorithms" should be testable on a 6300-style box).  Since I'm
not familiar with CAD on a PC, I couldn't say that designing a machine would
be do-able on a PC.

My point is that a microcomputer IS acceptable for most of an undergrad
CS student's workload.  I see the 6300 as being representative of any
"standard" microcomputer of today's marketplace.  Being an advocate of
the personal computer dreams of Alan Kay and Adele Goldberg, for example,
as described in "Personal Dynamic Media," I would like to see more powerful
microcomputers AS THE STANDARD.  But going beyond the industry standard 
would tend to become expensive, thus eliminating the benefit of placing
a microcomputer as an integral part of the college experience by making
the college experience too highly-priced.

 Mark   

brownc@utah-cs.UUCP (Eric C. Brown) (05/19/85)

In article <288@tilt.FUN> chenr@tilt.UUCP (Ray Chen) writes:
>I think you underestimate the number of people who really USE
>computers.  I'm not talking about cpu cycles and disks alone, but also
>about tools and such available only in a Unix-style environment.
>
>The year I took the OS course, the final project was writing a
>stripped-down, multi-tasking, Unix-style kernel.  The next year
>I think it was a queuing simulation.  The compiler people write
>compilers.  My year we implemented a full Algol-style language
>(arrays, subroutines, scoping, the whole bit) in LISP.  This
>year, they're implementing a somewhat stripped down version of C
>using lex and yacc.
>

I think that you fail to understand the power of a 6300.  I use a Tandy
2000 (apx. 3x speed of IBM XT, 1.5x speed of 6300 or so), and I frequently
get better response time on C compilation and execution on the Tandy 2000 
than I do on a VAX 750.  Assuming the students are not running huge core
hogs like Lisp, I see no reason why software could not be developed on the
6300.  Every major tool that I have used on the VAX works on our Tandy 
(except Lex and Yacc, and those are available from the Austin Code Works,
but I haven't had a chance to order/evaluate them).

Eric C. Brown
brownc@utah-cs
{ihnp4, decvax, seismo}!utah-cs!brownc

shebs@utah-cs.UUCP (Stanley Shebs) (05/22/85)

In article <109@nvuxf.UUCP> markg@nvuxf.UUCP (M. Guzdial) writes:

>Mr. Shapiro mentions that he knows of some 10 members of his class of
>some 250 could bury a 6300, and that he would expect even greater
>numbers of demanding users at a larger university.  Surprisingly, I have
>not found this to be true.  Wayne State University has 35,000 students, and
>I found only a handful of undergrads who REQUIRED more CPU than even a
>Commodore-64.

This is one way to quantify the difference between "good" schools 
and "not-so-good" schools - multiply Mips, main memory size, and
disk size of the machine that undergrads are required to purchase,
then scale appropriately.  What's the Mips of a Commodore-64?

>Both of you mention your intense demands for "simulation, compiler 
>hacking" and artificial intelligence applications.  Great, but very
>few undergrads are going to have such demands...

At Utah, the CS undergrads really tax the 780, and there's not that
many of them.  ME students run structural analysis and solid modelling
programs, and EE students run VLSI design systems.  I don't know about
the other engineering students.

>I wrote a simple compiler for an even less-powerful
>CPU, a 6502-based "box," and I found that writing my own parser and code
>generator for that, and making it run well, easily kept me busy for a
>semester.

Writing programs in assembly language keeps me busy too, but it's not
particularly useful or educational.  Did you write the compiler on the
6502, or on a different machine?

>Why can't Lisp be run on such a machine?  Patrick
>Winston, co-author of "Lisp," seems to think that Golden Common Lisp on
>a PC is reasonable, according to his article in last month's Byte.
>Sure, if you're planning on doing massive Prolog-like
>resolutions you'll run the 6300 into the ground, but you'd do that to
>any processor short of a super-mini or a mainframe.

Lisp is an important part of the undergrad curriculum at Utah.
Fortunately, only the kiddies in CS105 do Lisp on a PC (Macintosh).
They only get 1200 items of heap space, which cramps the style of
even their programs.  After that, they know Lisp, and are ready to
write interesting programs that just won't fit on a PC.

							stan shebs