Lecture notes for the Introduction to Computer Science I by James Tam Return to the course web page

 

CPSC 231: Academic Misconduct (Cheating)

Assignments must reflect individual work.  Each student must demonstrate that he or she can complete the assignment on their own so you cannot copy the work of other students nor can students work in groups.  Any suspected cases of cheating must be forwarded by me onto the Department Head, which may be passed on further to the Office of the Dean of Science and the Department of Student Services and result in penalties such as failing the course or even expulsion from the university.

A few questions and answers to help clarify things:

Q: What exactly constitutes cheating in this course? 
A: It is probably similar to what you have seen in other courses.  Cheating has occurred if you hand in someone else's work as if it were your own (without crediting the other person).   Furthermore if a student knowingly provides his or her assignment to another student  then both students are guilty of academic misconduct (the first student helped the second student to cheat).


Q: What happens if you include someone else's code and you do credit the other person properly e.g., You use the code from the text book and you include the following citation:  The code listed below displays the list of email contacts for the user and it was taken from the book "Pascal Programming and Problem Solving" by Leestma and Nyhoff
A: This will not constitute cheating but since someone else did the work for that section of your assignment you won't get credit for it e.g., if you were supposed to get a letter grade for writing the code to display a list but instead you copied someone else's code (and credited this person) rather than writing it yourself then you wouldn't get credit for the work.
 

Q: What is the difference between getting help from someone vs. cheating?
A: If you describe the process to someone using plain English then you should be okay because then the person still must figure out how to implement your generic ideas in Pascal (both of you are handing in separate submissions).   If you simply give your code to friend then this is not okay, even if your friend says that he or she will only use your solution as a 'guide' in order figure out the answer and 'promises' that he or she won't just copy it into their own program. 

Okay Not okay
To display the contents of a two-dimensional array onscreen you will need two nested loops and two loop controls: one to keep track of the row that is currently being displayed and one to track the current column value.   Start by initializing the outer loop to the value of the lowest row value and the inner loop to the value of the lowest column value and display that array element.  The inner loop will travel along the row from the lowest column value to the highest column value.  After the last column has been reached, the outer loop value increases by one which allows the inner loop to traverse the second  row.  The outer loop will repeat until all the rows have been traversed.   for r := 1 to 10 do
begin
   for c := 1 to 10 do
   begin
      write (arr[r][c]);
   end;
   writeln;
end;
 

Q: The code that you gave us in lecture or tutorial would be really handy for our assignments, are we allowed to use it and get credit for the work?
A: Yes, unless you are told otherwise you can make use of my sample code.  Just make sure that you indicate where you got it from in your program documentation.  Don't just include it in your code without citing the source (in this case it's me) because you will be claiming that this work is yours when it isn't so you will be guilty of academic misconduct.

This list of questions only includes things that I thought up as I writing the assignment specifications, if you ever unsure if a particular situation constitutes cheating or not then it is up to you to ask me.