# Semester Schedule

*Schedule is subject to change, but if changes are made, students will be notified.*	

## Assignment Due Dates

**Pre-Class Assignments:** Always due by 11:59pm the night before each class session unless otherwise stated.\
**In-Class Assignments:** Always due by 12:00pm (noon) immediately after each class session.

Below are a list of due dates for other assigmments, including Homework, the Code Portfolio, and the Semester Project. 

| Date     | Assignment    |
| ---------------------------: | :------- |
| May 22 | **Homework #1 due by 11:59pm** |
| May 30 | **Homework #2 due by 11:59pm** |
| June 6 | **Homework #3 due by 11:59pm** |
| June 6 | **Project Plan due by 11:59pm** |
| June 15 | **Homework #4 due by 11:59pm** |
| June 24 | **Final Project Notebook due by 11:59pm** |
| June 26 | **Homework #5 due by 11:59pm** |
| June 26 | **Peer Assessment due by 11:59pm** |

## Class Schedule
Below is information about what we'll be doing on each day of class. **Class attendance is mandatory unless otherwise stated.** If you are sick or otherwise unable to attend, please email jdelker@msu.edu **before class** to let me know.

| Date     | Day     | Topic(s)    |
| ---------------------------: | :-------: | :------- |
| May 11 | 01 | Class expectations, pre-course survey, sorting algorithm activity|
| May 12 | 02 | Introduction to Python, variables, order of magnitude estimates |
| May 13 | 03 | Lists and loops |
| May 14 | 04 | Data ethics, academic integrity, and good coding practices |
| May 18 | 05 | Conditional arguments, if statements, and introduction to functions |
| May 19 | 06 | Functions |
| May 20 | 07 | Generative AI Use, Review of Concepts  |
| May 21 | 08 | **Quiz 1**; Python modules (e.g. math and matplotlib)|
| May 25 | -- | NO CLASS |
| May 26 | 09 | NumPy basics (loading and plotting data), the correlation coefficient |
| May 27 | 10 | Basic statistics and introduction to Pandas |
| May 28 | 11 | Pandas |
| June 1 | 12 | Working with unprocessed data |
| June 2 | 13 | Finding resources online and tinkering with code |
| June 3 | 14 | Linear regression #1 (evaluating model fits) |
| June 4 | 15 | **Quiz 2**; Linear regression #2 (fitting curves to data) |
| June 8 | 16 | Solving ordinary differential equations numerically |
| June 9 | 17 | Solving ordinary differential equations with `solve_ivp()` |
| June 10 | 18 | Compartmental Modeling #1 |
| June 11 | -- | NO CLASS |
| June 15 | 19 | Compartmental Modeling #2 |
| June 16 | 20 | Using plots effectively (data visualization) |
| June 17 | 21 | 2D NumPy Arrays and Image Analysis |
| June 18 | 22 | **Quiz 3**; Agent-based modeling #1 |
| June 22 | 23 | Agent-based modeling #2 |
| June 23 | 24 | Data Ethics and Algorithmic Bias |
| June 24 | 25 | Structured Project Work Day |
| June 25 | 26 | **Quiz #4** and **Project Presentations** |
