What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 134 Stack Exchange communities.

I was a TA for an undergraduate programming course and I've been considering doing it again. Since I'm sure some of my students would be requesting solutions to their homework here, I've been thinking about how I would handle it.

My first thought was "it would be easy to search here for people asking for answers," where the obvious course of action is approaching the student about academic integrity. However, after further thought I came to another conclusion: I teach because I want to help the students who care to be the most capable developers then can be. As such, I think I would simply move towards grading on "passion" when I find a student getting the answers online. Summarized, "If you're going to be asking around for other people to give significant input on your homework, you'd better be doing it for the purpose of training yourself to see elegant solutions to problems you face."

My personal teaching philosophy: Identify the students with a desire to learn and procede to utilize their individual stregths to maximize their learn:time ratio. Assign grades based solely on (demonstration of known subset + curve of the "expected to know after the course" as listed in the syllabus from the beginning of the semester), where curve is created to cover cases where it's clear I expected more than was reasonable for a single-semester course. Clearly, based on this I would allow the replacement of the assigned work with work of significantly greater material coverage for capable students - I don't like wasting their time and if they'll put in overtime to still make the course worthwhile for themselves I'm not going to stop them.

This leads me to two key questions:

  1. What would you use for a written policy regarding students seeking homework answers online.
  2. What would you use for an unwritten policy "addendum" to the written policy. Personally, I think the mechanisms I use for subjective grading go here.
  3. Am I off my rocker for the final philosophy paragraph?

Edit: Before voting to close:

  1. I believe this information could be helpful to people genuinely interested in helping their students learn.
  2. I'm open to feedback on how to improve this question - so try to make a suggestion before a close vote.
  3. I made it community wiki and gave it proper tags.
share|improve this question

migrated from stackoverflow.com Sep 17 '09 at 18:19

This question came from our site for professional and enthusiast programmers.

    
I'd say belongs on meta –  marcgg Sep 17 '09 at 17:44
1  
@marcgg: This is related to teacher<->student interaction, not SO policy<->student interaction. –  Sam Harwell Sep 17 '09 at 17:47
    
@marcgg Why? This isn't discussion about SO or any of the sibling sites. That would be an even worse fit. I think it's a great programming related question. –  Matt Sep 17 '09 at 17:49
    
Yeah, true. Well it's not programming related or anything so it's not really for SO, isn't it? –  marcgg Sep 17 '09 at 17:50
    
.... and the question is good, so I don't want it to just get closed. –  marcgg Sep 17 '09 at 17:50
    
@marcgg: I was thinking about that, but had trouble making a decision. It's not strictly programming but 1) I teach programming, 2) I'm particularly interested in what programmers think, 3) I don't frequent any other sites designed in the interest of group learning like this one is, and 4) The question is generalized yet strongly applicable to the target audience of this site. –  Sam Harwell Sep 17 '09 at 17:53
    
@280z28: makes sense, but #4 makes me think it belongs on Meta... I might be wrong, let see what other people think. –  marcgg Sep 17 '09 at 17:55
    
@marcgg: Meta was created to discuss SO layout, features, and management policy. I'm asking about how an interested teacher could incorporate an understanding of the existence of sites like SO into their personal teaching methods to help students instead of hinder their progress (where I believe any full exclusion of collaboration can hinder the ability of passionate students to learn). –  Sam Harwell Sep 17 '09 at 18:00
    
Okay - now that was just silly. Moving a "teaching programming" related discussion from SO (dedicated to programming), to Meta, which is dedicated to discussing SO and it's siblings?? Makes no sense to me. This question has nothing to do with Meta. People with power they know not when to exercise. –  Matt Sep 17 '09 at 18:27
    
I think it makes perfect sense to move it to Meta. (You don't have to make it Community Wiki on Meta for most questions.) –  Brad Gilbert Sep 17 '09 at 18:36
    
If this question was off topic at SO, it's even more off topic on Meta. I'm annoyed because I spent quite a bit of time trying to explain my question but obviously (as clearly demonstrated by the move) I completely failed. –  Sam Harwell Sep 17 '09 at 20:56

5 Answers 5

Since you have been specifically looking at homework questions here, you might have noticed how differ the ways the questions are asked in. By the way your student asks the question, you may judge his understanding and the amount of work performed.

For example, some people post compilable code with the questions hitting the essence of the task, mark it with homework tag, and gladly accept answers that only direct them, not just give a complete solutions. I am sure that in class they'll exhibit understanding of the subject and, given they really have the aptitude and wish to learn, this experience will be useful for them.

While others post a large piece of code, barely even formulating their question, just whining "my code doesnt work, i need to do The Stuff,m please help its urgent!!!1" and then, having conceived nothing, having not gotten the exact solution, provide the equally low level of understanding in their next question on the same matter. Then someone gets pissed off and posts the answer and they pass the work to you.

Since you clearly do have the way of observing this matter, you could easily distinguish people who learn from experience exchange from those who just "gets the answers". While the latter is a major hindrance for educational process, the former is the natural and valuable part of it.

In general, SO users, especially those who's not greedy and willing to get easy rep from the homework helps, follow the natural policy of not to give the answers to those who ask for a homework, but rather direct them in the ways they can learn what's needed. So your worries about abuse of SO for learning are a bit overestimated.

About policies

The scheme was used by one of my teachers whom I think was the best one I ever had.

A written policy may include the requirement to cite all the external sources that helped people to solve the task, whether any sources is cited not influencing the overall mark the student receives. Aver them that looking in external sources, including social networks, is a natural part of the studying and is of countenance.

An unwritten policy is to determine whether the student has the understanding, but in no way should this be associated with the sources the student used--at least in what you tell them. But you'll know whom to look closer at since you read the SO homework requests. Well, that's teacher's stuff, you know it for sure.

Anyway, after some time you'll clearly distinguish students that do all on their own from slackers. Checking SO is just one way among all others.

share|improve this answer

Which of the following approaches to assignments would you use:

  • Do the assignment in class - In this case, while one can use SO, Google and other resources, the key factor is what is submitted and how well does the student understand what they are submitting. While it isn't practical to consider this, it may be reasonable to consider changing the assignment near the end to reveal one more question or something to answer given what was done that should be rather straightforward to answer before they are done with the assignment. So, a students writes the program to change temperatures from one scale to another and has to run various test cases to show the code works and does meet the requirements of the assignment. An additional question may be to break down various parts of the program, e.g. what is the input or output of the program. Time is a key factor when it comes to doing assignments this way and can work for introductory classes to my mind.

  • Do the assignment on your own - Now this can be trickier as the student can use whatever they want. The key is to evaluate if what they submit makes sense and possibly do they do little things to show that, "Yes, I do get the point of this assignment and here it is in my own words," as to borrow the same example as above, while one can probably find examples of this program, wrapping that program is likely much more important to my mind. Why is this program the right one? Do you show me in a simple manner that this does do the right thing in each case of input? Have you considered various error cases,e.g. someone wants to convert X in a literal sense, the input is the letter X, that should be handled somehow. This is what I'd expect in upper year courses.

I'd think the main concern is Plagiarism or students being able to repeat what they read somewhere without understanding its meaning, which is why how the answer is communicated is where I'd focus my attention and possibly consider giving a follow-up to the assignment to see if things have stuck or not, but that is just a quarter-baked idea to my mind.

share|improve this answer

As someone who's both a SO-participant and a (former) TA, I have experience here...

If someone is plz send meh teh codes, I will categorically deny their request, possibly with prejudice, depending on how begging they are.

If someone is up front with the homework question and its a reasonable question that does not request the specific answer, I am likely to give them help.

If someone is careful enough to request only the help that they need, it is indistinguishable from the rest of the questions and does not particularly matter.

share|improve this answer

At the end of the day I don't see prowling SO for people asking about your assignment helping. The students who legitimately know about SO will be using it for legitimate guidance and not just to have the work done for them. Those that are looking for someone else to do their homework are going to use whatever site Google tells them to - are you going to police them all?

And when it comes to comp-sci assignments, what about the students who just ask/pay/"bribe" the smart students to write the assignment for them (or just copy or steal it the other students work outright)? I've found that the big difference in skill creates a situation where assignments are embarassingly easy for the smart students, removing the normal barrier of it being a lot of extra work to do someone elses assignment.

If you really feel that the comp-sci equilivent of plagiarism needs to be stopped at the level you are grading, the assignment and grading needs to be structured around that. Either do the assignment entirely in class, or force the student to be able to talk about what they did and why - it becomes really obvious which students did their assignments and which ones just copied.

One on one grading is unfortunately not very practical in a university environment except for term assignments and the like. What can be practical is oral presentations - students submit code, but must also give a 5 minute presentation in front of the class and answer 1 or 2 questions (this can also help the student learn from each other, both from mistakes and from insights)

share|improve this answer

I would say the important things are that they learn the material and that they learn how to learn. Asking for and receiving an answer that you regurgitate without thought is not learning and I wouldn't encourage that.

My feeling is to grade the homework, but give it a low overall impact on the actual course grade. You want to encourage them to do the homework because it is in doing that we learn best, so you make it count. You might also want to make it a requirement that to pass the course you must turn in at least 75% (or 80% or 90%) of the homework with a passing grade to receive a passing mark in the course.

Then, make your tests such that you actually have to know the material to pass the test. Ideally, you'd make it such that the student who does the homework will do as well on the test as they have on the homework, but a student who has the homework done for them will fail the test. Use the test scores (and projects, where you can more closely observe whether the work is the student's) as the primary course grade components.

Emphasize that this is how the grading will work. Encourage collaborative thought on the homework, but don't allow people to turn in exactly the same work if possible. Working together is one way that we learn, but discourage them from simply co-opting someone else's work. Warn them that while they might be able to fool you and turn in someone else's homework, they are only harming themselves when it comes to their overall grade since they won't be learning the material well enough that way to pass the exams.

I'd also pass on the advice that while the grade may seem to be the most important issue in their minds, it's a short-term goal at best. The ultimate test of their educational experience is whether they have learned the fundamentals of their craft/science and whether they have learned how to extend and apply them to future problems. That's the key to whether they will be successful in their career or simply turn into another drone copying code off the net without understanding it.

share|improve this answer
    
Your answer got me thinking it'd be interesting to grade the homework based on a Q&A session over it that they're required to schedule during any of my 20 lab hours/week. –  Sam Harwell Sep 17 '09 at 21:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .