-
Notifications
You must be signed in to change notification settings - Fork 2
/
syllabus.qmd
414 lines (302 loc) · 28.8 KB
/
syllabus.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
---
tbl-cap-location: margin
title: Syllabus
callout-icon: false
---
# CSCI 0451: Machine Learning
This is an advanced elective on the topic of algorithms that learn patterns from data. Artificial intelligence, predictive analytics, computational science, pattern recognition, signal processing, and data science are all disciplines that draw heavily on techniques from machine learning.
# Learning Objectives
A learning objective is a primary goal for your learning by the end of the course. You're successful in CSCI 0451 when you achieve excellence against these learning objectives. We have six learning objectives in CSCI 0451.
<table>
<tr>
<td class="syllabus-description-learning-objective">
<b>Theory</b>
</td>
<td class="syllabus-description-table-entry">
You will describe the broad mathematical structure of modern machine learning algorithms, and the details of several simple examples.
</td>
</tr>
<tr>
<td class="syllabus-description-learning-objective">
<b>Implementation</b>
</td>
<td class="syllabus-description-table-entry">
You will implement classification, regression, and clustering algorithms in efficient, usable Python programs.
</td>
</tr>
<tr>
<td class="syllabus-description-learning-objective">
<b>Navigate</b>
</td>
<td class="syllabus-description-table-entry">
You will navigate the package ecosystem for machine learning in Python.
</td>
</tr>
<tr>
<td class="syllabus-description-learning-objective">
<b>Experiment</b>
</td>
<td class="syllabus-description-table-entry">
You will experiment with machine learning models, audit their performance, and communicate about your findings.
</td>
</tr>
<tr>
<td class="syllabus-description-learning-objective">
<b>Social Responsibility</b>
</td>
<td class="syllabus-description-table-entry">
You will interrogate sources of bias and harm in machine learning models, especially with regard to gender, race, and class.
</td>
</tr>
<tr>
<td class="syllabus-description-learning-objective">
<b>Project</b>
</td>
<td class="syllabus-description-table-entry">
You will complete a long-term project that involves significant implementation or experimentation with machine learning tools.
</td>
</tr>
</table>
# Readings
It is not necessary for you to purchase any books for this course. We will have regular readings from a few different texts, with the most frequent one being:
- [*A Course In Machine Learning*](http://ciml.info/) by Hal Daumé III.
The following resources cover similar topics to our core readings at a similar level. If something doesn't click for you in our core reading, you may want to check the treatment in one of these resources.
- [*Learning From Data*](https://openeclass.panteion.gr/modules/document/file.php/PMS152/LEARNING/Abu-Mostafa%20Yaser%20S.%2C%20Malik%20Magdon-Ismail%2C%20Hsuan-Tien%20Lin%20%282012%29%20--%20Learning%20From%20Data_%20A%20short%20course.pdf) by Yaser Abu-Mostafa, Malik Magdon-Ismail, and Hsuan-Tien Lin.
- [*The Hundred Page Machine Learning Book*](http://ema.cri-info.cm/wp-content/uploads/2019/07/2019BurkovTheHundred-pageMachineLearning.pdf) by Andriy Burkov.
I will also sometimes draw readings from the following sources:
- [*Patterns, Predictions, and Actions: A Story About Machine Learning*](https://arxiv.org/abs/2102.05242) by Mortiz Hardt and Benjamin Recht.
- [*Probabilistic Machine Learning: An Introduction*](https://probml.github.io/pml-book/book1.html) by Kevin Patrick Murphy.
- [*Fairness and Machine Learning*](https://fairmlbook.org/pdf/fairmlbook.pdf) by Solon Barocas, Moritz Hardt, and Arvind Narayanan.
The following books are relatively advanced. I'll often suggest additional readings from these books for students who are interested in diving deeper, especially into theoretical considerations.
- [*Pattern Recognition and Machine Learning*](https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf) by Christopher Bishop. Recommended for students who have taken a course in probability. [In case you're wondering, I primarily learned out of Bishop and Hastie et al.]{.aside}
- [*The Elements of Statistical Learning: Data Mining, Inference, and Prediction*](https://hastie.su.domains/Papers/ESLII.pdf) by Trevor Hastie, Rob Tibshirani, and Jerome Friedman. A more statistical perspective on many of the same problems that we will study.
- [*Mathematics for Machine Learning*](https://mml-book.github.io/book/mml-book.pdf) by Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong
## Social Annotation
A an extremely useful way for you to engage with the readings is to make comments, ask questions, and answer questions about them ***as you are reading***. For this reason, I'll be providing most links to readings through [Hypothes.is](https://web.hypothes.is/). You'll be able to make marginal comments and view the marginal comments of others. I'll also regularly be checking on your annotations to see what questions might have come up with the readings.
# Logistics and Key Policies
<table>
<tr>
<td class="syllabus-description-table-header">
<b>Lecture</b>
</td>
<td class="syllabus-description-table-entry">
Mondays and Wednesdays
<br>
75 Shannon Street, Room 203
<br>
Section A: 12:45pm-2:00pm
<br>
Section B: 2:15pm-3:30pm
</td>
</tr>
<tr>
<td class="syllabus-description-table-header">
<b>Instructor</b>
</td>
<td class="syllabus-description-table-entry">
Dr. [Phil Chodrow](www.philchodrow.com) <br>
<table style="margin-bottom:0;">
<tr>
<td>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-geo-alt-fill" viewBox="0 0 16 16"><path d="M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"/></svg>
</td>
<td>
75 Shannon Street, Room 218
</td>
</tr>
<tr>
<td>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-envelope-fill" viewBox="0 0 16 16"><path d="M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757Zm3.436-.586L16 11.801V4.697l-5.803 3.546Z"/></svg>
</td>
<td>
[[email protected]](mailto:[email protected]), though please see email policy below.
</td>
</tr>
<tr>
<td>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clock-fill" viewBox="0 0 16 16"><path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z"/></svg>
</td>
<td>
Student Hours
<ul style="margin-bottom:0;">
<li> Mondays, 3:30pm-4:30pm </li>
<li> Thursdays, 2:00pm-4:00pm </li>
<li> Fridays, 2:00pm-3:00pm </li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="syllabus-description-table-header">
<b> Important Policies </b>
</td>
<td class="syllabus-description-table-entry">
I encourage you to call me Phil or Prof. Phil. "Professor Chodrow" is fine if that's what's most comfortable for you.
<br> <br>
You need a laptop and an internet connection for this course, but you don't need to buy any books or other supplies.
<br> <br>
Generally speaking, you should only email me if you need to talk about something personal or sensitive. We'll use Slack for all standard course communications.
<br> <br>
Student Hours are *your time* to come chat with me about course content. **I want to see you in Student Hours**.
<br> <br>
I expect you to [prepare to ask for help](help.qmd) when approaching me and your fellow students for help on course content.
<br> <br>
[Masks are required](#masks) during class time and Student Hours.
</td>
</tr>
</table>
# Rough Schedule Of Topics
See the [complete schedule](schedule.qmd) for more details! I am still working on populating this schedule, and will try to have it set up at least two weeks in advance at all times.
- **Week 1**: Welcome! Classification, auditing. Data science techniques in Python. Introduction to algorithmic bias.
- **Week 2**: Models, model families, and algorithms. More on classification. Logistic regression by hand. Optimization.
- **Week 3**: More on optimization. Overfitting, feature selection, model choice. Decision regions.
- **Week 4**: Regression. Linear least-squares regression by hand, several ways. Feature engineering. Bias in a medical recommender system.
- **Week 5**: Flex, review of fundamentals.
- **Week 6**: Spring Break!
- **Week 7**: Formal characterizations of bias and fairness in machine learning; limitations.
- **Week 8**: Unsupervised problems: clustering and dimensionality reduction.
- **Week 9**: Introduction to deep learning. Backpropagation. Classification of tabular data.
- **Week 10**: Deep architectures. Image classification. Text classification and word embeddings.
- **Week 11**: Deep generative models. Interpretability and explainability.
- **Week 12**: Flex, topics by request.
- **Week 13**: Project presentations.
## What Will Class Time Look Like?
My plan is for most class periods to look like a "lecture sandwich:"
- 10 to 15 minutes of a **warmup activity** that addresses the recent lectures and readings.
- 40-50 minutes of **lecture**, punctuated by short activities and breaks.
- 10-15 minutes of a **closing activity** that helps us get solid with the day's content.
### The Warmup Activity
On most days, we'll have a warmup activity. The warmup activity will usually ask you to engage with the readings and complete a small amount of work **ahead of class time**. This could be a short piece of writing, a math problem, or an implementation of a Python function.
Each day, a few students will be randomly selected to present their work to a small group of peers. It's ok to ask for help or even pass if you're not feeling confident in your solution, but you should plan to at least make a good attempt at the warmup before every class period. Your participation on the warmup activity is an important aspect of presence in the course, and I'll ask you to reflect on it when proposing your course grade.
# Demonstrating Your Learning
## Collaborative Grading
This course is *collaboratively graded*. [You may have also heard the term *ungrading* to refer to a similar approach.]{.aside} In a nutshell, this means:
- There are no points or scores attached to any assignment. When you turn in assignments, you'll get feedback on how to revise/resubmit, improve or otherwise proceed in the course, but you won't get "graded."
- There also aren't any firm due dates, although I will give you suggestions on how to maintain a good pace. [All work you wish to be considered toward your achievement in the course needs to be submitted by the end of Finals Week.]{.aside}
- Periodically throughout the semester, you will complete reflection activities to help you take stock of your learning and achievement in the course. In your final activity at the end of the semester, you'll make a proposal for your letter grade in the course, and support it with evidence of your learning. You and I will then meet to discuss how the course went for you, using your reflection activity and proposal as a starting point. In this conversation, you and I will agree on your final letter grade for the course, which I will then submit to the registrar.
Reflection activities:
- [Reflective goal-setting](assignments/process/goal-setting.ipynb).
- [Mid-course reflection](assignments/process/mid-course.ipynb).
- [End-of-course reflection and grade proposal](assignments/process/end-of-course.ipynb).
## Why Collaborative Grading?
Because grading is broken! Traditional points-based grading is ineffective at both (a) accurately measuring student learning and (b) motivating students to learn. I broadly agree with Jesse Stommel when he [writes](https://www.jessestommel.com/why-i-dont-grade/):
> Agency, dialogue, self-actualization, and social justice are not possible in a hierarchical system that pits teachers against students and encourages competition by ranking students against one another. Grades (and institutional rankings) are currency for a capitalist system that reduces teaching and learning to a mere transaction. Grading is a massive co-ordinated effort to take humans out of the educational process.
I'd prefer to just not give you grades at all. But, Middlebury says I have to, and so my aim is to instead put the process of grading under your control to the greatest extent that I reasonably can.
## Assignments
There are three kinds of assessed assignments in this course, plus a mysterious "Other" category.
<table>
<tr>
<td class="syllabus-description-table-header">
<b>Blog Posts</b>
</td>
<td class="syllabus-description-table-entry">
Blog posts are the primary way in which you will demonstrate your understanding of course content. Blog posts usually involve: written explanation of some relevant theory; implementation one or more algorithms according to written specifications; performing experiments to test the performance of the implementations; and communicating findings in a professional way. Some blog posts will be more like short essays than problem sets or programming assignments. Your blog posts will be hosted on your own public website (which you will create). This website will serve as your **portfolio** for the course.
</td>
</tr>
<tr>
<td class="syllabus-description-table-header">
<b>Project</b>
</td>
<td class="syllabus-description-table-entry">
Your project is a large-scale undertaking that you will design and complete, usually in a group of 2 or 3, over the course of the semester. Your project should usually involve some combination of data collection, implementation, research of related work, experimentation, deployment, or theory work (but not necessarily all components). Projects are expected to demonstrate deep engagement with both the course content and the problem selected.
</td>
</tr>
<tr>
<td class="syllabus-description-table-header">
<b>Process Reflections</b>
</td>
<td class="syllabus-description-table-entry">
At the beginning of the course, you'll write a process reflection describing your aspirations for the course---what you want to learn and achieve, and how you'd like to be assessed against your goals.
We'll have a second process reflection mid-way through the course that will allow you to reflect on your progress toward your objectives and consider changing direction if needed.
At the end of the course, you'll write a summary reflection on your learning, accomplishment, and engagement with the class. This is also the place where you'll propose your final letter grade.
<br> <br>
I'll usually give you written feedback on your process reflections. We'll also meet at the end of the course to discuss your final reflection and agree on your letter grade for the course.
</td>
</tr>
<tr>
<td class="syllabus-description-table-header">
<b>Other...?</b>
</td>
<td class="syllabus-description-table-entry">
You may have some topic or idea that especially interests you and which you want to explore. If you'd like to work on this topic and use it to demonstrate your learning in the course, you can propose it to me. I may have suggestions or requested modifications before I agree to count the work in your course portfolio.
</td>
</tr>
</table>
## Best-By Dates
While we don't have formal due dates, there is a benefit to keeping yourself on a schedule. It's best to complete assignments close to the time when we covered the corresponding content in class, and it's important for your wellbeing not to let work pile up. I'll provide "best-by" dates for all assignments. These are my **recommendations** for when you should submit the first versions of these assignments to me for feedback.
::: {.column-margin}
![An image of four of the Pokemon Squirtle welcoming a fifth Squirtle. The original four Squirtles are labeled "unfinished assignment #1" through #4. The fifth Squirtle is labeled "new assignment."](assets/img/memes/unfinished-assignments.JPG) *Image credit: [Dr. Spencer Bagley](https://twitter.com/sbagley/status/1437833176311762946?s=20&t=xPhXuSfOqxBvezv2HG2xyg)*
:::
## Feedback
I won't "grade" your individual assignments, but our course team and I will offer you feedback about what I thought was successful and where you can improve. My general expectation is that you will often (though not always) revise your work in response to feedback and resubmit it. **Revising in response to feedback is one of the single most effective ways for you to deepen your learning**.
I'll usually describe the importance of revisions on your assignment using one of the following categories:
- **No revisions suggested**: you've done great work and should focus on the next thing.
- **Revisions useful**: you have opportunities for improvement on this assignment, but focusing on the next topic or assignment may be a better use of your time---use your judgment.
- **Revisions encouraged**: the best use of your time is to respond to feedback and resubmit, rather than moving on to the next assignment.
- **Incomplete**: the assignment isn't sufficiently complete for it to be used as evidence of your learning.
## What Work Do You Need To Do?
At the beginning of the semester, you'll write a process letter that will outline what you'd like to learn and achieve in the course. It's ok if you don't meet all your aspirations by the end of the course. To help guide you in your goal-setting and work-planning, I do have some general expectations.
I am likely to consider your time in my course to be highly successful if you do **at least one** of the following things:
[Time spent being stuck doesn't count as "productive hours" -- get help if you need it!]{.aside}
- You complete almost all assignments with a high degree of quality, including revising in response to my feedback.
- You spend on average **10 productive hours** of work time on this course outside of class.
- You complete many assignments that I give you, and also propose and complete alternative work that demonstrates your learning and achievement.
# Am I Ready for CSCI 0451?
As you enter the course, I'm assuming that you are ready to reflect thoughtfully on guiding your own learning, that you have some achievement in developing programs, and that you have a strong math foundation.
## Directing Your Learning
This course asks you to set your own goals and motivate yourself to achieve them. Neither of these tasks are easy. It's ok to mess up every now and then -- we all do! The real question is whether you're going to look at mistakes and make time to reflect on what to do next time.
## Programming
- You can write moderately-complex, **object-oriented** software.
- You are comfortable reading **software documentation** and **researching** how to perform a task that you haven't seen before.
- You know what a **terminal** is and how to perform simple operations at the command line.
- You have experience **debugging** your code and you are ready to do it a lot more.
## Math
I am assuming that you remember most of MATH 0200 and CSCI 0200. It's ok if you haven't memorized every single fact. What I need is for you to be ready to rapidly look up what you need so that you won't be slowed down by math along the way.
- Matrix multiplication and inner products
- Everything about $\mathbf{A}\mathbf{x} = \mathbf{b}$.
- Visualizing linear spaces.
- Eigenvalues, eigenvectors, positive-definite matrices.
- Derivatives, critical points of functions.
- Sample spaces, probability distribution functions.
- Random variables, mean and variance.
- Conditional probability and expectations.
### Reviews/Diagnostics
- [This resource](http://web.stanford.edu/class/cs246/handouts/CS246_LinAlg_review.pdf) from Stanford's CS246 contains most of the linear algebra that you'll need for the course. The only big topic that's missing is treatment of the existence of solutions of the linear system $\mathbf{A}\mathbf{x} = \mathbf{b}$ in terms of the rank of $\mathbf{A}$. You don't need to have memorized everything here, but most of it should look familiar.
- Probability is not a formal requirement for CSCI 0451, but some probability can certainly be useful. To brush up on some basics, I suggest Chapter 2 of *[Introduction to Probability for Data Science](https://probability4datascience.com/)* by Stanley Chan. This treatment may be a little more advanced than what you learned in CSCI 0200, but you should recognize many of the main ideas.
# Course Policies
### Laptops
Please bring a laptop, and make sure that it has at least 75 minutes of charge.
:::{.callout-note collapse="true"}
## We Can Help You Borrow a Laptop
If you ever find yourself temporarily in need of a laptop, the Computer Science department has 10 rotating Dell laptops available to our students. These come pre-installed with software for most of the courses in the major. They are available to be loaned out short-term or long-term based on your need (as determined by you). To request a laptop for **short-term use** (like a single class period), email me ahead of time.
**On Long-Term Use**: College policy has changed recently to include the expectation that every student have a laptop available. The college provides laptops to those who need them where “need” is based on Student Financial Services calculations. If you anticipate needing a laptop for the whole term, we encourage you to inquire with Student Financial Services and the library first due to our smaller pool of equipment. However, our department commits to meeting the needs of every student, so do not be afraid to reach out if you believe you need one of our laptops for any length of time.
:::
<!-- [![An image of four of the Pokemon Squirtle welcoming a fifth Squirtle. The original four Squirtles are labeled "unfinished assignment #1" through #4. The fifth Squirtle is labeled "new assignment."](assets/img/memes/unfinished-assignments.jpg) *Image credit: [Dr. Spencer Bagley](https://twitter.com/sbagley/status/1437833176311762946?s=20&t=xPhXuSfOqxBvezv2HG2xyg)*]{.aside} -->
<!-- In general, I'm not offended when your work comes in late, provided that it doesn't become a problem for our graders (who, like you, are students here!). However, please make sure that you plan your time and prevent your work from piling up. I don't really have any way to help you if you have too much to do at the end of the semester after requesting many due date adjustments. -->
## COVID-19 Considerations
### Masks Are Required in CSCI 0451 {#masks}
The Computer Science Department policy states that:
> We in the Computer Science department value a safe learning and working environment for all. While we can't eliminate the risks associated with COVID-19, [evidence suggests](https://www.pnas.org/doi/full/10.1073/pnas.2014564118) that widespread masking can significantly reduce the transmission and severity of disease. In order to protect the health of our community, the CS department recommends that students and faculty wear masks in CS learning spaces, including classrooms, office hours, and public areas. We acknowledge the College policy gives instructors the final say over classroom masking requirements, and expect all students to respect instructors' stated policies in each course.
In alignment with this policy, **I require you to wear masks in class and office hours.** I encourage you to wear masks during help sessions and at all other times when you are inside 75 Shannon Street.
If you arrive in class without a mask, I will offer you one. I will expect you to either wear it or excuse yourself from class that day.
## Academic Integrity and Collaboration
### Academic Integrity
Briefly, academic integrity means that you assume responsibility for ensuring that **the work you submit demonstrates your learning and understanding**.
To be frank, it's pretty easy to act without integrity (i.e. cheat) in this course. First, there's a lot of solution code for machine learning tasks in Python online. Second, I'm literally asking you all to post your assignments publicly online. So, there are lots of opportunities to turn in assignments without actually doing the learning that those assignments are designed to offer you.
I assume that both of us want you to learn some cool stuff. Cheating stops you from doing that, and ultimately wastes both your time and mine. I won't be vigorously hunting for academic integrity violations, but I may ask you to discuss code or theory with me in class or in our meetings. If I notice you struggling to explain code that you submitted for feedback, I may have questions.
Trust me. Neither of us want this.
## Collaboration
I love it! Please collaborate in ways that allow you and your collaboration partners to fully learn from and engage with the content. Sharing small snippets of code or math is often helpful to get someone unstuck, but sharing complete function implementations or mathematical arguments is usually counterproductive.
Here are some [general guidelines](collaboration.qmd) for how I think about collaboration.
# Course Environment
You deserve to be welcomed and celebrated by our community. We embrace diversity of age, background, beliefs, ethnicity, gender, gender identity, gender expression, national origin, religious affiliation, sexual orientation, and other visible and non-visible categories. *Discrimination is not tolerated in my classroom*.
You deserve a learning environment free from gender-based discrimination, sexual harassment, sexual assault, domestic violence, dating violence, and stalking. If you experience these behaviors or otherwise know of a Title IX violation, you have many options for support and/or reporting. Middlebury's [Civil Rights and Title IX Office](https://www.middlebury.edu/office/title-IX) (CRTIX) can help you navigate your options. Please be aware that I am a Responsible Employee, which means that **I am required by the College to report incidents of sexual harassment or sexual violence to CRTIX**. There are resources for emotional and mental health care, advocacy, and academic support listed [here](https://www.middlebury.edu/office/sites/www.middlebury.edu.office/files/2021-09/bathroom_poster_2021_proofed(1).pdf?fv=DlkQYWaU), some of which are confidential.
You deserve to fully and equitably participate in our learning environment. I am actively putting effort into ensuring that course materials are screen-reader accessible, and welcome feedback on where I can do better. Middlebury's [Disability Resource Center](https://www.middlebury.edu/office/disability-resource-center) can help you remove barriers to learning in this and other courses.
You deserve to be addressed in the manner that reflects who you are. I welcome to tell me your pronouns and/or preferred name at any time, either in person or via email. Conversely, please address your classmates according to their expressed preferences.
# Beyond This Course
## General Advice
I am always happy to talk with you about your future plans, including internships, research opportunities, and graduate school applications. Because I am a creature of the academy, I am less knowledgeable about industry jobs, although you are welcome to ask about those too. You can drop in during Student Hours or email me to make an appointment.
## Letters of Recommendation
Writing letters of recommendation for students is a fundamental part of my job and something that I am usually very happy to do. [Here's how to ask me for a letter](https://www.philchodrow.com/for-students.html#advice-and-recommendation-letters).