[net.unix] Disillusionment with Usenix tutorial

davidl@tekadg.UUCP (Dave) (07/27/85)

My company paid, I believe, in excess of $100 for me to attend the
Advanced C Programming tutorial at the last Usenix convention.  The
material presented therein was in no sense advanced programming in
any language.  The "instructor" spent hours going over details of
expression evaluation and other trivia of compiler implementation.

What I expected was a treatment of how the C language might be used
to advantage in various applications such as data base management,
graphics, etc.  What I got was a sophomoric, at best, review of the
contents of K&R's book, along with some additional information about
how the compiler processes its input - information which any competent
programmer will easily gather from experience in the first few months
of using a new compiler.

The presentation was certainly at a common level of sophistication with
most of the presentations at Usenix, tutorial or otherwise.  However,
I have become accustomed, through exposure to tutorials sponsored
by other organizations (such as IEEE), to being presented with
state-of-the-art information.  I came away from the tutorial speculating
that perhaps the instructor was a community-college level professional
educator who had never actually had to write any amount of useful code
in the course of his employment.

Were it not for the fact that attempting to obtain a refund of the money
which my company spent on my tutorial attendance would cost the company
far more than the amount of the refund, I would certainly make the attempt.
When one multiplies the tutorial fee by the number of attendees, the
resulting dollar amount is nauseating in view of the quality of the
presentation.

rpk@ecsvax.UUCP (Richard Kelley) (07/27/85)

(the following are only my opinions. )

If you can say anything about the tutorials put on by Usenix it is that
they vary wildly in sophistication.  At the Dallas meeting for example
I signed up for a course in System Admin that was taught by an ill-prepared
instructor that rambled on and on and never said anything of use to real-life
system admin.  I found out that he had never done any real system
administration and that he wasn't going to address issues such as security
backups, staffing, and user admin except in general terms ("security is
important, you should consider it...backups are important, try to do them,...
etc, etc).  I left this foolishness and changed my ticket to an Advanced
Shell Programming course taught by Mark Sobel that was very interesting
and professionally done. 

Moral: Usenix doesn't appear to screen the instructors so you should.  I
haven't attended any since that I haven't talked with the instructor
beforehand.  The amount of money wasted is trival -- the time is anything
but.

#include <disclaim>    /* does your system have this file ?  */


       -Dick                                       --- ecsvax!rpk
                                                  /
USENET: {decvax, ihnp4, the_known_world}!mcnc! ---                      --- root
                                                  \                    /
                                                   --- rti-sel!flan ---
                                                                       \
                                                                        --- rpk
ARPA: decvax!mcnc!ecsvax!rpk@BERKELEY

mike@hcradm.UUCP (Mike Tilson) (07/29/85)

As the Usenix tutorial coordinator, I am responding to the unsigned
posting (return address tekadg!davidl) regarding unhappiness with
the Advanced C Programming tutorial at the Portland Usenix meeting.
I apologize for the large number of newsgroups, but I am only responding
to the original posting.  If there is any followup, please restrict it
to net.usenix.

The essence of the complaint was that the tutorial was not sufficiently
advanced to be worth the time and money spent attending, and in general
not very well done.  Also included were some remarks to the effect that
the level of the tutorial was equal to all of the other Usenix activities,
i.e. none of them were very advanced or very good.

I have reviewed the course evaluation forms.  Many attendees felt that
the course was well done.  Nearly all attendees felt that they got
something out of the course.  However, I think we did have a problem
in targeting the course to its audience, since a number of attendees
felt the course was better described as "intermediate" rather than
"advanced".  Unfortunately, while "novice" is fairly well defined,
there is no top end to "advanced".  The course description did state
that 3-6 months of C programming experience were expected, but if you
already had several years, the tutorial was a little low level.
Nevertheless, most attendees got something out of it (at least those
that handed in evaluation forms.)

We will continue to work on refining our descriptions of courses as
well as improving the program.  I would like to say that most of
our tutorials are very well received.  I think they hold up very well
in comparison with any others.  We welcome any comments and suggestions
for improvement, and we *do* look at evaluations and change the
program accordingly.

Michael Tilson
Usenix Tutorial Coordinator
{utzoo,decvax}!hcr!hcradm!mike

lcc.jbrown@ucla-locus.ARPA (Jordan Brown) (07/30/85)

> From: davidl@tekadg.UUCP (Dave)

>                The "instructor" spent hours going over details of
> expression evaluation and other trivia of compiler implementation.

These are one of the most important areas to understand in the C language.
Much more than in most languages, order of evaluation is important in C.
This is the kind of information which allows you to write machine- and
compiler- independent C code.  C expressions are substantially more
complex than those in other languages; people I used to work with,
very good programmers but a little raw with C, thought that "char ***x;" was
a complex data type and had a little trouble figuring out what it was.

> What I expected was a treatment of how the C language might be used
> to advantage in various applications such as data base management,
> graphics, etc.

Why in the world would you expect to get information on these topics in a class
on C?  These are essentially language-independent topics; a discussion on
them should not mention language, except possibly for the purpose of examples.
Personally, I automatically discard any book which calls itself "Graphics
in C", or any such; I know that my FORTRAN graphics experience will tell me
much more than they will.  I interpret such books as somebody addressing
novices who see "Graphics" and "C" and are looking for a cookbook.

>                 What I got was a sophomoric, at best, review of the
> contents of K&R's book, along with some additional information about
> how the compiler processes its input - information which any competent
> programmer will easily gather from experience in the first few months
> of using a new compiler.

These are things which they will need to know to read existing code and to
produce portable code.  They are not things which they will automatically
learn by using the language; people using only one machine/compiler are
notorious for accidentally writing non-portable code.  People brought in from
another language will not automatically learn the details of how C data
structures work, or how order of evaluation can help and hinder you.
BASIC programmers can write BASIC programs in almost any language.  Same for
PASCAL and FORTRAN programmers.

mike@hcradm.UUCP (Mike Tilson) (07/30/85)

Richard Kelly (ecsvax!rpk) writes:

> ... If you can say anything about the tutorials put on by Usenix it is that
> they vary wildly in sophistication.  At the Dallas meeting for example
> I signed up for a course in System Admin that was taught by an ill-prepared
> instructor that rambled on and on and never said anything of use to real-life
> system admin.  I found out that he had never done any real system
> administration and that he wasn't going to address issues such as security
> backups, staffing, and user admin except in general terms ("security is
> important, you should consider it...backups are important, try to do them,...
> etc, etc).  I left this foolishness and changed my ticket to an Advanced
> Shell Programming course taught by Mark Sobel that was very interesting
> and professionally done. 
> 
> Moral: Usenix doesn't appear to screen the instructors so you should. ...

Please note that last winter in Dallas there were *two* UNIX conferences:
the UniForum trade show (put on by /usr/group) and the Usenix conference.
These were distinct and independent; both had tutorial sessions.
Mark Sobell's shell programming course mentioned above was part of the
*UniForum* show so I assume that the System Admin course was also.
The *Usenix* tutorial course on System Admin was taught by Ed Gould
and Vance Vaughan of Mt. Xinu.  Both of the *Usenix* instructors are
extremely well qualified, and their course evaluations reflected this.

Because two UNIX activities were held in the same city at the same time,
there has been a lot of confusion.  Usenix has been called UniForum and
vice versa.  But they AREN'T THE SAME, so please be careful.

The Usenix Association tries to screen its tutorial instructors in
several ways.  We look at past tutorial offerings by the same
instructor.  We look at the proposed course outlines and materials.
We discuss the course topics before selecting an instructor.  Finally,
we obtain evaluation forms from the attendees, and we use this in
our decisions about future courses.  While the quality of instruction
varies, and while the course descriptions have not always been as
clear as they could be, we have to my knowledge never offered a
course whose instructor was not more than qualified technically.

	Michael Tilson
	Usenix Tutorial Coordinator
	{utzoo,decvax}!hcr!hcradm!mike

dbercel@ucb-vax.ARPA (07/31/85)

From info-unix-request@BRL.ARPA Tue Jul 30 19:44:46 1985
Received: from sun.uucp by sunshine.sun.uucp (4.24/3.14)
	id AA18048; Tue, 30 Jul 85 19:44:40 pdt
Received: by sun.uucp (3.0DEV4/SMI-1.2)
	id AA05958; Tue, 30 Jul 85 19:37:19 PDT
Received: from BRL-TGR.ARPA (brl-tgr.arpa.ARPA) by UCB-VAX.ARPA (4.24/5.3)
	id AA12235; Mon, 29 Jul 85 20:39:12 pdt
Message-Id: <8507300339.AA12235@UCB-VAX.ARPA>
Received: from brl-aos.arpa by TGR.BRL.ARPA id aa05388; 29 Jul 85 21:45 EDT
Received: from ucla-locus.arpa by AOS.BRL.ARPA id a025851; 29 Jul 85 21:44 EDT
Date:           Mon, 29 Jul 85 14:32:46 PDT
From: Jordan Brown <lcc.jbrown@UCLA-LOCUS.ARPA>
To: INFO-UNIX@BRL.ARPA
Subject:        Disillusionment with Usenix tutorial (moderate length flame)
In-Reply-To:    Your message of Sun, 28 Jul 85 04:47:13 EST
Status: R

> From: davidl@tekadg.UUCP (Dave)

>                The "instructor" spent hours going over details of
> expression evaluation and other trivia of compiler implementation.

These are one of the most important areas to understand in the C language.
Much more than in most languages, order of evaluation is important in C.
This is the kind of information which allows you to write machine- and
compiler- independent C code.  C expressions are substantially more
complex than those in other languages; people I used to work with,
very good programmers but a little raw with C, thought that "char ***x;" was
a complex data type and had a little trouble figuring out what it was.

> What I expected was a treatment of how the C language might be used
> to advantage in various applications such as data base management,
> graphics, etc.

Why in the world would you expect to get information on these topics in a class
on C?  These are essentially language-independent topics; a discussion on
them should not mention language, except possibly for the purpose of examples.
Personally, I automatically discard any book which calls itself "Graphics
in C", or any such; I know that my FORTRAN graphics experience will tell me
much more than they will.  I interpret such books as somebody addressing
novices who see "Graphics" and "C" and are looking for a cookbook.

>                 What I got was a sophomoric, at best, review of the
> contents of K&R's book, along with some additional information about
> how the compiler processes its input - information which any competent
> programmer will easily gather from experience in the first few months
> of using a new compiler.

These are things which they will need to know to read existing code and to
produce portable code.  They are not things which they will automatically
learn by using the language; people using only one machine/compiler are
notorious for accidentally writing non-portable code.  People brought in from
another language will not automatically learn the details of how C data
structures work, or how order of evaluation can help and hinder you.
BASIC programmers can write BASIC programs in almost any language.  Same for
PASCAL and FORTRAN programmers.

rusty@sdcarl.UUCP (rusty c. wright) (08/01/85)

i had the same feelings about the "advanced 4.2bsd internals" tutorial
(or whatever it was called) that i attended at the salt lake city
usenix.  i felt that it was for the most part a waste of my time and
my school's money.  everything that was covered was already covered by
one or more of the documents in volume 2c of the 4bsd upm.

equally annoying was that an appreciable amount of time was wasted
during the class because there were contests by the various nerds in
the class trying to prove how they were more knowledgeable and
wizardly than the instructor and everyone else.
-- 
	rusty c. wright
	{ucbvax,ihnp4,akgua,hplabs,sdcsvax}!sdcarl!rusty

bob@ulose.UUCP ( Bob Bismuth ) (08/01/85)

I too apologise before starting about the large number of groups this
is going to, but I felt some of Mike's comments needed to be addressed
for the benefit of the larger audience he addressed.

> 
> The essence of the complaint was that the tutorial was not sufficiently
> advanced to be worth the time and money spent attending, and in general
> not very well done.  Also included were some remarks to the effect that
> the level of the tutorial was equal to all of the other Usenix activities,
> i.e. none of them were very advanced or very good.
> 

I would not like to comment on the overall level of Usenix activities, but
I do feel, along with other attendies that I know, that the level of some
tutorials was below that advertised. I did not take the Advanced C, but
I know that several who took it walked out at lunchtime in disgust. They
claimed that the level was better suited to someone with no C programming
experience at all. Judging from their notes and comments, I would tend to
agree.

I did take the System V Internals course and I too walked out at lunch time.
In the first place I didn't see why I needed an AT&T licence for what they
were discussing. With the possible exception of 1 slide, none of the material
was that much of a secret. Most of it is published in one place or another
and available to the public. Given the rather skimpy detail and depth, the
course would have been better advertised as: General OS Theory and Simple
Examples based on Un*x System V.


> I have reviewed the course evaluation forms.  Many attendees felt that
> the course was well done.  Nearly all attendees felt that they got
> .....

I would suggest that those who found the courses unacceptable either 
walked out or didn't fill in the forms. What percentage of the attendies
did fill in your forms?

I would not like to criticise all Usenix seminars. At Dallas, I know that
the networking seminar gave a very good intro to networking, both un*x
based and non-un*x based. Also the LEX/YACC seminar at Dallas was very
good and had excellant notes. I would only ask that you bill/advertise
the seminars a little more acurately - as you said, a presentation
problem.

Also, I'd really like you to ensure that the presenters either have some
experience in giving such presentations to large groups, or they at least
are aware of the scope of the task. I know from my own experience giving
seminars that it is a taxing and trying experience, only made worse by
lack of awareness or preparation. Presenters really deserve a hand, not
criticism since they have a tough job with a lot of preparation involved.
They need all the help they can get.

  --  bob
      (decvax!ulose!bob)

      (** opinions are my own, no flames are intended, everything is
	  subject to change - and usually does **) 

*** REPLACE THIS LINE WITH YOUR MESSAGE ***

mike@hcradm.UUCP (Mike Tilson) (08/05/85)

(Note -- I've tried to set up this up so that future followups will
be diverted to net.usenix only.  However, I not sure I understand
all the mysteries of netnews, so it might fail.)

Responses to Rusty C. Wright and Bob Bismuth:

Rusty C. Wright (sdcarl!rusty) commented that the 4.2BSD internals
course was not "advanced", and that one could learn the material
by studying the manuals.

I think this is simply an illustration of my earlier point that there
is no limit to "advanced".  Most attendees of the 4BSD internals
course find it to be very useful, and it is very well received by
nearly everyone who takes it.  If you have already studied and
understood all of the relevant documentation, then you may not need
a course at all.  These courses do not disclose the inner secrets
of the universe; they don't usually provide information that you couldn't
figure out yourself given enough time and motivation.  They are
intended to quickly introduce you to topics that might otherwise
take you a lot longer to learn.

With the 4BSD course we had taken special efforts to mark the course
as "advanced" because in the past it had been taken by people with
insufficient background -- they considered it far too advanced and
simply beyond their comprehension.  For this course at least I think
we have the target audience right, but in any group of 150 people we are
bound to have a few who hoped to get something else.  We try as hard
as we can.


Bob Bismuth (ulose!bob) said that he knew several people who had left
the Advanced C course because it was not sufficiently advanced.
He also felt that the System V Internals course was not advanced.
He also had some nice words of praise for some other Usenix tutorials.
(Thanks.)  I think my remarks above apply, but I admit that the C course
was lower level than some people were looking for.  I would also comment
that there is a limit to the material than can be covered in one day.

Bob also had some other specific comments:
> I would suggest that those who found the courses unacceptable either 
> walked out or didn't fill in the forms. What percentage of the attendies
> did fill in your forms?

In fact, we got a pretty good percentage of returns on evaluations --
most of the attendees filled them in.

> Also, I'd really like you to ensure that the presenters either have some
> experience in giving such presentations to large groups, or they at least
> are aware of the scope of the task. I know from my own experience giving
> seminars that it is a taxing and trying experience, only made worse by
> lack of awareness or preparation. Presenters really deserve a hand, not
> criticism since they have a tough job with a lot of preparation involved.
> They need all the help they can get.

We do try to only use speakers who have taught to groups before.  In
particular, the BSD Internals, Advanced C, and System V Internals
courses mentioned in this posting all used experienced instructors.
I agree that it's a hard job.


I would welcome any other constructive suggestions for improving the
Usenix tutorial program.  Please respond by mail.  If anything of
general interest comes in, I'll summarize for the net.

/Michael Tilson
/Usenix Tutorial Coordinator
/{decvax,utzoo}!hcr!hcradm!mike