Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^2: Perl Advocacy w.r.t Teaching

by Tanktalus (Canon)
on Feb 10, 2005 at 16:10 UTC ( [id://429793]=note: print w/replies, xml ) Need Help??


in reply to Re: Perl Advocacy w.r.t Teaching
in thread Perl Advocacy w.r.t Teaching

Should it tell me something about the quality of undergrad CS? It's not. It is, however, telling me something of the priorities of undergrad CS. (This goes to the OP's question, too.)

The priority is to cater to their clients: the students. And the students usually don't care so much about the language as they do the ability to get a job afterwards. And this means C/C++, Java, and/or VB. If employers change their demands, the universities will definitely change their courses to follow.

There are always some professors in some universities who are more concerned with teaching some purist programming goals than the employability of their students. Or they think that pure CS ideals are employable (and I've had a job where that is true - although they still used primarily C++ in as pure OO fashion as allowed by that language). These professors use Pascal, Python, Turing, or whatever they think is the purest language for teaching the subject matter. Perl doesn't even make the long list here, nevermind the short list, because Perl enforces almost nothing on the programmer, which is definitely not pure CS theory.

Update: Added "usually" to the second paragraph.

Replies are listed 'Best First'.
Re^3: Perl Advocacy w.r.t Teaching
by hardburn (Abbot) on Feb 10, 2005 at 17:00 UTC

    Take something like a data structure course. Data structures are completely independent of language. A rather lot of CS offerings do their data structure course in Java. Why? Java is the last language I'd use for teaching data structures, because you'll be forced to view all your data through the eyes of an object. OO is not useful for learning data structures, and will likely get in the way. Not only is Java a not good language for this task, it's an outright bad one, since the point is to learn data structures, not Java's obtuse way of implementing data structures. C would be a much better (though still not perfect) language choice, and LISP is probably better still. Leave Java for a Java class, if you must.

    If I'm going to take a Computer Science major, I actually want some Science (or rather, research). If it's going to be about making applications, then it should be called "Software Engineering" or somesuch. Something to make it clear that the goal is practical applications, not research and theory.

    "There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.

      You mean, LISP doesn't force you to look at your data as lists?

      I don't think it's relevant that Java uses objects, or that LISP uses lists. Or that C just scribbles all over your memory. Those are details. A balanced tree is still a balanced tree, regardless whether you implement your nodes or your keys as objects, lists, SVs or memory locations.

      A teaching language should be simple, so you don't have to spend your time on syntax details. But whether the working horse of a language is objects or lists or something else is, IMO, not relevant.

      BTW, the best language to explain algorithms and datastructures are drawings.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://429793]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (1)
As of 2024-04-24 15:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found