Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.

Do my homework for me!

by dws (Chancellor)
on Aug 29, 2002 at 18:59 UTC ( #193859=perlmeditation: print w/replies, xml ) Need Help??

The time of year is upon us when many students are faced with their first programming homework. Some will find themselves in way over their heads. Some will come here asking for help. Some will have tried and failed before seeking help. Others will ask for help as a first resort. This latter group -- the "do my homework for me" group -- is starting to show up again, and can be expected to increase in number over the next few months.

When someone presents a "do my homework for me" question, particularly if they show no evidence of any effort on their part, please resist providing a direct answer. Instead, provide pointers, hints, and suggestions, and let them work to solve the problem themselves. Teach, don't solve.

Some people are capable of programming, but don't yet know it. They may flail for a bit. That's normal. By providing these people with complete answers, we're actually holding them back. We're robbing them of the wonderful "ahah!" moment that comes when you solve a problem yourself.

Some people, however, are not temperamentally suited for programming. If we provide answers for these people, they'll just keep coming back for more, and will waste a lot of everyone's time. By providing answers for these people, we're preventing them from being filtered out of the programmer pool early enough. Do you want a "do my homework for me" person as a teammate? So stick to providing hints. If they can't (or won't) rise to the occasion, let that be their problem, not ours.

For past meditations on the "homework" problem, see

Replies are listed 'Best First'.
Re: Do my homework for me!
by FoxtrotUniform (Prior) on Aug 29, 2002 at 19:18 UTC
      When someone presents a "do my homework for me" question, particularly if they show no evidence of any effort on their part, please resist providing a direct answer. Instead, provide pointers, hints, and suggestions, and let them work to solve the problem themselves. Teach, don't solve.

    I suggest RTFM replies to no-effort homework questions. (Better if you're a bit more polite, though.) Just point the student to the appropriate documentation and let them decide to either read it or whinge about how hard computers are. If you want to take the time to point out common mistakes, useful idioms, potential pitfalls, and so on, all the better, but keep in mind that they have profs and teaching assistants who are paid to provide that level of instruction. For example:

    Q: How do I add two dates?

    A (short): Use Date::Calc.

    A (long): Use Date::Calc. Watch out for time zone and DST issues.

    We don't necessarily need to consider every suspicious question for deletion... some of them spark interesting discussion.

    F o x t r o t U n i f o r m
    Found a typo in this node? /msg me
    The hell with paco, vote for Erudil!

        Q: How do I add two dates?

        A (short): Use Date::Calc.

        A (long): Use Date::Calc. Watch out for time zone and DST issues.

      Really excellent example! Why, just the other day, I wanted to know the sum of June 13th 1993 and October 23rd 1936. Date::Calc was just the thing for this common, but thorny, problem!

      Everybody knows to use Date::Calc for subtracting one date from another to get the number of dates they span or adding or subtracting a number of days to/from a given date, but not everybody knows the great utility that Date::Calc can be in adding two dates!


        Sorta the kind of problem that would only show up in a homework assignment, isn't it? (And believe it or not, I got this one in a first year programming course....)

        F o x t r o t U n i f o r m
        Found a typo in this node? /msg me
        The hell with paco, vote for Erudil!

      Why add two dates? So you can divide by 2 and get the average! (Just kidding.)
Re: Do my homework for me!
by RMGir (Prior) on Aug 29, 2002 at 19:20 UTC
    I'd love to see a comment in response to a homework node that says

    Hmmm, this exact answer just got turned in in my class yesterday. I guess this guy gets an 'F'.
    Professor Perlsavvy

    That'd be hilarious...

    Having gotten that evil streak out of the way :), I'd noticed the resurgence in homework, and was going to Meditate on it. Thanks for saving me the trouble!

      Sigh, I wish the students I supervised at University had been as smart as that, it might even have been a challenge. Mine just copied off each other word for word. Not very smart considering the fact that I wrote a script that ran diff between each and every assignment from all 8 groups. Sorting by amount of difference accending, I caught about a dozen students that way. I was generaly able to work out who had copied from who, but the lecturer who was teaching the course (and my boss at the time) just instructed me to give both parties 0 and leave the rest to him. I took a very sick pleasure in doing so I have to admit ;) When I was studying we just wern't that careless :-)

      ---If it doesn't fit use a bigger hammer
        One time in high-school English class I wrote a pair of essays. One was the other exactly reversed, using sentences as the unit. The thesis statement of one was the introductary sentence for the "conclusion" paragraph in the other. It was challanging to make each paragraph topic sentence reverse with the concluding sentence.

        My friend turned in one, I the other. I got a whole letter grade higher than he did, even though (as it turns out) his was the "original" and mine the reverse. I think the teacher noticed one particularly quotable sentence was duplicated, but not that all of them were.

        Hehe, vagnerr, that brings back fun memories.

        I corrected papers for several courses in University, but the funniest plagiarism case I ran into was when 2 students turned in the same assignment for a 68020 assembler class in different fonts.

        I wanted the prof to expel them for insulting our intelligence, but he was too nice a guy.

Re: Do my homework for me!
by cidaris (Friar) on Aug 29, 2002 at 20:32 UTC
    I feel a little better talking to someone in CB or helping on their posts if they're doing homework or attempting to learn something.

    What scares me is the people who come and say:
    (Pretend this message isn't formatted at all and contains no line breaks.) Mentally include all caps if you'd like.

    Hi, I work for so-and-so and obviously have no idea what I'm doing.
    Also, what I'm doing needs to be done yesterday.
    By the way, I plan to post at least 3 more messages of this exact wording or similar.
    Yes, someone actually hired me.

    In some cases I really do enjoy talking to people about small homework-ish tasks. If it wasn't for them, I'd probably have forgotten a lot of little simple things that don't get used often.
    Questions like "how do I replace this" or "how do I add two dates" help me feel like I'm progressing when I'm working on bigger projects, like "Build a complete front-end for this MySQL database, and make it scalable. Also, we may change from MySQL to something else without warning you, for no apparent reason at all. You have a week."

    Helping someone with little five-liners or even one-liners is a welcome respite from 2k+ LOC programs.

      As you say this is not limited to students trying to avoid the hard work of learning. Of particular note is a member of this illustrious establishment who has achieved the the XP of monk(5) with 74 posts to date all of which ask for help. In one post he even complained that he had implemented a partial solution at work and had been "abandoned" by the donor of the code. One hopes that in the fullness of time he will repay the debt by helping others. Ay_Bee
      -_-_-_-_-_-_-_-_-_-_-_- My memory concerns me - but I forget why !!!
Re: Do my homework for me!
by greywolf (Priest) on Aug 29, 2002 at 19:09 UTC
    Hopefully most of them will get on board and teach themselves something.

    If they really don't seem to be trying to learn we can always provide them with obfuscated solutions. Their prof will know they didn't write it and we can have a little fun at the same time.

    mr greywolf
      I don't think obfuscated solutions would work well. They would just confuse the knowledge-seekers who find the response by googling their question..
        i just want your help thats it i dont need anything else or you will taech so i can solve any other problem
        do your own homework dude . im in 5 sports and are in all AP classes if i can do it you can to !! not to mention i have a GPA of 4.3 yea okay do it yourself!! :)
        do you have gmail
Re: Do my homework for me!
by gnu@perl (Pilgrim) on Aug 30, 2002 at 13:54 UTC

    I do agree that answers should not be given flat out. But please do not disregard these people. We were all once one of them. Personally, I am quite thankfull that I have never been given flat out answers here. I hold dear the "Aha!" moments.

    In my last place of employment, where I first started using perl we had a few people with quite a bit of perl experiance and I would, from time to time, ask for their help with work I was doing. I would either get "Here's how you do it" followed by complete code or an attitude of "Why are you bothering me with something so simple". I just hope that people here avoid both of those types of response.

    When I first started coming here I would ask questions and sometime get answeres like "See Module::Doc". Quite honestly, I always try the doc first and this response offered no help. Refering to documentation is important, but as we are all aware, some of the documentation is quite confusing to a beginner (IPC::open3 for example).

    In my experiance, receiving complete solutions early in my programming career actually confused me. I needed to understand they how and why, both of which are left out when code is given for one to just cut & paste.

    In summary, I agree with the attitude that we should not just hand out answers, but please have patience with those who seek our help. Try to guide them in the right direction without scaring them off. Also, try to truly offer your help when you can instead of shoo'ing them off to some link they probably won't understand.

Re: Do my homework for me!
by greenFox (Vicar) on Aug 30, 2002 at 02:57 UTC

    I notice grinder considered adder, I am not sure that I agree to arbitarily reaping homework nodes, carefull replies (such as demonstrated by dws here) can turn a simple homework question into a deeper learning exercise, and some problems are interesting enough that people will want to solve them, adder seems to fit that category. However having goofed on this node because I hadn't seen the earlier node I am wondering if consideration is perhaps a suitable method to give the unwary a heads up...

    Until you've lost your reputation, you never realize what a burden it was or what freedom really is. -Margaret Mitchell

      I notice grinder considered adder, I am not sure that I agree to arbitarily reaping homework nodes

      My apologies. It was a flippant consideration and I really wouldn't expect it to be reaped. I was just a little surprised that no-one caught it before. That happened before I read this thread.

      As for helping people who don't help themselves, consider supplying code that looks good at first glance, but is actually dreadful. I still get a giggle when I think of the reponse I posted to this thread. It was a question that asked to print out combinations of an array, and I came up with something that a) scales woefully and b) consumes prolifligate amounts of memory. It took something like 8 days CPU time to generate all combinations of a set of 10 elements (even though it spits out the solution to 4 elements snappily enough).:o)

      print@_{sort keys %_},$/if%_=split//,'= & *a?b:e\f/h^h!j+n,o@o;r$s-t%t#u'
        I think that mess just looks like the kind of muddled solution the student could come up with himself!

Re: Do my homework for me!
by davorg (Chancellor) on Aug 30, 2002 at 13:00 UTC

    One thing in particular to look our for.

    For the last two years, in the first week of October we've been innundated with students from the Universary of Harare asking us for help with a problem on finite automata. Last year we tracked them down and contacted their department, so it will be interesting to see if it happens again.


    "The first rule of Perl club is you do not talk about Perl club."
    -- Chip Salzenberg

Re: Do my homework for me!
by Anonymous Monk on Aug 29, 2002 at 19:40 UTC
    Do you want a "do my homework for me" person as a teammate?

    Irrelevant. If one somehow makes it through college with that attitude they're not going to be employable anyways. Answering homework questions just reduces the competition for my job and makes me look better. Keep up the good work ;)

      If one somehow makes it through college with that attitude they're not going to be employable anyways.

      I say this with great sadness, but "wanna bet?"

      98% of the time, what you say is true. But sometimes someone has a relative who is highly placed, and can influence hiring decisions. That's less likely to happen if son/daughter/niece/nephew flunked or dropped out of their college programming classes.

        In my experience most colleges don't allow their students to post questions to during the final exam. If you pass a programming course at any moderately decent college, you'll know something about programming.
        I like to think that with competition for perl jobs so vicious and getting worse, even the family of the CEO won't be able to get the jobs because there won't be jobs-except for the very brilliant or the self-employed.

      You just keep telling yourself that. I'm extremely fortunate in that my workplace's hiring procedure includes a case study -- and it works, too -- but all but a handful of employers look at your credentials, and maybe your resumé and references, and don't do any practical check on whether you can actually do the job they're hiring you for. If you're lucky, and your employer isn't afraid of wrongful-dismissal suits, your less useful cow-orkers might get fired for their incompetence, if their supervisor notices that they're not pulling their weight. Welcome to the cube farm.

      F o x t r o t U n i f o r m
      Found a typo in this node? /msg me
      The hell with paco, vote for Erudil!

        I don't know. Case studies are easy for employers, but not for employees. If I want to interview with 10 employers, and each requires 4 hours of 'homework', it's.. impossible. And it is so easy for them to say 'well, send up a code sample doing X' even if you are number 599 in their priority applicant list....
Re: Do my homework for me!
by Anonymous Monk on Sep 01, 2002 at 16:55 UTC

    Personally I prefer if someone just states:

    I have this HW assignment and I need help.

    This makes us all look good! The author shows that they are trying to learn but may be really having difficulty. And they don't think we are so stupid that they can pass their HW off to us without us realizing it.

    If someone is upfront like this and takes the hints we suggest then I think it would be better that we make sure they have all the resources to complete the assignment.


    Edited by footpad, ~ Sun Sep 1 17:52:27 2002 (UTC) : Reworked HTML to be more effective in the context of a node.

      Anonymous Mark,

      Usually, those that come right out and state they need help with homework don't ask for the entire project to be done for them. I have no qualms about helping those in need that deserve a little push in the right direction.

      The problematic users are those that post textbook requirements for a problem and expect a solution by posting the same question repeatedly. That's not looking for help; that's being an ass.

      John J Reiser

Re: Do my homework for me!
by Anonymous Monk on Aug 30, 2002 at 02:43 UTC

      See my reply upthread for why I disagree. Stupid people gain threatening^Wuseful employment on a regular basis, and consistently impede or overrule clueful folk. Explanation. The reply which you cite is pithy but inaccurate.

      F o x t r o t U n i f o r m
      Found a typo in this node? /msg me
      The hell with paco, vote for Erudil!

Re: Do my homework for me!
by rdfield (Priest) on Sep 03, 2002 at 09:26 UTC
    Very well said, dws. I do think you're preaching to the choir, though - I don't think the monks who post complete answers to obvious "do my homework" questions will be swayed by your arguments...they seem, to me at least, to be more interested in the XP :) Perhaps a concerted effort to downvote such answers would dissuade them (the XP-whores I mean)?


      -- from me on this one. You call for making an assumption about the intent of an individual, which in turn was based on an assumption about the intent of the original poster. I don't know about you, but I don't like to judge others on such volatile grounds. Don't do it unless you are willing to stand up for your -- by stating so in a reply to the alleged XP whore.

      Makeshifts last the longest.

        You've read far more into my post than was intended. I'd originally added 'but who would want to make that call? Certainly not me!' but on re-reading thought that the message was clear enough without it so removed it. Obviously I should have left it in.


Re: Do my homework for me!
by Anonymous Monk on Dec 03, 2008 at 16:51 UTC
    i need facts about gold and silver help!!!!!!!!!!!!!!!!!!
      Gold is heavier than Silver. Read the fucking Wiki =)

      holli, /regexed monk/
        Please help me do my home work
do my homework!
by joshuaalex (Initiate) on Dec 10, 2008 at 03:17 UTC
    balance the equations in this pdf

      No problem, but only if you do my laundry.

      Seriously though, if someone provides the solution to your homework you don't get any benifit. Come exam time are you plannig to try to use an iPhone (or similar) to upload photos of each question to rapidshare and ask on forums for people to get back to you with the answer?

      I'd recommened getting practice at balancing the equations yourself. IMHO cheating in exams rarely works out well in the long term (see the Kobayashi Maru test for a fictional exception).

        i want to make sentence with the folloing words; flexibility, equivalent, significant, expenditure' budget, disparities, incentives,and inflastructure.

      Assuming you want to solve this problem with perl (why else ask perlmonks?), you'll want to:

      • Read the PDF: try PDF::API2
      • Extract the equations: use some kind of regex
      • Balance the equations: you could use some kind of diophantine equation solver. There's probably some elegant solutions out there. But this is homework for human beings. Coefficients are likely to be low. Brute force shouldn't be too bad in this case.

Re: Do my homework for me!
by Anonymous Monk on Jun 23, 2009 at 10:26 UTC
    please do my homework i tried heaps but i still can't get it done in 8 hours
Re: Do my homework for me!
by Anonymous Monk on Dec 09, 2009 at 21:47 UTC
    Tell me this: how am I supposed to teach myself trigonometry?? No book, no internet articles of any help, and my parents didn't even learn algebra.

      Go buy a book on trig and work out the problems? I dunno, worked for me.

      how am I supposed to teach myself trigonometry?? No book
      Why? … or is this a joke that went over my head?
      teaching and homework
      The Khan Academy is a tremendous resource. That's the link to Basic Trigonometry.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://193859]
Approved by FoxtrotUniform
Front-paged by earthboundmisfit
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2023-12-07 17:29 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (33 votes). Check out past polls.