# Homework

You can find all the homework material on the [lmc-exercise Github repo](https://github.com/UW-CTRL/lmc-exercises).

This page will provide the specific information for each homeweork


## Submission instructions
You will submit your homework via Canvas.
For your homework submission, you should upload one pdf of your written responses and one pdf for each of the assigned code notebooks. See [this doc](../logistics/notebooktopdf.md) on how to convert your notebook into a PDF.

| Homework     | Due Date           | Questions Link          |
|--------------|--------------------|------------------------|
| **Homework 1** | Friday Week 4      | [hw 01 problems](/homework/hw01.md)        |
| **Homework 2** | Friday Week 7     | [hw 02 problems](/homework/hw02.md)        |
| **Homework 3** | Friday Week 10     | [hw 03 problems](/homework/hw03.md)        |


*Note:* The plan is to keep homework 3 short, since the goal is for you to focus on the course project. 

# Self-assessment

After the homework deadline, we will provide the solutions. You will then have **one week** to submit your self-assessment. At that time, the teaching team will announce which problems (possibly all or just a subset) you are required to assess.

The self-assessment is designed to help you reflect on your understanding, identify areas for improvement, and practice introspection regarding your learning process.

In your self-assessment, you will (1) assign grades to your own submission, which will count for a portion of the homework grade (10%), and (2) provide explanations for any exercises you answered incorrectly or only partially, or if correct, provide insights into your response. The explanations you write will be graded by the teaching team and will contribute to your self-assessment grade (5%). More details below.

## Submission Instructions

1. Open your original homework submission in Canvas.
2. Use Canvas's built-in annotation tools to add your self-assessment comments and explanations directly on your submission.
3. Once you have finished annotating, download the annotated PDF. Look for the download button within the PDF viewer in Canvas.
4. Upload your annotated PDF to the homework self-assessment assignment. This confirms that you have completed the self-assessment on time.
5. In the comment box, provide your self-grade values.

**Important:** Use only the annotation tools provided within Canvas. Annotations made with other software may not display correctly or may be inaccessible to the teaching team. Annotating directly on your original homework submission in Canvas ensures your annotations remain visible in the event that the teaching team has issues viewing your annotations in the self-assessment submission.


## Self-grade
### Written Response Problems

Written problems will be graded on a 0–2 point scale:

- **0 points:** Minimal effort or not attempted.
- **1 point:** Honest attempt, but response is incomplete or contains conceptual errors or missing components.
- **2 points:** Complete and correct solution demonstrating a clear understanding.

### Coding Problems

Coding assignments (notebooks) are graded on a 0–3 point scale:

- **0 points:** Not attempted, or only a minimal attempt was made.
- **1 point:** Submission shows substantial effort but is mostly incomplete or has significant conceptual mistakes.
- **2 points:** Work is mostly complete and largely correct, though minor mistakes or small gaps remain (e.g., minor calculation or conceptual errors).
- **3 points:** Solution is complete and correct; the notebook runs as expected and produces correct outputs. If there are any deviations (for example, due to random seeds), a clear explanation should be provided.

If you earn partial credit on any problem, you have the opportunity to provide an explanation for your mistake and describe how you would correct it. If your explanation accurately diagnoses the error and proposes the right correction, you may be eligible for an additional point on that problem.  
**Important:** You should not assign yourself any extra points—these will be awarded at the discretion of the teaching team after reviewing your explanations.

## Explanations
**For any problems that are not fully correct**, you should annotate your work with clear explanations of the error—whether it was a mistake in calculation or a gap in conceptual understanding—and describe how you would correct it.

**For any problems you answered correctly**, include a brief reflection on how you arrived at your solution and any insights gained during the process. This could involve describing an initial difficulty you encountered and how you overcame it (e.g., recalling or learning about a specific concept or property), discovering a helpful new function, or finding a more effective way to approach the problem. Aim to share what you learned or how your understanding deepened as you worked through the problem.

## Important Notes to Uphold Integrity in This Process
- If you did not attempt a problem, you will receive 0 points and cannot earn extra points by providing a post-hoc explanation.
- If you misgrade yourself (i.e., assign full credit to an incomplete or incorrect response, or your explanation itself is incomplete or incorrect), you may receive only 1 or even 0 points at the discretion of the teaching team. Simply stating "the solution makes sense" is insufficient justification.


