?
Homeworks must be done individually: each student must hand in their own answers. In addition, each student must write their own code in the programming part of the assignment. It is acceptable, however, for students to collaborate in figuring out answers and helping each other solve the problems.
List all collaborators and external resources: list every person with whom you discussed any problem in any depth, and every reference (outside of our course slides, lectures, and textbook) that you used. This is not a license to get around turning in your own work, but is in your best interest to avoid us suspecting cheating. Collaborating with others and not acknowledging it is considered plagiarism.
You can spend an arbitrary amount of time discussing and working out a solution with your listed collaborators, but *do not take notes, photos, or other artifacts of your collaboration*. Erase the board you were working on, and once you're alone, write up your answers yourself. If you ever find yourself using copy/paste, you have crossed the line. This means that word-for-word phrases shared between homeworks will leave us with a high degree of suspicion that the whiteboard policy was not followed, and similarly high degrees of similarity between programming assignments. We do scan for the latter programmatically, and the former manually.
Appropriate use of ChatGPT (or any other LLMs): ChatGPT, like a personalized tutor, is a valuable resource to learn the material of this course. You are strongly encouraged to use it to clarify any questions you may have or learn about related concepts discussed in class. It is also very helpful for unfamiliar syntax--how do I swap two dimensions of this pyTorch tensor? However, appropriate use of ChatGPT is no different than how you should treat your fellow students under the collaboration policy. You can use ChatGPT to help work through problems, but you cannot ask it to do the problem for you. You can ask how to accomplish some coding operation (e.g., syntax) but you cannot ask it to implement Lasso and copy and paste the solution. Emphasizing the guidance of above: if you ever find yourself copy-and-pasting anything from anywhere, you have very likely violated the collaboration policy.
Appropriate use of Github Co-pilot (or any other AI code assistant): Coding assistants like Co-Pilot can save vast amounts of time by automatically writing code based on comments and even predicting what you will write next. In theory, these tools can be used within the collaboration policy, but it would be so tempting to violate the policy by "accepting" large chunks of code relevant to machine learning (i.e., not just syntax, and in violation of the policy) we strongly recommend you do not use them.
Zero-tolerance policy: By turning in the first assignment, you acknowledge that you have read and understood the policy. Any questions about the policy should be raised at least 24 hours before the assignment is due. There are no warnings or second chances. If we suspect you have violated the collaboration policies laid out above, we will report it to the college of engineering who will complete an investigation.
All requests for regrading should be submitted to Gradescope directly. Office hours and in person discussions are limited solely to asking knowledge related questions, not grade related questions. If you feel that we have made an error in grading your homework, please let us know with a written explanation, and we will consider the request. Please note that regrading of a homework means the entire assignment may be regraded which may cause your grade on the entire homework set to go up or down. Regrade requests will be accepted starting 24 hours after grades are released and must be submtted within the following 7 days (24*7 hours).
Each homework assignment will be submitted as a single PDF to Gradescope. When submitting to gradescope, please link each question from the homework in gradescope to the location of its answer in your homework PDF. Failure to do so may result in point deductions. Instructions. We expect all assignments to be typeset (i.e., no photos or scans of written work). This can be done in an editor like Microsoft Word or Latex (highly recommended). See the Textbooks Tab above for guides to using Latex.
We will use Python for the programming portions of the assignments. Python is a powerful general-purpose programming language with excellent libraries for statistical computations and visualizations. During the first week of the quarter, we will provide a tutorial to jump-start your transition into working in Python.
Here are some Python related resources:We strongly encourage you to use Python 3 (versus Python 2) so that if code is provided on an assignment there are no compatibility issues. This also helps with debugging if everyone is on the same version.
Jupyter notebooks are a convenient way to write Python programs, especially for machine learning applications where you are actively exploring data. Therefore, you may complete your assignment using Jupyter notebooks but before you turn in your assignment, be sure to run all code blocks to make sure the current state reflects the code, if run. To be safe, dump the kernel to drop state and then rerun your code. If you use Jupyter notbooks, export your code into a *.py file before submitting it (some editors call this "Export Notebook to Executable Script").