Skip to content

Homework 1 — GitHub Setup & First Report

Prerequisite Make sure you have registered on Moodle for this course. If you are not registered, we cannot grade your work and give you access to your repo.

Overview

In HW1 you will:

  • Use your pre-created GitHub repository username-hw-1.
  • Add a short, readable report (Markdown README.md or Jupyter notebook).
  • Commit any code and data instructions needed to reproduce your output.
  • Submit via a GitHub Issue.
  • Complete one peer review.

This establishes the workflow used for all later homeworks.

Learning Goals

  • Get comfortable with the course GitHub submission workflow.
  • Write a clear, concise, markdown-style report.
  • Make results reproducible (code + instructions).
  • Practice constructive peer review.

Tasks

  1. Prepare the repository

    • Accept access to your repo username-hw-1.

    • Clone it locally.

    • Create a minimal structure:

      username-hw-1/
      ├─ HW1/
      │  ├─ README.md  (or HW1.ipynb)
      │  ├─ src/       (your code, if any)
      │  └─ data/      (optional; or instructions to obtain data)
      ├─ environment/  (optional: env files, e.g. requirements.txt or environment.yml)
      └─ README.md     (optional repo-level notes)
  2. Write the report (Markdown or Notebook) Include, at minimum:

    • Title: “Homework 1”
    • About you (2–4 sentences): academic/programme context only (no personal contact details).
    • Prior experience with data science (3–6 sentences): tools/languages you’ve used, courses, interests.
    • One simple figure or table (optional): e.g., a tiny demo using any dataset (can be built-in, e.g., seaborn.load_dataset("tips")), purely to test your toolchain.
    • Reproducibility note: brief instructions to run your code (e.g., “pip install -r requirements.txt then open HW1/HW1.ipynb”).
  3. Make it reproducible

    • Commit the code that produces your outputs (plots/tables).
    • If you use any data, include download instructions or a small sample; do not commit large files.
    • Provide minimal environment instructions (requirements file or a short note).
  4. Submit

    • Push your work.

    • Open an Issue in the repo titled HW1 – Submission. (Optional) add the label ready-for-grading.

    • In the Issue body, include:

      • A link to your report file.
      • A 2–3 line summary of what’s included.
      • Any notes for the grader (e.g., where to find code).

Allowed Tools

Use any tools you like (Python/R/SQL/editors). The only requirements are:

  • The report is readable on GitHub (README.md or .ipynb).
  • All code used to generate outputs is included so results are reproducible.

Peer Review (after the deadline)

Review your assigned partner’s repository and comment under their HW1 – Submission Issue.

Checklist (copy into your comment):

  • Coverage: Are all HW1 tasks present? (repo structure, report, submission issue)
  • Reproducibility: Is it clear how to run the code and reproduce outputs?
  • Clarity: Is the report concise and readable on GitHub?
  • One highlight: Something done especially well.
  • One suggestion: A specific, actionable improvement.

Grading

Per-homework grading: U (Fail) / G (Pass) / VG (Pass with Distinction) based on:

  • Completeness: Required items present (repo, report, code, submission issue).
  • Clarity: Report is readable, well-structured, concise.
  • Correctness/Reproducibility: Code runs or is clearly explained; outputs are reproducible with provided notes.

Notes

  • Late submissions require an extra task and are graded Pass/Fail only (no VG).
  • Keep personal information minimal and professional.

Submission Summary (quick reference)

  • Repo: username-hw-1
  • Report: HW1/README.md or HW1/HW1.ipynb
  • Issue: HW1 – Submission (link to report; optional label ready-for-grading)
  • Deadline: Monday 23:59 (Europe/Stockholm)