Beefy Boxes and Bandwidth Generously Provided by pair Networks Joe
Perl: the Markov chain saw
 
PerlMonks  

Frustrations... (and a thank you)

by coolmichael (Deacon)
on Oct 02, 2002 at 02:17 UTC ( #202171=perlmeditation: print w/ replies, xml ) Need Help??

Last month, I began a computer science degree. I quit my job and everything. I'm so much happier in this life. Its interesting, and most importantly, challenging.

One of the classes I am forced to take is trying to teach me perl. Damn. Too bad I know perl better than the prof. Today, he admitted that yesterday he learned what my does. Ouch. After three days of lectures, he mentioned use strict. OUCH!.

We got into an arguement during class. He was saying that

#!/usr/bin/perl -w use strict; $a=3; print $d; ------------------ Global symbol "$d" requires explicit package name at wrong.pl line 4. Execution of wrong.pl aborted due to compilation errors.
wouldn't generate an error, because it's ok to assign to varriables that haven't been declared. Nope. That's what warnings is for. My response was that $a is a special variable for sort. He didn't believe me, until I suggested that he change it to
#!/usr/bin/perl -w use strict; $e=3; print $d; --------------------------- Global symbol "$e" requires explicit package name at wrong.pl line 3. Global symbol "$d" requires explicit package name at wrong.pl line 4. Execution of wrong.pl aborted due to compilation errors.
It was gratifying to see him change his code and execute this little snippet. (Laptop connected to a digital projector for the class to watch what happens. I like it.) but I don't think I should have to do this. I'm paying a lot of money for this class, only to have to correct the prof. ARGH! He's a great prof. I'm not trying to be mean to him. I just get very frustrated about simple stuff like this. I'm quite happy that he has created an atmosphere where I'm comfortable challenging him like this.

I'm very greatful to perlmonks for helping me understand Perl. I don't think I could learn perl from this class. At least, I doubt I would have learned nearly as much as I have here over the last two years. Ahhh... Now that I feel better...

Comment on Frustrations... (and a thank you)
Select or Download Code
Re: Frustrations... (and a thank you)
by shotgunefx (Parson) on Oct 02, 2002 at 02:45 UTC
    Some years ago, a friend was taking going for CS and had to take an 80x86 assembler course. At the time I was coding hundreds of lines of ASM a day so I was very familiar with it.

    His Professor didn't have a clue. He was giving them assignments that could not possibly be completed with what they had learned at that point. This happend pretty much throughout the course. I helped my friend and he was one of the few people to actually complete anything. The prof would be asking him questions. At the end of the year they wouldn't pass him saying that he couldn't have completed the assignments and must have had someone else do it for him. I guess the moral is that no one is infallable. Not to put down taking the educational path, but I've met many CS Masters who couldn't code their way out of a paper bag. So choose schools wisely.

    -Lee

    "To be civilized is to deny one's nature."
Re: Frustrations... (and a thank you)
by BUU (Prior) on Oct 02, 2002 at 03:20 UTC
    >>"wouldn't generate an error, because it's ok to assign to varriables that haven't been declared. Nope. That's what warnings is for."

    Actually, technically speaking, -w would just give you a warning about only using a var once. strict would cause the error.
    </pedantry>


    And more to the point, if you're just venting, thats all fine and dandy. If not, just go for the easy grade, surely this Perl class isn't the only class you're taking there?
Re: Frustrations... (and a thank you)
by TGI (Vicar) on Oct 02, 2002 at 03:53 UTC

    If you really think this guy is a great prof, it may be an excellent opportunity to build a strong working relationship with him.

    Try approaching him during office hours about you helping out with the class, maybe proofing his lecture notes, doing research for future classes, etc.

    If you can do the homework with little effort, then you'll wind up spending about as much time as if you were really learning in the class, but you will help improve the class for everyone, and make an ally in the faculty. Unless, of course, the guy is an egomaniacal assh*le and you are just being polite in public.

    Disclaimer: I went to a hippy college without grades where we were on a first name basis with our profs. YMMV.


    TGI says moo

      I couldn't agree more.

      If you think he's a great Prof, you should work hard to make sure to not humiliate him in front of the class. Even if he has a really positive attitude and doesn't hold it against you, he's going to start to dread seeing you or what you'll say next about his code snippets. This won't help him or the class.

      As TGI says, offer to work outside of class to proof his lessons. That way, you both will take away something positive from the experience and you'll make a friend. Having a friend on staff in your Department will be a big plus in years to come.

Re: Frustrations... (and a thank you)
by krujos (Curate) on Oct 02, 2002 at 06:14 UTC
    For what its worth...
    Unfortunately you have run into a problem that is present in a lot of computer science programs (from what I hear from my friends that went to small schools, as well as personal experence), epically small ones. A school has to teach the required classes to graduate, and you need profs in order to do that. Unfortunately, if you have a small department and only a few Professors then you are stuck with profs that will "wing it". Sometimes you can use this to your advantage if the prof is open about the fact that he doesn't know the language. Chances are he is a much more experienced programmer and you can watch how he learns the language, techniques he brings to it etc. This can be a real advantage in your current class. Considering the fact that you already know Perl you may learn something new by watching a beginner, but experienced programmer pick it up. On the other hand, don't let him steer the class down the wrong path with incorrect information, just remember to correct politely. I am finishing college (5th and final year!) and have a db class where the prof is learning as he goes (he knows oracle and access (where the f. did that combination come from) but the class is taught using mysql). I have learned a lot from debugging his examples and overheads with my class mates.
    Good luck and remember to enjoy the pricey education
    Josh
    $0.02
Re: Frustrations... (and a thank you)
by demerphq (Chancellor) on Oct 02, 2002 at 10:43 UTC
    <pedant>
    Just a thought but instead of the "-------------" in your example you could use "__END__" instead. At least then the example will compile without editing.
    </pedant>
    Also, dont forget to mention to your prof that -w and use warnings; have different and somewhat incompatible semantics. It is a highly contentious subject I know, but I think if you are looking forward (ie in terms of version etc) then forget -w and use warnings; only. It is also much more powerful than -w.(look into warnings::register and related functions.)

    I suggest you point your prof at perlvar and at the sort function documentation ($a and $b are not for some reason documented in perlvar).

    ---
    demerphq
    my friends call me, usually because I'm late....

Re: Frustrations... (and a thank you)
by hsmyers (Canon) on Oct 02, 2002 at 13:04 UTC

    Seems to me like this is a good opportunity to “pay forward”! If you believe that you have incurred a debt to PM then help this guy bootstrap himself into being a better instructor.

    --hsm

    "Never try to teach a pig to sing...it wastes your time and it annoys the pig."
Re: Frustrations... (and a thank you)
by hiseldl (Priest) on Oct 02, 2002 at 13:36 UTC

    You could score some major points by telling your prof about PerlMonks! What better way could there be for Perl advocacy?

    :)

    --
    hiseldl
    What time is it? It's Camel Time!

Re: Frustrations... (and a thank you)
by blssu (Pilgrim) on Oct 02, 2002 at 14:24 UTC

    Just a few observations...

    Enjoying work on a CS degree isn't the same as enjoying work as a professional programmer. Most of your future co-workers will know less than this prof. And they'll be paid about the same as you. You might love CS, but hate a programming career.

    What school requires a course in Perl for a CS degree? That's very unusual. Is this part of a comparative language course? (That would explain why the prof doesn't know much about Perl.)

    IMHO the skills that make you a good programmer aren't Perl skills. Perl may be a good tool, but learning Perl is not the point of a CS degree. If you find your prof making mistakes in algorithm design, then you can get pissed off and ask for a refund. ;)

      Agreed. Professors aren't paid to familiarize themselves with tools and learn all the nuances of a language (with regard to the use warnings; vs. -w, perhaps the last time the professor had exposure to Perl was way back in the long long ago before it existed). If this is a comparative language course (my school has such a course that is required, and most professors teach Perl as well as other languages), then there is certainly no reason that he be compared to the gods. Some prof's just get stuck with courses, perhaps this one is an AI guy, or a distributed networks programmer. In either case, it sounds to me like this is either an elective course, a concentration, or a comaparative languages class, a similar topic was brought up a year ago about Perl being taught as a mandatory school, and the concensus was that not many schools require it.
Re: Frustrations... (and a thank you)
by SpritusMaximus (Sexton) on Oct 02, 2002 at 15:25 UTC
    I've been coding professionally for a little over 7 years now. A few years back, I decided that it would be A Good Idea (tm) to get my degree. After checking out a few schools, I decided on a certain unnamed school (a franchise with several locations, recently changed its suffix from "Institute" to "University" and advertises on late night cable television). Since they advertised that I could use life experience, I was happy to go there.

    Big mistake. I was basically forced to start out with a class, "How to use Microsoft Windows". In this class there were 5 other developers and 7 network administrators. The class was just a bunch of Microsoft propaganda.

    After talking with a number of other students, it was clear that a large portion of those near graduation had no idea what they were doing. (One even told me that Windows NT 4.0 was more secure and more stable than Solaris 7.)

    After writing a 4 page letter to the university president, I switched to a liberal arts school where I am currently pursuing a Philosophy degree. That's much, much better.
Ego, ego.
by Jeppe (Monk) on Oct 02, 2002 at 16:16 UTC
    Make sure to control your ego. It might very well backfire. Think of your prof somewhat as a boss. Good relations with a prof will make it much easier for you to ask for guidance, hints and possibly extensions - when you really, really need to. Also, it will be easier for you to tell him "hey, this assignment is totally crazy" if you respect each other. Being smart, studying hard and networking wisely is most of the game, but making sure your prof doesn't hate you is also part of the game.
Re: Frustrations... (and a thank you)
by Rex(Wrecks) (Curate) on Oct 02, 2002 at 16:59 UTC
    I totally understand where you are coming from. I'm taking a C++ course at a local college as a refresher course and to get some credits (don't ask why), and the instructor is horrible. He seems to know C++ well enough (which is good) but doesn't know how to teach or even explain technical things.

    Example:
    Student: Why is '\n' talked about as one charachter instead of two?
    Instructor: Umm, whell, the compliler...umm, see, the C++ compiler sees this...hmmm...

    I don't think he ever got any further than that. It's a painful class, but oh well.

    "Nothing is sure but death and taxes" I say combine the two and its death to all taxes!
Re: Frustrations... (and a thank you)
by bart (Canon) on Oct 02, 2002 at 20:03 UTC
    It's amazing how people are supposed to lecture classes on stuff to which they're completely new themselves. I dare bet that a week before the lectures started, this guy hadn't even ever looked at anything Perl. It's not even his fault, the obligation of having to teach these classes probably just got dropped in his lap, only days before the first school day.

    It's a disgrace.

Re: Frustrations... (and a thank you)
by sauoq (Abbot) on Oct 02, 2002 at 20:52 UTC
    I'm paying a lot of money for this class, only to have to correct the prof.

    Have you checked to see if you can test out of the class? Most colleges/universities waive required classes if the student can demonstrate that they know the subject matter.

    Failing that, is it taught by any other professors? It is likely that another professor may be more familiar with the course material than your current professor. It may be too late this time but researching the professor is an important part of choosing which classes you will take and when. You might have considered approaching the professor prior to taking the class as you already have a working knowledge of Perl.

    In the unlikely circumstance that you actually had to take this class with this professor even though you already know the information being presented, my suggestions are similar to those already presented. Build a relationship with the professor. Help him don't humiliate him. Breeze through the class with a good grade. It'll be good for the GPA.

    Many people get their degrees without much of an education at all. You seem to want one and that's laudable. The reality is, however, that you aren't really paying for an education; you are paying for the degree. You'll have to work for the education. Keeping that in mind will help you deal with these kinds of frustrations which you are unfortunately bound to run into again and again in your academic career.

    -sauoq
    "My two cents aren't worth a dime.";
    
Re: Frustrations... (and a thank you)
by shenme (Priest) on Oct 02, 2002 at 23:36 UTC
    You may want to consider using this class to get an education - in education - of self and others. Two possibilites present themselves.

    As mentioned by others above, offer (humbly) to become a behind the scenes 'helper', perhaps as someone to talk over the material for each class ahead of time. (You could look at this as training for being a beta tester, if you want an 'industry' justification.) Very likely you will get a glimpse at the process of putting together class outlines for teaching - and learning.

    Another more intriguing possibility is offering to teach a topic or class yourself. My wife is doing this for one of her students (undergrad) who was already doing a research paper on a topic that fits in with the course plan. The student will get a double bonus in that the material will be much better reviewed (my wife has multiple meetings scheduled) and the student will get the experience of teaching.

    I wish I'd done some of this in one DB class I took that was floundering. When the professor later ended up in one of _my_ classes, he gave suggestions none (and a bad evaluation to boot!)

    --
    I'm a pessimist about probabilities; I'm an optimist about possibilities.
    Lewis Mumford

Re: Frustrations... (and a thank you)
by hsweet (Pilgrim) on Oct 03, 2002 at 02:03 UTC

    I teach Perl (among a lot of other things) at a high school. From my point of view, I'd much prefer a student who thought and challanged my errors (not me, just my mistakes) than a sit-there-and-drool-don't-even-pretend-to-be-interested student. It sounds like you have a good attitude about it. Teachers are only dangerous if they pretend to know more than they do.

    The discussion could be instructive to the other students as well.

    good luck

    Time flies like an arrow, fruit flies like banannas

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://202171]
Approved by rob_au
Front-paged by TGI
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (14)
As of 2014-04-18 19:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (471 votes), past polls