Lab Policy

There will be a total of eight labs in CS 307. Labs will be administered through a combination of the course website (template retrevial) and Canvas (submission).

Policy

The labs will take various forms depending on the current course topics, but the expectation is that they will take the form of a Jupyter Notebook. You will be given a template notebook then asked to complete data analysis type tasks.

Because labs have a lesser effect on overall course grades that homework, no buffer points will be recorded. However, we will accept late submissions.

Late Submission Policy: A 10% penalty is applied for each date the lab is submitted late.

As an example, consider Lab 01 which is due on Thursday, September 7 at 11:59 PM. Suppose you submit Lab 01 at 3:00 PM on September 9. That is two days late, thus a late penatlty of \(2 \times 10\% = 20\%\) will be applied. That is, a 2 point reduction on a 10 points assignment. The percentage reduction is based on the total points, not points earned. You cannot score lower than 0 by submitting late.

Submission Process

After you complete the lab, do the following:

  1. Run the cell in the “For Staff Use Only” section to verify your work is correct.
  2. Clear all output.
  3. Restart the kernel.
  4. Run all cells.
  5. Render HTML.

Note that step 5 is render not export. To do so we will use Quarto CLI and the Quarto VSCode Extension. Installing these will allow you to render your Jupyter Notebook to a .html file using Quarto. This has a number of advantages over the use Jupyter export.

Following these steps will ensure that once you have submit, we will very, very likely be able to reproduce your work.

Then, to submit, head to the relevant lab on Canvas. You are required to submit two files:

  1. lab-xx.ipynb
  2. lab-xx.html

Here xx should be the two-digit lab number. For example with Lab 01 you will submit:

  1. lab-01.ipynb
  2. lab-01.html

Grading Rubric

Each lab will be worth a total of ten points. Those ten points break down as follows:

  • Correctness and Reporducibility [5 points]
    • Max points: 5
    • Possible points: 0, 1, 2, 3, 4, 5
    • Criteria: Does your code pass the asserts in the final cell? Can the grader re-run your code without error? If yes to both, full marks. If no to either, a score of less than 5 will be awarded. The more time the grader must spend to fix your code to make it run or produce the correct output, the lower the score.
  • Code Style [1 points]
    • Max points: 1
    • Possible points: 0, 0.5, 1
    • Criteria: Is your code well formatted and easy to read? Does it follow PEP 8? While we do not expect students to be code style experts, there are some very basics we would like you to follow:
      • No blank lines and the start or end of cells.
      • Spaces around binary operators, except for passing values to function parameters.
  • Document Style [1 points]
    • Max points: 1
    • Possible points: 0, 0.5, 1
    • Criteria: Is your document well-formatted? Is markdown used correctly? Does the markdown render as expected?
  • Visualizations [1 points]
    • Max points: 1
    • Possible points: 0, 0.5, 1
    • Criteria: Are you visualizations reasonably close to “publication” quality? At minimum every graphic should include:
      • A title that uses Title Case.
      • A manually labeled x-axis using Title Case and including units if necessary.
      • A manually labeled y-axis using Title Case and including units if necessary.
      • A legend if plot multiple categories of things.
  • Concept Usage [1 points]
    • Max points: 1
    • Possible points: 0, 0.5, 1
    • Criteria: Are course concepts used appropriately?
  • Coclusion [1 points]
    • Max points: 1
    • Possible points: 0, 0.5, 1
    • Criteria: Is a reasonable and practical conclusion stated?

For question with possible values of 0, 0.5, and 1, these correspond to:

  1. No issues
  2. Minor issues
  3. Major issues