Think about Loose Coupling PerlMonks

### So it's homework - so what?

by tachyon (Chancellor)
 on Oct 25, 2001 at 21:40 UTC Need Help??

There is an old story that goes like this. Four engineering students were set a problem "How long will it take to roast 1Kg of beef to the medium rare stage in a 200C degree oven?.

Student one was the theoretical type. He researched the literature and found that at medium rare stage the core temperature of the piece of beef will be 45C. Using complex formulas for the specific heat capacity and thermal conductivity of beef he duly arrived at an answer.

Student two was also the theoretical type but with a touch of the experimental bent. He too researched and noted the 45C temperature requirement. Rather than struggle with formulae he purchased a meat thermometer and performed a practical text to arrive at the answer.

Student three simply put 6 pieces of beef in the oven and pulled one out every 20 minutes. He cut each open to detect its stage of cooking and duly arrived at an answer.

Student four simply rang up his mum and said "Mum how long does it take to roast 1kg of beef to medium rare in a 200C oven?"

Which student will make the best engineer?.

Anyway to get to the point I have be bemused by the chatterbox chatter on this node.

OK so it looks like a homework problem. About what do you object?

• Is is the fact that the question is posted by good old Anonymonk?
• Is it because it appears to be almost the verbatim text of an assignment (I say almost as most professors would not set two question 3s)?
• Is it because you prefer to answer homework questions that have been more cleverly crafted to look like they are not?
• Does it insult your intelligence that Annonymonk appears lazy and stupid as several of these questions can be answered by adding a print()
• If not what?

Almost all questions posed on all online forums could be answered with a little (or even a lot) of research. The web is over flowing with information. As such there is little compelling reason to answer any but the most obscure and arcane questions as all the rest have already been answered. And yet answer questions we do.

Is it morally correct to answer the question of someone who is being paid to know the answer as part of their job. Is this more or less moral than answering a student who is paying for the privilege of learning the answer?

Many people who visit this site do so in the first instance as Anonymonk. Today's student is tomorrows programmer. Is not one of the much touted virtues of Perl the helpful online community? On c.l.p.m it is RTFM/RTFS here it is Homework Alert!

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$$\"$\&"&ee&&y&srve&&d&&print

Replies are listed 'Best First'.
Re: So it's homework - so what?
by mikeB (Friar) on Oct 25, 2001 at 22:51 UTC
The point of homework is not getting the right answer, but going through the process to arrive at that answer. This is why many math and science teachers require "proofs" - documentation of intermediate steps along the way.

Giving someone the final answer to a homework problem "helps" them only in the short term, i.e., they may get a good grade on the assignment. In the long term, they are cheating themselves, as they will not know how to arrive at the answer the next time a similar question comes up. I imaging that after a while, any mother would get tired of her 30-something child calling home - "Mom, how long for steaks", "Mom, how long for pork chops" - finally sending that child a cookbook and telling them to, essentially, RTFM.

By giving the final answer to homework, we deprive that student of the education they, or their parents, are paying for. We also contribute to poor habits that will haunt them later, when they finally, hopefully, get a real job.

If, on the other hand, we kindly point them to the proper resources and <gently> show them the right direction, we help them learn, and learn how to learn.

The difference between homework and some of the questions asked by more senior monks here is the level of documentation that exists for the question. There are a plethora of resources available for learning beginning Perl, and no small number of them are available on-line at the same cost as entering the monastery. These basic questions are best answered with a pointer to the appropriate works and some gentle guidance.

On the other hand few reference works, if any, exist for certain classes of questions (JAPH and obfu, for instance :) and references for other items including, unfortunately, many CPAN modules, is lacking. Another class of problem exists where it may be beyond the seeker's ability to research the answer on their own, due to required knowledge of other fields such as operating systems. It is in these cases where the varied experiences of our diverse monks become an important resource worth documenting in the monastery so they are available to become part of the larger "manual".

Some of the very gifted monks here also live on the bleeding edge, developing new "perlish" algorithms and discovering ways to (ab?)use the language that were not envisioned by the designer. Discussion and documentation of these new ideas helps make them available to the general population.

So, just as grandma would, we should stand at the counter with our aspiring cook and walk him or her through the steps in the cookbook, letting them do the work with our hints along the way, and celebrating with them when it comes of of the oven smelling wonderfully. Because even if it's not perfect, the pie always tastes better if it's homemade :)

Anyway... J(the thoughts of)aPh, mikeB

Re: So it's homework - so what?
by 2501 (Pilgrim) on Oct 25, 2001 at 22:05 UTC
From what I have observed, I tend to see two reasons when it comes to those who are against answering homework questions.

1.) Those Who think doing the problem would defeat the point of the homework (nothing was learned, just copied from a perlmonks answer).

2.) Those who are insulted because the questioner wants someone else to do all their work for them.

Both points are valid. There is a big difference between helping with homework and DOING someone's homework for them. I also feel that the second point is especially emphasized when someone tries to dupe you by rewording their homework. It shows that the person thinks their time is more valuable then yours. It is very disrespectful.

Re: So it's homework - so what?
by Albannach (Prior) on Oct 25, 2001 at 22:24 UTC
Your story, however amusing, is somewhat clouding the point of the CB discussion on the node in question. Who will make the best engineer in your story? Probably number four. Who will get the best mark on the assignment? That isn't clear as we don't know which course this is for (e.g. theoretical or experimental), but we can be pretty confident that it won't be number four.

I'm not sure about morals, but personally I don't feel it is useful or helpful to give a student the answers directly. On the other hand, I'm not sure how many professionals are literally paid to know the answer as part of their job. Know how to find the answer? Sure. Know how to ask the right questions? Even more important. But knowing all the answers isn't part of many job descriptions. To take that to an extreme that person would have to have memorised all applicable manuals in the field, as well as not needing to ask a peer for assistance. I don't want someone that confident working for me as I'd always have to check that they were in fact correct and not just overconfident (which is much more common IME).

And for the record, as a former long-time engineering student I can attest to the fact that questions were very often mis-numbered! ;-)

--
I'd like to be able to assign to an luser

Re: So it's homework - so what?
by Zecho (Hermit) on Oct 25, 2001 at 22:25 UTC
A student of the language's opinion:

If I post a stupid question it's fine to tell me to RTFM. But on that same token, if I was on the phone with a guru, and needed a quick answer (which I knew where to search for), I would simply ask him for an answer off the top of his head, _not_ to do the research for me. Which is why I ask a lot of stupid questions in the CB.

I currently am attempting to come up with something of a database system, both for the learning experience and for a current contract. I would never ask a question like:

I need a database that does this in this way and this and is portable to these systems with this amount of user configurability, could you do this for me?
Which is what a lot of these homework questions boil down to.
A lot of the time, my answers to questions will simply be "Super Search", because it would have taken the OP far less time to find the answer, and it would have saved us time to spend answering questions like "Here is what I have done so far, why does it fail in xxxxx way?". I am in no way against assisting with homework assignments, but if someone enrolls in a class, this tells me they want to learn to do it. So if the question posted is merely a copy/paste || verbatim re-typing of the assignment, I have one standard answer prepared for them. "What have you done so far?"

Update: If the question is "Here's my homework, where do I start?" then I will gladly point them to usefull resources.

Re: So it's homework - so what?
by tommyw (Hermit) on Oct 26, 2001 at 05:39 UTC

Having read the other responses (with which I agree), I feel the need to add a different reason, which is partly professional, and partly pure ego.

I wrote software professionally. I'm good at it. I've got a natural ability to understand problems and write code. I also enjoy it. I get paid reasonably, but not outstandingly.

And I'm always amazed and horrified to find out how little other professional programmers know (present company exluded). Frequently these are people getting paid more than me for their knowledge. You name it, there'll be somebody out there who just makes you throw your hands up and go "what? we gave them a job?" The don't use strict; because when the do, the program doesn't run. And they don't want to take the time to learn (see also Management that just doesn't understand). They won't stop using symbolic references because "it works for them", and get upset when you try to explain why it's wrong. They write their own CGI parser, and attack XML with regular expressions. They won't read technical documentation ("the man pages are too hard."), instead relying on folklore.

If you try to point out better ways of doing things, they point out their wonderful education, and they fact that they got such and such a degree from somewhere.

But what do they get from such a degree? From studying such a course? Not the ability to think, reason or understand. They simply create more work for the rest of us, either clearing up the mess they leave behind, convincing management that there is a better way, or simply recovering from a tarnished reputation.

Simply handing an anonymous monk the answers on a plate only undermines our worth. If they make an effort (either abandoning their anonymity, or demonstrating some willingness to extert themselves), then they should earn a commensurate reward. But such blatant attempts to avoid any involvement in their own learning processes should simply be turned away at the door.

With my apologies for the rant: I'm working with somebody very like this at the moment...

I strongly concur.

I suspect that most Monks who object to homework posts (and I'm one of them, though I don't usually want to spend a vote on them) object because they work with, or have worked with in the past, a "programmer" who insists on having their hand held full-time. Thus, we react strongly when we see the same thing happening elsewhere. (Also, on a personal level I'm irritated that "some Anonymonk" considers my time to be so much more expendible than theirs.)

As for the four engineers story: let's assume that the course in question was thermodynamics. Which engineer would you rather have designing jet turbine blades?

Update:"What's a heat transfer equation?" "How do I do this integral?" "What does this graph mean?" "Why's titanium better than nickel for that part?"

--
:wq
I have been told this by other members of the Perl community and members of other communities: "How technically able you are is, unfortunately, only one of the determining factors in your salary."

In an ideal world, that would not be the case.

This is not an ideal world.

I have two half-brothers. One of them is a 'people-handler', the type of person I easily loathe. Spends a lot of time trying to look good. Exercises constantly. Does anything vaguely trendy.

He manages the entire U.S.-based marketing of a fairly popular allergy drug.

My other half-brother is a quiet, thoughtful type. He researches things; he bought himself a fairly powerful Compaq, asking for my help in finding the right one for him. He can field strip a gun; he can make minor plumbing repairs; he can cook.

He works at a local grocery store, as the front manager.

The discrepancy in their salaries should be evident.

Is one of them smarter than the other? Yes, absolutely. The second one is leagues more intelligent. Put either of them in a room with a set of clock parts, the second one will be the one to build a clock. Put either of them inside a house with bad wiring, the second will be the one who could fix it.

So I have come to the conclusion that even if I do end up getting paid to do what I love - programming Perl, and programming in general - it won't be as much as the idiot whores who handle people well, have zero integrity, and smooth-talk their way into things. I won't make a lot of money writing good code.

For that, I'll have to retain copyrights. ;)

Re: So it's homework - so what?
by chromatic (Archbishop) on Oct 26, 2001 at 06:38 UTC
It is the difference between "Tell me the answer." and "How can I find the answer?"
Turn it around
by Fletch (Chancellor) on Oct 26, 2001 at 01:32 UTC

Who do you want designing the brakes on your car (or the flight control avionics on the 7\d7 you're getting on, or . . .)? The guy that cribs the answer from the copy of last years class notes and doesn't understand why that's the correct answer, or the one that takes the time to derive the correct answer himself from his understanding of the underlying principles involved?

Sure your hypothetical fourth student got the right answer easily, but they're not always going to be able to call mommie for the answer (or she may not be as good an expert on real time systems design as she is at cooking).

Who do you want designing the brakes on your car.....

Well actually I would prefer the guy who goes with the established, tried and proven systems rather than the boy genius who wants to try his new wizz bang reinvention of the wheel on my ass. But that is just me. Must be getting old I guess :-)

Part of being a professional *anything* is knowing where to look and/or who to ask to get the answers you need.

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$$\"$\&"&ee&&y&srve&&d&&print

Another part of being a professional is internally processing those answers into some form of lasting knowledge... "Homework" questions don't bother me because they're homework per se; they bother me because I don't think much learning is taking place. I have a sneaking suspicion that my answer is getting cut'n'pasted straight from the web to the assignment, w/o spending much time bouncing around in the questioners head.

Its the difference between:

• Can someone give me the answer to #3?
• Can someone help me understand what question #3 is trying to teach me?

I can almost *guarantee* that these nearly identical questions would evoke vastly different responses from the perlmonks community.

-Blake

I'm not talking about reinventing the wheel, I'm talking about not understanding why the existing wheel works. Yes you need to know where to find prior art, but blindly relying on it without an understanding of what it's doing leads down the path to cargo cult or voodoo programming.

Well actually I would prefer the guy who goes with the established, tried and proven systems

But calling mom for advice is not doing that. It's seeking anecdotal support from a single source and I ate at enough friends houses as a boy to know that in addition to sounding contrived it has a good chance of being a big mistake. And while we're on it, the established, tried and proved systems include some that are responsible for tens of thousands of deaths a year. Bad prescriptions alone, in a heavily regulated, and long established system, kill 50+ persons per day in the US.

Though I'm for the original point. I want knowledge out there and in the end it seems to me that it ultimately helps only those who meet it at least half-way.

Re: So it's homework - so what?
by George_Sherston (Vicar) on Oct 26, 2001 at 14:36 UTC
I can see absolutely where everyone who finds "homework" qs irritating is coming from. Frankly I don't feel entitled to that kind of irritation myself, as I probably wouldn't be able to do the homework if it was set me; but I think it's fair to want questioners to work a little harder.

On the other hand - two things.

Thing one: Tachyon rightly says that one of the virtues of PM is that we're helpful. I'd go so far as to say one of our virtues (a rare one on the net) is that we're polite and kind. That's a good thing, and worth making some modest sacrifices to preserve. (Though I also agree that communities need their irrational taboos!).

Thing two: don't forget the value to posterity of a thread answering an obvious question in an interesting way. We are building up the most tremendous resource of overheard Socratic dialogues on every aspect of perl. Leaving aside the immortal soul of the questioner, which may well be in peril, isn't it sometimes worth giving a good answer anyway, for the benefit of future generations? Then there's even more on SuperSearch, and we can be even more irritated that someone didn't look for it. :)

§ George Sherston
Re: So it's homework - so what?
by buckaduck (Chaplain) on Oct 26, 2001 at 16:35 UTC
This sort of question has a brilliant response here (www.tuxedo.org/~esr).

It's lengthy, but I believe that it does a great job explaining our feelings on the matter.

P.S. I didn't write it, so use your upvotes/downvotes on the other responses!

Perhaps I should admit that I always like to answer those homework questions, and I think you folks should do it too, because it's a dog-eat-dog world, and if these folks want you to assist them in sabotaging their educations so that they are less able to compete with you after they graduate, you should let them do it.
Re: So it's homework - so what?
by Aighearach on Oct 28, 2001 at 00:07 UTC
Of course, students two and three will be the best engineers. Student one will give you all the wrong answers that are in the texts, all the wrong answers when typos are made, etc. Student four will give you lots of wrong answers, on the advice of self-proclaimed experts. (after all, being somebody's "mum" doesn't make this woman any more likely to be able to cook a good steak.) Students two and three each will be valuable engineers, and are the sorts who are more likely to catch other people's mistakes, and verify that their own answers are consistent with nature.

A student who, when presented with the problem:
Using module Foo, write a Perl program that does Bar.
tries in good faith to solve the problem, but also asks for help on PerlMonks when they hit a stumbling block that is outside the intended scope of the problem, will probably make a good programmer. Perl is a very complex language, there is no way for most people to understand everything that is relevant at each stage of the learning. We just have program partly by coincidence for awhile, partly by black magic... as distasteful as that is to many of the Orthodox monks. Then, eventually, we get to where we can actually understand the manual when we read it, and can program intentionally. Until 'perldoc -f map' is chanted, at which point the process begins anew.
--
Snazzy tagline here

You says:
Of course, students two and three will be the best engineers. Student one will give you all the wrong answers that are in the texts, all the wrong answers when typos are made, etc. Student four will give you lots of wrong answers, on the advice of self-proclaimed experts. (after all, being somebody's "mum" doesn't make this woman any more likely to be able to cook a good steak.) Students two and three each will be valuable engineers, and are the sorts who are more likely to catch other people's mistakes, and verify that their own answers are consistent with nature.
I tend to disagree. There are no good engineers in the bunch, but all of them have good qualities (er, behaviours | practices | habits..).

Tachyon said asked "Which student will make the best engineer?", and all but the last are equal. If he askeed his mum why, would be as equal as the rest.

You can't be a good engineer and stick only to one practice. You have to understand the theory, experiment with proper procedure to ensure you understand the theory, and that the theory is sound and applicable....

basically, your reasoning against one and four is wrong. Tyepos my pipmpersnickle. Who's to say "mum" has to be his mother (it's a codename for the best engineer on earth, a true expert).

What if four had a faulty thermometer, and three didn't know how to conduct the experiment properly (which by the way was faulty. It took him waaay too long to cut the meat and take the sample, that all his results are 10 degrees off, due to loss of heat whilst he cut).

Anyway, like I said, a good engineer will have all of the four qualities.

update: oh yeah, when you assume, you make an ass out of you and me, and mostly you, cause you're in charge of the project (and i'm the dumbass who hired you :D)

___crazyinsomniac_______________________________________
Disclaimer: Don't blame. It came from inside the void

perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/\$q;"

You can't be a good engineer and stick only to one practice.
Well, yeah, I agree with your update... though I can't say I agree with your assumption that these engineers were each using one practice. Actually, that was sortof my point... two and three were both able to combine theoretical and experimental approaches to ensure they had they right answer. Those two know they have the right answer. The first and fourth gave an answer, without having direct knowledge of if it was correct. They simply had a belief, an "assumption," that it was correct.

Is a person really seperate from their practices?
--
Snazzy tagline here

Re: So it's homework - so what?
by kwoff (Friar) on Oct 26, 2001 at 02:20 UTC
There wasn't even a need for "Homework Alert!" because
he even left the hint in one of the questions, hehe.
If he copied the question, then he'd just copy the answer.

For the question "About what do you object?", my reaction
is most similar to the fourth answer you gave.

(speculation follows)
perlmonks.org is a social system, and this is one
of its taboos. As such it performs the function of
supporting that system. Otherwise it might do something
like the AOL invasion of Usenet (probably will anyway).
Also certain people maintain/enhance their status by
denouncing the outsiders.
Re: So it's homework - so what?
by readey (Sexton) on Oct 30, 2001 at 16:14 UTC
Re: So it's homework - so what?
by assemble (Friar) on Mar 19, 2009 at 14:16 UTC

As a side note: Who cooks a roast at 200C? That's way too hot. 160C or 150C is a much better temperature for something like a roast.

Onto the topic: Homework problems where the poster just asks for the answer bother me--because it's possible I might have to work with this guy if he goes on to program professionally. Knowing where to look and how to ask the question is indeed an important skill, but you still need a significant amount of "in-the-field" knowledge to be proficient in anything.

160C or 150C is a much better temperature for something like a roast.

Eeeeeewww! Then it would be cooked all the way through! That would be horrible.

Seared on the outside, rare in the middle. It is The One True Way.

:)

• another intruder with the mooring in the heart of the Perl

I find most people I know think a roast is something you stick in the oven for hours, baste it occasionally, let it rest and hope it doesn't come out dry and nasty. The lower heat helps it not dry out as much.

But I agree with you, a nice sear and a little bit of hot oven time is really all that's needed. :)

Create A New User
Node Status?
node history
Node Type: monkdiscuss [id://121502]
Approved by root
help
Chatterbox?
 [Corion]: thezip: start "some title" path\to\that\ application, but that will open another console window [Corion]: thezip: If you want to confuse your users, use system(1, "that\\command" );, which will make Perl launch it in the background [Corion]: That will keep the console window open even though the user can't type into it anymore [thezip]: So I have a script that generates a log file. After script completion, I want tohave VIM open this logfile. [thezip]: i don't get the command line "back" until I close VIM. No what I want to happen... [thezip]: I currently don't have access to CYGWIN, else I'd just do a tail -f on the logfile.

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (11)
As of 2017-03-27 18:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Should Pluto Get Its Planethood Back?

Results (321 votes). Check out past polls.