In this class, you will be submitting jupyter notebooks as your solutions to the problem sets. Since many of you have not previously submitted code for a class, we will discuss requirements for your submissions. While these submission rules seem strict, standardization is a very useful habit to develop when coding and working with data. This is especially true when you’re collaborating with other people. We will deduct marks if these rules are not followed.
You are strongly recommended to work on the problem sets in groups of two. Group members should work on the problems together or work on them individually and discuss after the fact. The final submission should list both group members at the top, followed by a line outlining the contribution of each individual member to the final product. Groups should not split the problems up so that each person is responsible for only a portion of the questions. We obviously cannot monitor this, but doing only half of each problem set will be detrimental to your learning. Since you cannot rely on your group during the exams or at a future job, you have many incentives to learn all of the material. Even if you’re submitting the exact same code, both students must submit the assignment on canvas.
All of the code that you submit should be written by members of your group. You can do some copying and pasting from the course materials when relevant, but you are cheating yourself and your classmates if you copy code from other sources. That being said, don’t be paranoid. Sometimes, very simple code written by two different people is going to look similar. Just do honest work and you have nothing to worry about.
Read each question carefully and make sure you sufficiently address everything being asked. Some things that you will need to address might not be asked as a question. In the past, students have lost many points simply because they did not address all aspects of a problem. If you read the problem fully and use some common sense, what is expected will be clear. If it is not, ask the TA or Professor.
When we explicitly ask a question or for a piece of information that requires words, formulate your response in a markdown cell. Do not answer it as a comment in your code, with a print statement, etc. Markdown cells exist for a reason. If the question asks simply for a number or a certain result that you obtained via your code, make sure the number is displayed when the code is executed. The easiest way to do this is with the print() function.
The title of your jupyter notebook for a given submission should reflect the surnames of those who worked on the notebook and the problem set being answered. For instance, if Jane Doe and and Juan Perez solve problem set 2 together, their jupyter notebook should be titled something similar to ”Doe Perez PS2.ipynb”
Make sure your notebook is organized by question in the order the questions are asked. Ideally, use markdown cells to delineate where the answer to each question begins. This is not strictly necessary, but some degree of organization and legibility is.
You must submit an executed jupyter notebook. This means all of the cells in the notebook have been run before saving the notebook. Assuming your code works, you can accomplish this by pressing run all and saving after your code has completed. An executed Jupyter notebook will display the output of the code below the cell containing the code. We will grade as if cells that have not been executed do not exist.