All students should read the MSU Student Conduct Code.

No Cheating

The work you submit to be graded must be your own. Unless it is expressly stated otherwise, out of class assignments (labs, projects, homework) should be done individually. Assignments can be discussed with other students, TAs, or instructors at a high level (verbally, whiteboard or paper, examples), but sharing and reusing written code or finished answers is prohibited. Exams and quizzes must be done individually with no sharing or discussion of solutions.

Course Materials and Copyright

The syllabus, course lectures and presentations, and any course materialsprovided throughout this term are protected by U.S. copyright laws.  Students enrolled in the course may use them for their own research and educational purposes.  However, reproducing, selling or otherwise distributing thesematerialswithout written permission of the copyright owner is expressly prohibited, including providing materials to commercial platforms such as Chegg or CourseHero, or A.I. services like ChatGPT. I  Doing so may constitute a violation of U.S. copyright law as well as MSU’s Code of Student Conduct.

No part of any assignment may be reproduced, distributed, or transmitted in any form without prior written permission of the instructor. This includes submission to online chatbots, A.I. resources, or online  services (e.g. Chegg, ChatGPT, etc.) If content is found to be in violation of this policy, those responsible for submitting the content will be held in violation of the Student Code of Conduct.

Programming Tools

Debugging


A debugger is a software tool that analyses computer code, and helps the programer to spot errors. This is typically done by tracking the variables that can change during the program's execution, and looking for unexpected values. It is not cheating to use a debugger when you program -- it's encouraged! The instructor and TAs are not debuggers; they can help you implement a correct solution by considering the problem, but they will not help to rewrite existing code that is doing something other than what you wish it would do.

For the purposes of an introductory programming course, a good online tool for debugging is https://pythontutor.com/. More sophisticated debuggers are built into IDE's like Eclipse, PyCharm, IntelliJ, etc.

ChatGPT (and other generative A.I. software)


Homework copyright rules and the Student Code of Conduct forbid the use tools like ChatGPT to do your homework for you. However, such tools are excellent for debugging If used properly and fairly. If you choose to use ChatGPT as a debugging tool, be careful to respect the Student Code of Conduct. Submit your own code for analysis, not a request to generate code for you. Never turn in code that you did not write and do not understand as a solution to a homework problem, thereby claiming the solution as your own -- that is a violation of the Student Code of Conduct, and when detected will automatically result in a 0 for the assignment and a report to the Dean of Students. Repeat violations will result in failure of the course and possible expulsion from the university.

Collaboration

You MAY

  • Discuss homework at a high level with TAs, tutors, and other students in the class. A high level is an abstract and natural language discussion of a solution. A low level solution is actual code -- you should not share verbatim  code.
  • Work on code with the other people on your team if teams are allowed. Each assignment will specify the maximum number of people per team.
  • Share ideas with people in other teams and help other teams troubleshoot problems, at a high level.

You may NOT

  • Share code you write with other teams.
  • Submit code that someone on your team did not write.
  • Modify another team's solution and claim it as your own.

Failure to abide by these rules will result in an "F" for the course and being reported to the Dean of Students.

Lateness

Unless explicitly stated otherwise in the course syllabus, homework will not be accepted for credit at any time after the due date. Late assignment will have a grade of 0. Assignments may be submitted early, and any subsequent submissions will replace the prior ones.

Exams

Please check the syllabus early, and make certain that you will be able to take it at the required time. As a professional student, the only conflict with a priority matching a scheduled exam is another scheduled exam in another class.

Medical and Other Emergencies

If there is a medical emergency, tragedy or sudden hardship, you will need to provide written confirmation go through the Dean of Students in order to have consideration for an exception to any grading schedules.

For tramatic events that impact your life on a large scale, contact the Dean of Students -- they are equiped to handle issues like that, and can assist in reaching out to all of your professors on extenuating arrangements.