Survey on using C as intro CS langauge (?) 
Author Message
 Survey on using C as intro CS langauge (?)

Has anyone taken a survey on using C as a first language in a
course for computer science and other science students. If so I
would be interested in finding out since we are planning on
using C in such as course.

Barry Adams



Sun, 17 Nov 1996 01:43:08 GMT  
 Survey on using C as intro CS langauge (?)

Quote:
> Has anyone taken a survey on using C as a first language in a
> course for computer science and other science students. If so I
> would be interested in finding out since we are planning on
> using C in such as course.

I don't know of a survey, but if there was one I would vote yes for C.
Regardless of the language, imperative functional or otherwise, I feel
a great deal can be attributed to how it is taught and what kind of
a situation the instructor provides to assist learning. I got pissed
off helping a friend this semester because they taught the basic concept
of a pointer without mentioning anything about dynamic memory. You
should have seen some of this code! Things being taught in the wrong
order all through the course.
--





Sun, 17 Nov 1996 04:30:20 GMT  
 Survey on using C as intro CS langauge (?)

: Has anyone taken a survey on using C as a first language in a
: course for computer science and other science students. If so I
: would be interested in finding out since we are planning on
: using C in such as course.

I don't know anything about a survey, either, but perhaps this thread
will develop to something like that.

I'm a fan of C, but, in my opinion, DON'T USE C FOR BEGINNERS. Reading
this newsgroup shows much of the problems beginners face with C.
C is the language for professionals, those who know what they are
doing. You need much experience to write reasonable C programs.
Programming is easy, good programming is very difficult. To learn
about structured programming, C is the wrong choice, which
does not mean that you cannot write structured programs in C, but
you need a lot of experience to do so.

Note that most warnings a C compiler may issue should be considered
a mistake, and are normally treated as such in other languages.
Even worse: Many Compilers does not issue warnings at all.

For instance: Try to explain a beginner why he or she spent half
a week searching for a mistake in the following code:

void f (CounterPtr)
int *CounterPtr;
{
  ...
  *CounterPtr++;   /* <--- Oh no!!! */

Quote:
}

main ()
{
  int Counter;

  f (&Counter);
  ...

Quote:
}

A mass of similar examples may be found.

I think, Modula-2 is a much better language to learn about
programming. The concept of modularity is much better evolved:
You have to write a definition for each module, unlike in C,
where often only one header file is used for all modules
(bad programming style in my eyes). Modula-2 is more restrictive,
which is a disadvantage for an experienced programmer, but which
is an aid for beginners who have no clue of what is good programing
style. Sure, writing awkful code is also possible in Modula-2 and
beginners will need much guidance even in this language, but
starting with C will lead to a disaster.

Greetings,
        Jens.

_______________________________________________________

 _____        ___  ___
|___  |      |   \/   |               FernUni Hagen
 _  | |      | |\  /| |               LG Informatik IV
| |_| | ens  | | \/ | | oeller
\____/       |_|    |_|               D-58084 Hagen



Sun, 17 Nov 1996 16:33:55 GMT  
 Survey on using C as intro CS langauge (?)

Quote:
>Has anyone taken a survey on using C as a first language in a
>course for computer science and other science students. If so I
>would be interested in finding out since we are planning on
>using C in such as course.
>Barry Adams


My university introduced C to their new students in January. It was a big
success. The faculty felt that these students "produced better code" and
"better understood programming in general" compared to previous students who
started with Pascal. They don't understand why the "C" students did so much
better than the Pascal ones.

Do any of you have any ideas?

-- Chris



Sun, 17 Nov 1996 18:01:50 GMT  
 Survey on using C as intro CS langauge (?)

Quote:
>...
> I'm a fan of C, but, in my opinion, DON'T USE C FOR BEGINNERS. ...
>                                                      ... To learn
> about structured programming, C is the wrong choice, which
> does not mean that you cannot write structured programs in C, but
> you need a lot of experience to do so.

I'm not so sure about this.  Suppose we are not training programmers,
but trying to produce computer scientists, or at least enlightened
engineers.  We teach a programming language *only* as a vehicle for
teaching concepts such as modularity, encapsulation, polymorphism,
referential transparency, testability, portability, resilience, etc.

Is there any evidence for or against these contrasting approaches:

    *  teach a constraining language (e.g. Pascal) which purports to
       impose good software engineering practice through its syntax etc.

    *  teach a dangerous language (e.g. C) with which program designers
       must consciously impose good structure on, and build good properties
       into, their programs.

Ignoring (please!) the issue of whether Pascal is a good example of the
first kind of language, the "constraining" approach sees to win by default,
yet I wonder whether it is educationally naive?
----

 |__) (__    Computer Science Dept.          tel: +44 (0)782 583477
 |  .  __).  Keele University, Newcastle,    fax: +44 (0)782 713082
             Staffs ST5 5BG, ENGLAND        road: M6 J15 follow signs



Mon, 18 Nov 1996 00:55:53 GMT  
 Survey on using C as intro CS langauge (?)

Quote:
> My university introduced C to their new students in January. It was a big
> success. The faculty felt that these students "produced better code" and
> "better understood programming in general" compared to previous students who
> started with Pascal. They don't understand why the "C" students did so much
> better than the Pascal ones.

Could it be they had more *fun* with C?  After all, most of the libraries
that do neat things on computers these days (graphics, databases, GUI's)
are C libraries and the manual pages are described in C syntax.


Tue, 19 Nov 1996 03:56:09 GMT  
 Survey on using C as intro CS langauge (?)

Quote:


>> My university introduced C to their new students in January. It was a big
>> success. The faculty felt that these students "produced better code" and
>> "better understood programming in general" compared to previous students who
>> started with Pascal. They don't understand why the "C" students did so much
>> better than the Pascal ones.
>Could it be they had more *fun* with C?  After all, most of the libraries
>that do neat things on computers these days (graphics, databases, GUI's)
>are C libraries and the manual pages are described in C syntax.

It may also have to do with the excellent development environments now
available for C.  Good diagnostic messages, a good de{*filter*} and fast
edit-compile-link times can really help.


Wed, 20 Nov 1996 07:11:06 GMT  
 Survey on using C as intro CS langauge (?)

: >Has anyone taken a survey on using C as a first language in a
: >course for computer science and other science students. If so I
: >would be interested in finding out since we are planning on
: >using C in such as course.

: >Barry Adams

: My university introduced C to their new students in January. It was a big
: success. The faculty felt that these students "produced better code" and
: "better understood programming in general" compared to previous students who
: started with Pascal. They don't understand why the "C" students did so much
: better than the Pascal ones.

: Do any of you have any ideas?

The students who hadn't programmed before dropped the C class.

: -- Chris

--

-Institute for Nonlinear Science, University of California, San Diego
-*** AD: Archive for nonlinear dynamics papers & programs: FTP to
-***     lyapunov.ucsd.edu, username "anonymous".



Thu, 21 Nov 1996 13:22:33 GMT  
 Survey on using C as intro CS langauge (?)

Quote:

>: >Has anyone taken a survey on using C as a first language in a
>: >course for computer science and other science students. If so I
>: >would be interested in finding out since we are planning on
>: >using C in such as course.

        Well, we started straight off with C this year, and even though I've
programmed before (if semi-structured QuickBASIC counts :>) a lot of people
taking the course haven't ... the key I think is no matter which language
you use is to teach to the lowest common denominator (meanwhile making it
fairly boring  in some parts for those with more experience).  They
apparently decided here that it was important to teach skills in algorithm
development here before teaching the actual coding - good idea I think!

+-----------------------------------------------+
|"Through the ghoul-guarded gateways of slumber,|
| Past the wan-mooned abysses of night.         |
| I have lived over lives without number,       | * Cameron Walker
| I have sounded all thing with my sight.       | * Computer Science I
| Yet I shudder and shriek 'ere the daybreak,   | * Monash University
| Being driven to madness with fright"          | * Melbourne, Aust.
|               - Nemesis, H.P. Lovecraft       |
+-----------------------------------------------+



Mon, 25 Nov 1996 13:07:39 GMT  
 
 [ 11 post ] 

 Relevant Pages 

1. Survey on using C as intro CS langa

2. Newbie: separate big .cs file into small .cs files

3. C-oriented text for intro CS II

4. Programming Language for Undergrad Intro CS Course?

5. SURVEY of CS depts. (languages)

6. Compile CS source code using ICodeCompiler

7. Two CS files (using namespaces)

8. How to show/call Form2.cs from Form1.cs ?

9. Include code in other Cs files

10. Reuse of cs files, namespace, arch advice pls

11. word - automatic numbering/bold/underline/italics

12. How to Generate .cs file at Runtime

 

 
Powered by phpBB® Forum Software