[comp.lang.c] Using C for the First Programming Course

fostel@cscadm.ncsu.edu (Gary Fostel) (04/09/89)

    It is widely assumed by many CSC types, that Pascal is the only
    proper and practical way to introduce programming. Furhter, it is
    commonly asserted that C is a particularly bad choice of languages
    for the first course.  I am not interested in engaging in an open
    ended and probably endless debate about the truth of these claims
    nor do I assert that they are valid or invalid.  

    I am however, interested in hearing about university level courses
    that use C for the "first programming course".  This course should
    be one that has substantial student programming involvement, and 
    for which there are no prerequisits, except possible previous
    knowledge of typing, and really trival computer literacy.  If you
    have some experienve to relate, please provide a few details about
    it, such as which text was used, which programming environment was
    used, what sorts of students were involved, how large the classes
    were and what pahse of the moon was dominant during the final exam.

    If I get an useful number of responses I will summarize them.  
    This is a serious issue, as we are currently debating the feasibility
    of moving away from Pascal in these early course here at NCSU, and
    some real experience may either help us take the plunge or  else
    encourage us to remain conservative.  This sounce rude, but I am
    not anxious to field 10**5 responses about why it is or is not 
    a good idea; I am interested primarily in real, actual honest to
    goodness teaching experience.  

    Send mail to:   fostel@cscadm.ncsu.edu

    Thanks
----gary----

tkevans@fallst.UUCP (Tim Evans) (04/12/89)

In article <2800@ncsuvx.ncsu.edu>, fostel@cscadm.ncsu.edu (Gary Fostel) writes:
> 
>     It is widely assumed by many CSC types, that Pascal is the only
>     proper and practical way to introduce programming. Furhter, it is
>     commonly asserted that C is a particularly bad choice of languages
>     for the first course.
	
	[ stuff deleted ]
> 
>     I am however, interested in hearing about university level courses
>     that use C for the "first programming course".

I took C Programming as _my_ first programming course at a community
college; it was not the college's "first" programming course.  The
instructor allowed me into the class based on my having done *NIX
shell programming for several years.  I don't know whether this has
any value to the poster, but I was very amused to hear the instructor
say--on numerous occasions--the he couldn't "teach" C.  Rather, he
said, C "is like a great big wheel"--you have to start someplace and
learn dumb stuff that doesn't make any sense and isn't useful in any
way until someday it all dawns on you.  How would it sound if your
French teacher stood up in front of the class and said "I can't teach
you French because it's a great big wheel, but stay in class and one
day we'll all go to France and voila!  you will speak French fluently."
Or maybe like Professor Harold Hill, who told the good folks of River
City not to worry about the fact their kids weren't _practicing_ with
the new musical instruments--they were learning with the Professor
Harold Hill (Gary Conservatory of Music Gold Medal Class of '05) "think
method."

-- 
UUCP:  ...!{rutgers|ames|uunet}!mimsy!aplcen!wb3ffv!fallst!tkevans
INTERNET:  tkevans%fallst@wb3ffv.ampr.org
OTHER: ...!attmail!fallst!tkevans
Tim Evans  2201 Brookhaven Court, Fallston, MD  21047   (301) 965-3286

edw@wells.UUCP (Ed Wells) (04/14/89)

  You gotta be kidding.  Your instructor sounds to me like he is doing
a 'fake it until you make it' in the way he is teaching 'C'.  I think
if you knew 'C' well as many of us do, you will find that there is a
very formal format to 'C'.  Maybe your instructor ought to sit in on
another instructors 'C' class before resuming his own 'C' classes.
He obviously doesn't sound like he know 'C'.

  I had a friend of mine go to the local community college in our area
and a similar problem occurred.  I was amazed at the things that he told
me worked in 'C' (that I knew didn't).  Much to his amazement, I told him
to not believe either of us an prove this out to himself.  As he soon found
out, his instructor was giving him bad information.

  As you might imagine, the course began to get very frustrating to him.

-- 
=========================================================================
Edward E. Wells Jr., President			    Voice: (215)-943-6061
Wells Computer Systems Corp., Box 343, Levittown, Pa. 19058
{dsinc,francis,hotps,lgnp1,mdi386,pebco}!wells!edw

bowles@eris.berkeley.edu (Jeff A. Bowles) (04/18/89)

In article <41@wells.UUCP> edw@wells.UUCP (Ed Wells) writes:
>
>  You gotta be kidding.  Your instructor sounds to me like he is doing
>a 'fake it until you make it' in the way he is teaching 'C'.  I think
>if you knew 'C' well as many of us do, you will find that there is a
>very formal format to 'C'.  Maybe your instructor ought to sit in on
>another instructors 'C' class before resuming his own 'C' classes.
>He obviously doesn't sound like he know 'C'.

I didn't see the article this is in reference to, but feel the need to
point out something important:

If the intent of a class is to teach programming, that is, to teach
problem-solving using a computer language, then it doesn't MATTER
how other courses teach the language. What matters is that one learns
how to organize the problem so that it can be solved efficiently using
a computer. It is nice to be somewhat complete in your approach to whatever
language you're using, but not entirely necessary.

If the intent of a class is to teach a programming language, it shouldn't
be the first class in computers a student takes. The content of the class
would be different (probably) that one which tries to teach programming.
(And a class centered around teaching a language, doesn't that belong in
a trade school?)

Nuff said. I think this is in the trailing part of the discussion anyhow....

	Jeff Bowles

learns how to organize