A student writes (actually, I received three email messages asking me this question):

     Hi Dr. Patt,

     I have a question regarding your policy on programming assignments. I
     understand we are not allowed to ask anyone about his/her program,
     and are required to work on our own program. However, after the
     deadline to submit it, and before the next program assignment is
     posted online, may we compare programs/algorithms with other students?
     This might help us understand different ways to implement a certain
     problem, or just help us compare/contrast how a friend coded his/her
     program. Sometimes, this might help on the next programming
     assignment, but before the next assignment is
     posted, are we allowed to talk to other students about it
     (after submission deadline)?

     << name withheld to protect ... >>

Excellent question. Yes, after the deadline, and after you and some of your study group members have all turned in your respective programs, you are certainly free to compare your two programs/algorithms completely. I agree with you. Doing so is a good way to learn, and to better prepare the both of you for the next programming assignment.

However, if you have looked at the next programming assignment that is not yet due, you will have to be careful that what you are talking about is about the program you turned in and NOT about the one that you need to start working on.

If you are honest with yourself, you know the difference. I agree that there is a lot to learn from discussing what you did on the last assignment, and I very much encourage you to do that. But discussing the new assignment is cheating. If you are not sure what is and is not acceptable, then please ask me or a TA before you cross that line. Saying, "I thought it was okay" if we feel it crossed the line is not an acceptable response.

Yale Patt