Off topic: Why is asking homework questions shunned?

J

Juha Nieminen

I was wondering: Why is it an unwritten rule that we don't answer
clear homework questions.

What is the purpose of homework? To emulate a problem that one might
encounter in a real-life situation, so that one gets the experience of
solving such problems, or to find the solution by whatever mean is
necessary.

Well, asking more experienced people *is* a completely valid method of
solving a real-life problem. I do programming as my payjob, and I have
no qualms whatsoever in asking a colleague, a programmer friend or eg.
in this very newsgroup if I encounter a problem that I cannot figure out
nor find a solution anywhere. (Granted, this happens very rarely, usually
because GIYF, but it does happen on occasion.)

When someone asks a question here, we don't know how much research they
have done already. Of course it would be best if they explained in detail
what research they have done already and why they have to resort to asking
here, but even if someone doesn't think about doing that (eg. because they
are not savvy enough to know that it's "needed"), don't they deserve the
benefit of the doubt?

And even if they haven't done any researching, they might still learn
something when someone else explains the problem to them.
 
S

Stuart Redmann

I was wondering: Why is it an unwritten rule that we don't answer
clear homework questions.
[snip]

There are lots of homework questions that have been answered in this
group. Most people do not complain about homework questions per se,
but about questions that
(A) could have been solved by searching the net,
(B) are in the line of: Please do my homework for me, I don't want to
know how it works, I just want a good grade.

Apart from those question, I can't remember the last time I have seen
some question that has been left unanswered, even though the poster
had made some effort to solve it himself. Could you show us?

Besides, there is a whole group that is dedicated to learning C++,
alt.comp.lang.learn.c-c++. That's probably a more appropriate place to
ask such questions.

Regards,
Stuart
 
F

Fred Zwarts \(KVI\)

"Juha Nieminen" wrote in message
I was wondering: Why is it an unwritten rule that we don't answer
clear homework questions.

What is the purpose of homework? To emulate a problem that one might
encounter in a real-life situation, so that one gets the experience of
solving such problems, or to find the solution by whatever mean is
necessary.

Well, asking more experienced people *is* a completely valid method of
solving a real-life problem. I do programming as my payjob, and I have
no qualms whatsoever in asking a colleague, a programmer friend or eg.
in this very newsgroup if I encounter a problem that I cannot figure out
nor find a solution anywhere. (Granted, this happens very rarely, usually
because GIYF, but it does happen on occasion.)

When someone asks a question here, we don't know how much research they
have done already. Of course it would be best if they explained in detail
what research they have done already and why they have to resort to asking
here, but even if someone doesn't think about doing that (eg. because they
are not savvy enough to know that it's "needed"), don't they deserve the
benefit of the doubt?

And even if they haven't done any researching, they might still learn
something when someone else explains the problem to them.

The answer is in the FAQ [5.2]

"If I did your homework for you, then you might pass your class without
learning how to write a program like this. Then you might graduate and get
your degree without learning how to write a program like this. You might
become a professional programmer without knowing how to write a program like
this. Someday you might work on a project with me without knowing how to
write a program like this. Then I would have to do you serious bodily harm."
[Thanks to Jack Klein]
 
J

John Bokma

Fred Zwarts (KVI) said:
"If I did your homework for you, then you might pass your class
without learning how to write a program like this. Then you might
graduate and get your degree without learning how to write a program
like this. You might become a professional programmer without knowing
how to write a program like this.

I seriously doubt that anyone who is not interested in doing his/her
programming homework him/herself will become a professional
programmer. Most likely the programming excercise is just a minor part
of his/her education and I think it's better to learn to find someone
who actually can do it than to try to do it yourself (and ending up with
some of the code I now and then have to face :-( )

But I am most likely biased, since I do Perl "homework" in exchange for
books. Most people who ask my help have already given it a try, got
stuck, and just want to see good code. Maybe Perl is somewhat of an
exception: most examples on the Internet are extremely bad. And based on
the example code of some teachers I would say that one is lucky to find
a teacher who can actually code Perl.

Do I assist in cheating? Maybe. However, in my opinion a good teacher
should know his/her students. And if an average student suddenly
produces better Perl than him/her maybe he/she should start asking some
questions ;-).
 
C

Christopher

I seriously doubt that anyone who is not interested in doing his/her
programming homework him/herself will become a professional
programmer.

You are so very wrong.

I've already had the displeasure of having to work with several people
I tutored in college, whom I had caught buying tests, paying others to
do homework assignments, etc.

They do in fact get jobs.
Interviewing for C++ jobs is so predictable, you can almost memorize
what you will be asked before hand and get a job without even knowing
the difference between a reference and a pointer. Seriously.

Those people don't last long, but they do enough damage while they are
there to really screw up the source.

Most likely the programming excercise is just a minor part
of his/her education

It is the amjority of their education. You learn next to nothing
listening to an old man ramble. You learn much more by having to work
through a problem yourself.

and I think it's better to learn to find someone
who actually can do it than to try to do it yourself (and ending up with
some of the code I now and then have to face :-( )

Learn how to find the resources that _enable_ you to do it, rather
than how someone else would do the entire problem.
There is a huge difference between asking:

1) "Please write a program that takes comma delimited values from a
text file, maps them to the name in column1, sorts them
alphabetically, and writes them to another file. How do I do this?"
2) "I saw that I should use fstream to open a file. In my example
code below, I successfully parsed the file contents, but when I try to
open another file with the same fstream, it fails for some reason. Why
can't I open the second file?"

Do I assist in cheating? Maybe.

Sure sounds like it.

When I tutored in the college lab and saw some mistake a student was
having, or some trouble they had with a concept. I'd write a small
example program totally unrelated to their assignment that
demonstrated the problem and solution or concept.

Example: They didn't virtualize a method. I'd write a console program
with a mammal class and a dog class that was derived from mammal, give
both a method Speak() and run it once virtualizing the base class
method and once without, showing the difference. My example would have
nothing to do with their real assignment where they were concerned
with a "Person" and a "Customer", but they would get the concept and
see their error.

There is a huge difference between enabling someone and doing their
work for them.
 
J

Juha Nieminen

Christopher said:
I've already had the displeasure of having to work with several people
I tutored in college, whom I had caught buying tests, paying others to
do homework assignments, etc.

They do in fact get jobs.
Interviewing for C++ jobs is so predictable, you can almost memorize
what you will be asked before hand and get a job without even knowing
the difference between a reference and a pointer. Seriously.

Those people don't last long, but they do enough damage while they are
there to really screw up the source.

In the 80's and especially the 90's it was a commonly held belief among
the average job-seeking (related to computers) people, that programming
is something you can easily learn in a week or two from a book. Maybe a
bit similar to writing reports or documentation: One might not know the
exact formatting and layout that a company requires, but one usually learns
it easily and quickly after a couple of days. After all, computer programming
is a bit like writing prose, isn't it? Writing your ideas on paper isn't
all that hard, so how hard can programming be?

Hence it was a sadly common practice for people to secure a job first,
"learn" to program later. I have heard of actual such cases, where eg. a
person who applied for (and got) a job in programming C++ (I think it was
in the 90's) had no idea whatsoever about C++ (even though it was a job
requirement), and the first day on the job he started reading a C++ book.

Sadly, back then the people responsible for hiring programmers had
absolutely no knowledge of programming themselves either. To them programming
was like magic. Some person types something in the computer, and the desired
thing happens. They have no idea how, it just does. Not only did this cause
employers to have completely unrealistic expectations about what could be
achieved with computer programming, they were also extremely naive: It was
enough for someone to *claim* that they knew computer programming, and the
employer would believe it.

While the situation might be a bit better today, seemingly it still is
happening. People are applying for programming jobs with little to no
experience in actual programming (the idea still being that they will
"learn" it on the go), and employers being naive.
 
N

Nick Keighley

  I was wondering: Why is it an unwritten rule that we don't answer
clear homework questions. [snip]

There are lots of homework questions that have been answered in this
group. Most people do not complain about homework questions per se,
but about questions that
(A) could have been solved by searching the net,
(B) are in the line of: Please do my homework for me, I don't want to
know how it works, I just want a good grade.

Then tell then the answer and let them get their "grades" without
understanding how things work.
Their loss.

What exactly is a "grade" anyway? Is it some kind of academic qualification?
If its that easy to cheat for good "grades" their academic qualification
aint work the paper its written on.

I believe in US universities ("colleges" or "schools") they're on some
sort of continuous assessment with frequent tests. These test are
marked ("graded") and the cumulative total is somehow reflected in the
final degree.
 
W

Waldek M.

I seriously doubt that anyone who is not interested in doing his/her
programming homework him/herself will become a professional
programmer. Most likely the programming excercise is just a minor part
of his/her education and I think it's better to learn to find someone
who actually can do it than to try to do it yourself (and ending up with
some of the code I now and then have to face :-( )

As others have already mentioned, it is simply not true (sadly).
How upset I was when after few years of work, I met a guy
from my university whose 90% of excercises were being copied.
Well, he even did demand them from other students, and felt
outraged when some of us didn't comply.

Luckily, I didn't need to work with him and AFAIK, he
does no longer work with us.

Best regards,
Waldek
 
M

Mike Copeland

I was wondering: Why is it an unwritten rule that we don't answer
clear homework questions.

What is the purpose of homework? To emulate a problem that one might
encounter in a real-life situation, so that one gets the experience of
solving such problems, or to find the solution by whatever mean is
necessary.

Well, asking more experienced people *is* a completely valid method of
solving a real-life problem. I do programming as my payjob, and I have
no qualms whatsoever in asking a colleague, a programmer friend or eg.
in this very newsgroup if I encounter a problem that I cannot figure out
nor find a solution anywhere. (Granted, this happens very rarely, usually
because GIYF, but it does happen on occasion.)

When someone asks a question here, we don't know how much research they
have done already. Of course it would be best if they explained in detail
what research they have done already and why they have to resort to asking
here, but even if someone doesn't think about doing that (eg. because they
are not savvy enough to know that it's "needed"), don't they deserve the
benefit of the doubt?

And even if they haven't done any researching, they might still learn
something when someone else explains the problem to them.
Having been a programmer for over 50 years AND a college teacher in
programming, I find this question somewhat annoying. If one were to
look at the _way_ such questions are posed on the Internet (and FidoNet
before), they are often direct quotations of the written assignment. To
many of us, this shows a total lack of effort and initiative from the
OP, and providing an answer in the form of code will almost certainly
result in no more than a direct pass-through to the teacher...no
learning or understanding achieved!
IMO, we are immersed in a cultural world where it's all too easy to
get an answer from the 'Net or similar sources. This is unlike the real
world, where it's often reasonable to ask for help (or greater
understanding of the problem) - a process which _does_ lead to problem-
solving knowledge and "growth". Simply passing through a result
obtained from an outside source such as a NG fails to help the
individual - but also gives the false understanding that it's how to get
things done. I assure you an individual who tries to get someone to do
his/her real-life work won't last very long in _any_ endeavor. Best to
learn this all-important life lesson early on.
However, it is quite reasonable to point the OP in a direction that
will get them started. There are many ways to do this _without_
actually doing the assignment itself. Offering design advice or
resources that can get the OP started, as well as basic approaches to
problem-solving are fine, because learning is quite possible when the
student actually does the work.
Not to mention the satisfaction likely achieved by the
accomplishment... 8<}}
 
M

Mike Copeland

I was wondering: Why is it an unwritten rule that we don't answer
clear homework questions.

What is the purpose of homework? To emulate a problem that one might
encounter in a real-life situation, so that one gets the experience of
solving such problems, or to find the solution by whatever mean is
necessary.

Well, asking more experienced people *is* a completely valid method of
solving a real-life problem. I do programming as my payjob, and I have
no qualms whatsoever in asking a colleague, a programmer friend or eg.
in this very newsgroup if I encounter a problem that I cannot figure out
nor find a solution anywhere. (Granted, this happens very rarely, usually
because GIYF, but it does happen on occasion.)

When someone asks a question here, we don't know how much research they
have done already. Of course it would be best if they explained in detail
what research they have done already and why they have to resort to asking
here, but even if someone doesn't think about doing that (eg. because they
are not savvy enough to know that it's "needed"), don't they deserve the
benefit of the doubt?

And even if they haven't done any researching, they might still learn
something when someone else explains the problem to them.
Having been a programmer for over 50 years AND a college teacher in
programming, I find this question somewhat annoying. If one were to
look at the _way_ such questions are posed on the Internet (and FidoNet
before), they are often direct quotations of the written assignment. To
many of us, this shows a total lack of effort and initiative from the
OP, and providing an answer in the form of code will almost certainly
result in no more than a direct pass-through to the teacher...no
learning or understanding achieved!
IMO, we are immersed in a cultural world where it's all too easy to
get an answer from the 'Net or similar sources. This is unlike the real
world, where it's often reasonable to ask for help (or greater
understanding of the problem) - a process which _does_ lead to problem-
solving knowledge and "growth". Simply passing through a result
obtained from an outside source such as a NG fails to help the
individual - but also gives the false understanding that it's how to get
things done. I assure you an individual who tries to get someone to do
his/her real-life work won't last very long in _any_ endeavor. Best to
learn this all-important life lesson early on.
However, it is quite reasonable to point the OP in a direction that
will get them started. There are many ways to do this _without_
actually doing the assignment itself. Offering design advice or
resources that can get the OP started, as well as basic approaches to
problem-solving are fine, because learning is quite possible when the
student actually does the work.
Not to mention the satisfaction likely achieved by the
accomplishment... 8<}}
 
E

Ebenezer

  In the 80's and especially the 90's it was a commonly held belief among
the average job-seeking (related to computers) people, that programming
is something you can easily learn in a week or two from a book. Maybe a
bit similar to writing reports or documentation: One might not know the
exact formatting and layout that a company requires, but one usually learns
it easily and quickly after a couple of days. After all, computer programming
is a bit like writing prose, isn't it? Writing your ideas on paper isn't
all that hard, so how hard can programming be?

  Hence it was a sadly common practice for people to secure a job first,
"learn" to program later. I have heard of actual such cases, where eg. a
person who applied for (and got) a job in programming C++ (I think it was
in the 90's) had no idea whatsoever about C++ (even though it was a job
requirement), and the first day on the job he started reading a C++ book.

  Sadly, back then the people responsible for hiring programmers had
absolutely no knowledge of programming themselves either. To them programming
was like magic. Some person types something in the computer, and the desired
thing happens. They have no idea how, it just does. Not only did this cause
employers to have completely unrealistic expectations about what could be
achieved with computer programming, they were also extremely naive: It was
enough for someone to *claim* that they knew computer programming, and the
employer would believe it.

One coworker explained it to me in terms of "pretenders and plumbers."
He was a plumber who got a lot of good work done. Our boss was a
pretender who was difficult to deal with.
  While the situation might be a bit better today, seemingly it still is
happening. People are applying for programming jobs with little to no
experience in actual programming (the idea still being that they will
"learn" it on the go), and employers being naive.


I think the situation is significantly better today than it used
to be. Tight budgets are helping to filter out a lot of the
pretenders.


Brian Wood
Ebenezer Enterprises
http://webEbenezer.net
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top