Skip to main content

Assignments

TipLooking for due dates?

The Assignment Schedule lists every assignment and milestone in date order, marks which are individual and which are group work, and links to each brief.

Weekly assignments are scaffolded practice. Assignments 1-3 are foundational gates graded Complete/Incomplete. Assignments 4-9 support the term portfolio and use the best-4-of-6 grading policy described in the syllabus.

Assignment Map

Assignment Week Focus Grading mode Brief
Assignment 1 2 Modern workflows: Codespaces, Quarto, commit/sync Complete/Incomplete A1 brief
Assignment 2 3 R with AI: import, inspect, transform, audit Complete/Incomplete A2 brief
Assignment 3 4 Git collaboration: branches, pull requests, repo hygiene Complete/Incomplete A3 brief
Assignment 4 5 Polyglot awareness and R deepening Best 4 of 6 A4 brief
Assignment 5 6 Visualization and AI visual audit Best 4 of 6 A5 brief
Assignment 6 7 EDA, Table 1, planted-error audit Best 4 of 6 A6 brief
Assignment 7 8 Dashboard-style KT prototype Best 4 of 6 A7 brief
Assignment 8 9 Scientific communication and peer feedback Best 4 of 6 A8 brief
Assignment 9 10 Reproducible report, citations, publishing check Best 4 of 6 A9 brief

Grading Logic

Assignments 1-3 must be completed to pass the course. They are not numerically weighted, but they establish the workflow students need for every later assignment.

Assignments 4-9 are scored on Canvas. Only the best 4 of these 6 scores count toward the final grade, so students have flexibility while still practicing consistently after the foundation weeks.

Common Reproducibility Contract

Every assignment must:

  • run or render in GitHub Codespaces;
  • use relative paths rather than machine-specific paths;
  • keep source files and every explicitly required rendered output in the requested submission folder and commit both;
  • commit and sync the final work before submitting the repository link on Canvas;
  • document packages or dependencies when adding anything beyond the course defaults.

Do not add global *.html or *.pdf rules to the course workspace .gitignore. Use the assessment’s submission list as the authority: a listed render is committed; an unlisted practice render does not become a deliverable.

How To Read Submission Lists

Assignment and milestone pages use these bracketed tags. Anything without a tag is required.

  • [required] — must be submitted; graded.
  • [optional — include only if relevant to your project] — never required; no penalty for skipping.
  • [if applicable — required only if your workflow creates this file] — submit it when your chosen pathway produces it.
  • [brief — 1-3 focused bullets or sentences are enough] — short is correct; do not pad.
  • [demo-only] — instructor demonstration material; not graded, and using the pathway for graded work needs instructor approval first.

Common AI-Use Expectation

AI may help students brainstorm, debug, translate, refactor, or improve wording. Students remain responsible for checking every code path, column name, statistic, citation, and interpretation. When AI is used, the submission must include an AI-use note explaining what the tool helped with, what changed, and how the result was verified.

The Official AI Documentation Rule

Two pieces work together, and only one is graded:

  1. ai-use-note.md is the graded artifact. Every assignment (A2 onward) and milestone submission includes one — even if you did not use AI (then it is a single sentence saying so).
  2. Inline # AI prompt: / # Verified: comments are required practice in AI-assisted code (taught in Weeks 3, 6, and 7). They are the working audit trail you keep while coding; graders read the note, not every comment — your note summarizes them.

ai-use-note.md Template

Copy this into your submission folder and fill it in:

# AI-Use Note

## Audit trail
<!-- Copy your "# AI prompt:" / "# Verified:" comment pairs here. -->

## What AI helped with
<!-- 1-3 sentences: which task, which tool. -->

## What I changed
<!-- 1-3 sentences: what you edited, fixed, or rejected. -->

## How I verified the result
<!-- 1-3 sentences: what you checked it against (data, docs, course notes). -->

If you did not use AI, the whole note is: AI was not used for this submission.

Filled Example

# AI-Use Note

## Audit trail
# AI prompt: ggplot2 bar chart of mean BMI by income group, with labels
# Verified: column names against names(nhanes); compared means with summary()

## What AI helped with
Copilot drafted the initial ggplot2 code for the income-group plot and
suggested axis label wording.

## What I changed
The draft used a column called "income" that does not exist; I replaced it
with IncomeGroup. I also removed a misleading y-axis limit it added.

## How I verified the result
I re-ran the summary statistics without the plot and checked that the bar
heights match the group means; I confirmed the caption says the result is
descriptive and unweighted.