in reply to Re: Academic Formation
in thread Teaching Perl inside an Academic Course

I think Universities should offer at least a Perl short-course, though, once the students have grasped the various styles -- the blend of them in Perl is very productive -- it makes computing a Zen artform.
I disagree. Universities should use a minimal (when it comes to syntax) language to teach students how to program. (Pascal, Python, Java for instance). After that, they should be able to learn themselves new language. If not, they shouldn't be at university.

Abigail

Replies are listed 'Best First'.
Re: Re: Academic Formation
by flyingmoose (Priest) on Mar 10, 2004 at 14:01 UTC

    Short courses, at least where I come from, are 1-hr courses that are basically worthless if you are trying to accumulate credits. Our teaching language started with C++, eventually the university switched to Java (yes, I know, industry whoring). (Pascal was used in the early 90's). Beyond that, a few short courses were avialable in C++, and we were expected to pick up languages like Fortran, Lisp, Matlab (if that's a language), etc, for various courses. Spoonfeeding this was not. However, if it weren't for the Perl short course, half the students would have never even tried Perl -- and they would have not come to love it. That had a huge influence on me, but it was a delayed one -- once I started applying what I knew in industry it took off. Still, many folks who never saw Perl in college never picked it up -- partly because they weren't told why it was cool and didn't have folks to help them with it. Perl is not a language, unfortunately, that is heard of much on the streets. C++ and Java (gag, choke) are.

    Regardless of what your ivory-tower (to use your phrase you used against me previously) opinions hold, eventually most students will wind up in industry, and interviews will ask "Did you learn XXX" in school? It's fine to say "I learned XXX" on my own, but there is a lot to be said to having course experience in a language. It's not as good as "job experience" to them, but it's close. They have some assurance that, at least, you have a strong chance of learning it correctly. A University does have to make a tradeoff between being a slave to industry and being a slave to raw academics. A good one will allow students to go in both directions. Especially in today's economy, a school that only produces Pascal folks (and can't say they used language XXX in coursework), is not going to get anyone a job. Is that a universities job? No. Especially not in the Greek sense. But unfortunately everyone does not live in the "ivory tower". People go to college and expect to get jobs in their chosen field.

    Having course experience in Pascal (well, I do) is completely worthless to industry. No one cares about Pascal. It's a horribly broken language for doing anything interesting beyond simulating ATM machines. Do you list Pascal on your resume? I don't. Yes, I know how to write rigourously typed procedural code in a language with a poor standard library. Oh boy, we need that guy. Hire him right away!

    I do agree that colleges should *not* act as technical schools, but to ignore the major applications of the areas being taught, by say, exclusively using Pascal in all courses, is absolutely stupid. For instance, a university teaching courses labelled after a programming language, after Freshman year, have problems. You should not be able to take a class labelled Perl for 3 credit hours, nor should you be able to comprise your education of languages -- but forced exposure to multiple languages is important, nay, CRITICAL, to thinking outside the box. Binding someone to one language will make them think only in that one language, to learn languages quickly (I frequently claim I can learn anything...and it's true...who can't?), you need to know paradigms from all over the place. Every obscure language helps. And when you are starting out, it's harder to pick up new languages from scratch, especially when they are as far apart as Pascal and Lisp.

    My AI class, for instance, used Lisp -- not Pascal. Pascal here would be stupid. As for learning the language, yes, this was on us, but we were given pointers. AI in Pascal is a round peg and a square hole. As is OO Software Design in Pascal. Pascal is the straw-man here, but diversity in languages is important, and to teach Computer Science pretending languages don't matter is somewhat misleading -- yes, languages in theory don't matter, but languages are very very real.

      Having course experience in Pascal (well, I do) is completely worthless to industry. No one cares about Pascal. It's a horribly broken language for doing anything interesting beyond simulating ATM machines. Do you list Pascal on your resume? I don't.
      I do list Pascal on my resume. And that was considere a plus when I interviewed for my current job. While I won't need to use Pascal on a daily basis, we do have quite a code base written in Pascal. If you are a company that still makes money from software that was written in the mid 70's, you do care about people knowing Pascal and FORTRAN.
      I do agree that colleges should *not* act as technical schools, but to ignore the major applications of the areas being taught, by say, exclusively using Pascal in all courses, is absolutely stupid.

      My AI class, for instance, used Lisp -- not Pascal. Pascal here would be stupid. As for learning the language, yes, this was on us, but we were given pointers. AI in Pascal is a round peg and a square hole.
      What's your frustration with Pascal? I do hope that you didn't get the impression that I said academic students should only program in Pascal. Far from that. Ideally, during their academic career, they get the chance to program in one or more ALGOL like languages (Pascal, C, and even Perl and Java fit that bill), object-oriented languages (Simula, Java, ...), functional languages (Lisp, Haskell, ML, ...), UNIX "scripting" languages (shell, AWK, Perl, ...), assembler, SQL, Prolog, etc. Or at least, a decent selection of them as there is limited time.

      But learning a (computer) language isn't very academic. It's just craft.

      I've turned in assignments in a dozen or so different languages when I was a student. But I never followed a course that was dedicated to a language. We learned Pascal as part of the "Introduction to Programming" course (and not after 6 weeks had past), and we got some shell (including AWK) during another introduction course. In later years, we got courses about programming language classes, but that wasn't about a specific language. If you needed a specific language, you got a copy of a reference guide. If you were lucky.

      Abigail

        Wow! Actual Pascal in the real world! You don't simulate ATM machines for a living, do you? :)

        Nah, reading your reply it sounds like we are more or less on the same page.