A good student read my message on cheating, and is concerned about what level of help is permissable. So, he sent me email:

     Now if someone asks me how to implement a command in assembly,
     and it's obviously for the program, should I just tell them
     to look in the book?

     << name withheld to protect the potential helper >>

So, I responded:

     Tell me more.  What exactly do you mean by "how to implement a command"?
     Maybe yes, maybe no.  In fact, your answer to my question may help us to
     tell students what is not acceptable.  ...although other students tell
     me all the time that students know when they are crossing the line.

     In any case, let's start with your answer to my question, and see
     where it takes us.

     Thank you.  I sincerely appreciate the query.

     Yale Patt

His response:

Well like if you use an offset or a label on an LDI

     << name withheld >>

So, my response to him: I absolutely have no problem having you explain how a command works in the above context. That is: what the LDI does, how the offsets work with the assembly language, how labels relate to LD, LDI, ST, STI, etc. In fact, if the answer to a question is in the book, I have no problem having you explain what is in the book to the student asking you for help. But if the answer to the question is not in the book, then you should ask yourself whether your answer is about the LC-3 or the LC-3 Assembly Language or are you really directing the student toward the solution to the programming assignment.

I think the bottom line has to be:

1. You are not permitted to give help on the programming assignment.

2. In the context of the above paragraph, if a student asks you a question and you don't know whether it crosses the line, then you should ask one of the TAs BEFORE giving help, or direct the student to one of the TAs.

Yale Patt