Open/Closed Project Policy
Guidelines for ALL ProjectsThere are a few simple rules that you should keep in mind for all of our coding assignments, regardless of whether they are "open" or "closed":
- Under no circumstances may you copy code from another student or from any other source.
- Under no circumstances should you be viewing source-code written by other students in the class.
- It is always OK to openly discuss course-wide policies on things like programming style, grading, submissions, etc.
- It is always OK to openly discuss the project specification. Be careful though -- here we are talking about WHAT the project description requires you to implement, not HOW the code will be written! On closed projects the "HOW" portion is off-limits for discussion (except for discussions with the instructor or TAs).
Closed ProjectsYou should treat a closed project as though it were a take-home exam. You may ask for assistance from your instructor or any of the TAs, but you are not to discuss the implementation (HOW the code is written) with anyone else. This includes your class-mates, friends, family, etc.
Open ProjectsAlthough you should always try to complete as much of an open project as you can on your own, you MAY discuss the implementation details (the "HOW") openly with anyone. However, you must write 100% of the code on your own without copying from any source. Looking directly at another student's source-code is forbidden, but on an open project you are free to discuss ideas on HOW the code is to be written.
Example ScenariosBelow are some "example scenarios" to help you understand what is okay and what is not. Imagine you are considering the following conversations with a classmate. The green checkmarks mean the conversation is OK, the red X's mean you would be violating the course policy -- these would be considered examples of academic dishonesty.
|Something you might say...||Open Project||Closed Project|
|"What does the project description mean by 'Use symbolic constants'?"|
|"Are we allowed to submit the project as many times as we want?"|
|"It says 'maintain a sorted list' -- how are we supposed to keep the list sorted?"|
|"I can't get my shape to rotate properly! Can you give me a hint on how you got that to work?"|
|"I've been working on this method for hours and I can't figure out what's wrong! Could you look at my code and help me out?"|
|"I can't figure this part out -- can I look at your code to see how you did it?"|
|"I wrote some useful tests for this project -- let me email them to you so you can use them to see if your code is working correctly."|