-
Notifications
You must be signed in to change notification settings - Fork 0
/
syllabus.qmd
444 lines (281 loc) · 28.1 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
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
---
title: Syllabus
toc: true
toc-location: right
---
```{r}
#| echo: false
source("_common.R")
```
# Course Information
<div style="width:600px">
Instructor | Course
---|---
<i class="bi-person-fill"></i> John Paul Helveston | <i class="bi-calendar-fill"></i> {{< var weekday >}}
<i class="bi-building-fill"></i> Science & Engineering Hall, 2830 | <i class="bi-geo-alt-fill"></i> [{{< var room >}}]({{< var room_url >}})
<i class="bi-telephone-fill"></i> +1 (202) 994-7173 | <i class="bi-calendar-week-fill"></i> {{< var dates >}}
<i class="bi-envelope-fill"></i> [{{< var email >}}](mailto:{{< var email >}}) | <i class="bi-clock-fill"></i> {{< var time >}}
<i class="bi-twitter"></i> [\@JohnHelveston](https://twitter.com/JohnHelveston) | <i class="bi-slack"></i> [Slack]({{< var slack >}}){target="_blank"}
</div>
## Course Description
```{r child = here::here("fragments", "description.qmd")}
```
## Prerequisites
```{r child = here::here("fragments", "prerequisites.qmd")}
```
# Learning Objectives
```{r child = here::here("fragments", "learning-objectives.qmd")}
```
## Pep Talk!
Working in and learning a programming language can be as challenging as learning a new spoken language. Hadley Wickham (chief data scientist at RStudio and author of many amazing R packages you'll be using) [made this wise observation](https://r-posts.com/advice-to-young-and-old-programmers-a-conversation-with-hadley-wickham/):
> It's easy when you start out programming to get really frustrated and think, "Oh it's me, I'm really stupid," or, "I'm not made out to program." But, that is absolutely not the case. Everyone gets frustrated. I still get frustrated occasionally when writing R code. It's just a natural part of programming. So, it happens to everyone and gets less and less over time. Don't blame yourself. Just take a break, do something fun, and then come back and try again later.
If you're finding yourself taking way too long hitting your head against a wall and not understanding, **take a break**, talk to classmates, ask questions in Slack, and try it again later.
**I promise, you can do this!**
# Required Texts & Materials
All texts and software for this course is freely available on the web. This includes:
## Software
Go to the [Course Software](help/course-software.qmd) page for detailed instructions on how to install the software we'll be using. Here's a quick list:
- R (version 4.1.0 or later), which can be downloaded from [The Comprehensive R Archive Network (CRAN)](https://cloud.r-project.org)
- RStudio (Desktop Version), a free IDE for R, which can be downloaded from [RStudio](https://rstudio.com/products/rstudio/download/)
- We'll be using [Slack]({{< var slack >}}){target="_blank"} for most communication.
## Texts
The main textbook we will use for this course is "Programming for Analytics in R", by Professor Helveston. The book is available freely on the web at [https://p4a.jhelvy.com/](https://p4a.jhelvy.com/){target="_blank"}.
# Assignments
## Participation & Attendance
**Attendance will be taken** and will be part of your participation grade.
In-person attendance is critical as we will spend a lot of time working on problems and writing code during class. You should plan to attend class in person each week.
There will be no option for remote attendance (e.g. zoom), and class sessions will not be recorded. If you have any questions or need special accommodations, send me a message on slack and we can discuss. If you must miss class for an excused absence (e.g. medical issue), please message Professor Helveston and get notes from your fellows classmates.
Multiple absences, inappropriate or unprofessional behavior during class (such as monopolizing discussions or being rude or disruptive), not participating in classroom exercises, and not being prepared for class will result in a poor score for attendance and participation.
## Homework Assignments
Homework assignments contain a mix of coding exercises and written exercises. They assess the material taught the week(s) they are assigned, and should take several hours to complete. **Start homeworks early**.
Read the [Collaboration Policy](#collaboration-policy) about collaborating with fellow students on homeworks. While most problems must be worked on individually, some will be marked as "collaborative"; on these problems (and _only_ these problems), you may work on code with other students.
Homeworks will be graded based on style (modularity, readability, commenting, etc.) and functionality (correctness on a series of tests). Your code should be properly annotated with comments that are well-placed, concise, and informative. Your assignments will be graded by an automated grader and the instructional team.
## Readings
In addition to weekly homework assignments, students are expected to read through the assigned weekly reading to prepare for the next class. Check the [schedule](schedule.html) for the reading assignments.
## Quizzes
There will be 7 quizzes given about once every other week immediately at the beginning of class. Make up quizzes will not be available if you miss it (except for excused absences). Please show up on time to class each week to ensure that you do not miss a quiz. Quizzes will cover material presented in previous classes and assignments during the weeks since the most-recent quiz.
Quizzes are **short** (10 minutes) and are designed to test for fluency and to demonstrate where additional study is needed. **Quizzes are low-stakes** - your worst one is dropped, and the rest count for a small portion of your final grade. If you do poorly on one or two, use that as feedback on where you need additional improvement.
> **Why quiz at all?** Research shows that giving small quizzes throughout a class can dramatically help with *retention*. It's a phenomenon known as the "retrieval effect" - basically, you have to _practice_ remembering things, otherwise your brain won't remember them. The phenomenon and research on it is explained in detail in the book ["Make It Stick: The Science of Successful Learning,"](https://www.hup.harvard.edu/catalog.php?isbn=9780674729018) by Brown, Roediger, and McDaniel.
## Exams
There will be one midterm exam covering the first 6 weeks of class, and a standard final exam during the final exam period at the end of the semester covering material from the entire semester. See the [schedule](schedule.html) for details.
## Typing Challenge
You can earn a 1% bonus to your final grade by beating Professor Helveston in a speed typing challenge.
**Rules**:
- If you type faster than Professor Helveston in a 30 second head-to-head competition on [monkeytype.com](https://monkeytype.com/), you'll earn the bonus.
- You may challenge Professor Helveston up to two times in one semester, but you may only win the bonus once.
- To challenge Professor Helveston, send him a direct message on Slack saying "I accept your challenge!", then we will work out a time and place to carry out the challenge.
- If you lose the challenge, there will be no consequences other than the benefit of having (hopefully) improved your typing speed.
**Wait, are you serious?** Yes, I'm 100% serious.
**Why tho?** Not being able to [touch type](https://en.wikipedia.org/wiki/Touch_typing) can be a real hindrance when it comes to using a computer, and it's especially important in a coding class where we will be typing a lot. Improving your typing speed and accuracy will not only improve your coding productivity, but also your productivity with pretty much everything else you do on a computer (like writing). By putting this challenge in place, my goal is that you will spend a little time practicing your typing.
**How can I get better at typing**? I recommend using [keybr.com](https://www.keybr.com/) and setting ~60 words per minute as a reasonable target (~90 if you want to beat Professor Helveston). It's well worth the effort, and if you spend a little time each day you'll see improvement. Consistency is more important than length of time in any one practice session. Also, if you create an account and track your typing progress, I'll also consider your progress for the challenge. That is, even if you lose the challenge but can demonstrate significant progress in your typing speed, I'll take that into consideration as to whether to award you the bonus.
# Grading
## Standard Grading
Final grades will be calculated as follows:
<div style="width:500px">
Component | Weight | Notes
---------------------------|--------|----------------
Participation / Attendance | 7% | (Yes, I take attendance)
Homeworks & Readings (13x) | 48% | Lowest 1 dropped
Quizzes (7x) | 15% | Lowest 2 dropped
Midterm Exam | 10% |
Final Exam | 20% |
</div>
Here's a visual breakdown by category:
```{r}
#| echo: false
#| label: grades
#| fig.height: 3
#| fig.align: 'left'
library(tidyverse)
library(cowplot)
library(viridis)
library(ggrepel)
df <- data.frame(
category = c(
'Participation', 'Homeworks & Readings', 'Quizzes', 'Midterm', 'Final'
),
percent = c(7, 48, 15, 10, 20)) %>%
arrange(desc(percent)) %>%
mutate(
cumpercent = cumsum(percent),
label_y = cumpercent - (percent / 2),
category = fct_reorder(category, percent))
ggplot(df) +
geom_col(
aes(x = "", y = percent, fill = category),
width = 1.1, alpha = 0.8
) +
geom_label_repel(
aes(x = "", y = label_y, label = category),
direction = 'y', label.padding = 0.25, segment.size = 0
) +
coord_flip() +
scale_y_continuous(expand = expansion(mult = c(0, 0.05))) +
scale_fill_viridis(discrete = TRUE) +
theme_minimal_vgrid() +
theme(legend.position = 'none') +
labs(y = 'Percent of final grade', x = NULL)
```
## AMG Grading
An Alternative Minimum Grading (AMG) policy is available to everybody, but is designed specifically for students who struggle in the first part of the course, and then through sustained hard work and dedication manage to elevate their performance in the latter part of the course to a level that merits passing with a C (even if their Standard Grade might be lower than that).
Student cannot "sign up" for AMG grading. Every student will be considered both for Standard Grading and AMG, and the instructor can choose to assign the AMG grade if a student's effort merits it. To qualify for AMG you must put forth sustained effort, which means meeting the following requirements:
- You attend all class periods (with excused exceptions)
- You complete all assignments
- You do not violate the Collaboration Policy
To compute your AMG score, first use the following to compute your raw score. If the resulting score is higher than a C, set it back to a C.
<div style="width:300px">
Course Component | Weight
-------------------|----
Best 10 Homeworks | 40%
Best 4 Quizzes | 10%
Midterm Exam | 10%
Final Exam | 40%
</div>
## Grading Scale
<div style="width:350px">
Grade | Range | Grade | Range
-------|-------------|-------|------------
A | 94 - 100% | C | 74 - 76.99%
A- | 90 - 93.99% | C- | 70 - 73.99%
B+ | 87 - 89.99% | D+ | 67 - 69.99%
B | 84 - 86.99% | D | 64 - 66.99%
B- | 80 - 83.99% | D- | 60 - 63.99%
C+ | 77 - 79.99% | F | < 60%
</div>
The course instructors may choose to change the scales at their discretion. You are guaranteed that your letter grade will never become worse as a result of changing scales.
## Rounding
**I do not round final grades**. Here's why. Wherever the line is drawn, there will always be students just below or just above, and rounding will only move that bar and create another group of students who are just below and just above. Rounding does not eliminate the issue but rather just shifts it to another group of students. This is why I draw the lines before the course starts - to ensure a fair and transparent system for everyone, that way you don't have to shoot for a moving bar. To be clear, this means I will not modify or round your final score, even if you're _very close_ to a different letter grade (e.g., a 93.98 is an "A-" and will not be rounded up to an "A").
Rather than round, I grade generously throughout the semester. For example, if you give a quiz your best shot and completely fail it, you will likely get a 50% instead of a 0%. The 50% is for trying as there's still some learning that happens when you try (0s are reserved for those who simply don't take it).
# Getting Help
This class can be challenging - **do not suffer in silence!** We have lots of ways to get help.
## Check the [FAQ](faq.qmd)
I've set up a FAQ page to address a lot of common questions. Check it out, you may find an answer there!
## Slack
All course communication will be managed through [Slack]({{< var slack >}}){target="_blank"}. A link to sign up for the course slack page can be found on the one (and only) announcement on Blackboard.
**You can use Slack to**:
- Ask general questions.
- Ask for help with an assignment.
- Send direct, private messages to each other or the instructors (just like email...but better!)
> **Asking for help on Slack**: You can post questions on slack and receive quick responses. This also enables other students to see answers to common questions. Be specific - if your code has an error you don't understand, **include the code and the error message** in your question.
## AMA Hours
I will hold regular "Ask Me Anything" hours each week. The specific hours will be posted on the course slack. During this period, you can come to my office (SEH 2830) and ask me anything. And I mean anything. Most of the time you may just have a question related to class, but I am also happy to discuss anything else with you regarding life, important decisions, career, art, music, dance, etc.
If the AMA hours don't work with your schedule, you can always schedule a zoom call with me using [this link](https://jhelvy.appointlet.com/b/professor-helveston). I'm available most days of the week.
## Tutoring hours
Your class tutors will each hold a dedicated period of time each week for zoom tutoring hours. Please don't make your tutors sit and do emails for two hours - come by and ask for help!
## Library Services
While the University Library is not a stand in for TAs, you can schedule a consultation for general help with Coding, Programming, Data, Statistical, and GIS. See more at https://academiccommons.gwu.edu/writing-research-help
# Course Policies
## tl;dr
- BE NICE
- BE ON TIME
- BE HONEST
- DON'T CHEAT
- SERIOUSLY: DON'T CHEAT
## Late Policy
Each students is allowed **3** late homework submission days - use them however you want, no questions asked. These are meant to cover illness, family emergencies, and religious holidays.
Beyond those, assignments are due by 11:59pm on the assigned due date unless specified otherwise. Assignments submitted up to 24 hours past this deadline will be graded to a max of 50% of the available points. Assignments submitted beyond 24 hours past the deadline will not be graded and will be assigned a 0.
If you need a special accommodation such as due to an illness, family emergency, or religious holidays, contact the instructor ahead of time.
## Collaboration Policy
<!-- This policy is mostly copied from the course 15-112 at Carnegie Mellon University -->
Learning how to program is like learning how to ride a bicycle - to get better, you must practice writing code **yourself**. Therefore, we have a set of strict rules regarding what kind of collaboration is allowed, what counts as over-collaboration, and what counts as cheating.
### Good Collaboration
- Discussing which general concepts might be useful in solving a problem (conditionals, loops, etc.).
- Asking for debugging help with code.
- Sketch out algorithms on a whiteboard together.
- To avoid copying the code, you should write up the solution together, discuss it, then erase the solution, wait a few minutes, and write up solutions individually.
- Help each other debug specific parts of assignment code.
- General discussion of course concepts.
- Detailed explanations of example code on the course website.
- Collaboratively solving a practice problem, with any level of co-writing code and co-debugging.
### Over-collaboration
Over-collaboration results in a warning on the first offense, and a penalty on later offenses. Examples include:
- Explaining to a friend how to solve a problem in high-level terms by going through your own program line-by-line.
- Helping a friend debug code by suggesting they use your own approach to the problem.
- Collaborating with a student on an assignment and then _not_ including their name as a collaborator in the assignment writeup.
- In the case that you have taken this course before, copying your own code from the previous time you took the course.
### Cheating
Cheating results in a penalty on the first offense, and failing the course on the second offense. Cheating on assignments can include:
- Copying or stealing any amount of code from someone currently in the class or someone who has taken the class before. Copying is never okay, whether the code is provided electronically, visually, audibly, or on paper.
- Providing code you have written for an assignment to anyone else in the class.
- Finding code online and using it in the assignment (one exception: you may use code from the course website).
- Putting code solutions from the course assignments online.
- Receiving code-level assistance from someone or something not associated with the course.
- Getting someone else to write the assignment code for you.
- Asking questions about the assignments on any online services outside of the course office hours or [slack]({{< var slack >}}).
Cheating on quizzes, assignments, or the final project can include:
- Referring to any external resources while completing the assignment (phones, notes, etc.).
- Copying part of an answer off of another student's paper, even if it is very small.
- Using solutions provided by students who previously took the course.
### Use of chatGPT and other AI tools
Large language models (LLMs) are capable of producing exact solutions to many of the coding problems assigned in this class. That means we all basically have a solutions manual available for free.
With this in mind, the use of AI is permitted as follows:
- **Assignments 1-7**: AI tools are **not permitted** unless explicitly instructed. Copying code from an AI tool and submitting it as your own for these assignments will be considered cheating. In this section of the course, we are building foundational skills in computational thinking and problem solving. If you don't master these skills, you won't be able to interpret what chatGPT is giving you, and you won't be able to test if it is wrong. Master these skills first - it is worth the effort.
- **Assignments 8-13**: AI tools are permitted, with caveats. If you do use an AI tool on these assignments, you must include a link to the chat conversation you had to receive full credit.
Learn to use tools like ChatGPT as a learning assistant - a tool to help you accomplish the task - rather than just a solutions manual. One version of using it makes you a better and more efficient coder, the other robs you of that.
In the follow-on course to this one ([EMSE 4572: Exploratory Data Analysis](https://eda.seas.gwu.edu/)), the use of AI will be allowed to support your projects.
### Penalties
Violations will be reported to the [Office of Student Rights & Responsibilities](https://studentconduct.gwu.edu/charging-academic-integrity-violations). Penalties are decided by the course instructors, and can vary based on the severity of the offense. Possible penalties include:
- Receiving a 0 on the assignment/quiz in question.
- Receiving a full letter grade deduction in the course.
- Automatically failing the course.
Depending on the student's prior academic history, violations may also be accompanied by a letter to the Dean of Student Affairs, again at the instructors' discretion. This can lead to university-level penalties, such as being suspended or expelled.
### Plagiarism Detection
Programs are naturally structured, which makes them **very easy** to compare for plagiarism. Automated plagiarism detection systems make this process even easier. [Watch this video](http://www.kosbie.net/cmu/spring-13/15-112/automated-plagiarism-detector-demo.mp4) showing plagiarism detection software in action (this example is using Python code, but this also works for R code).
**In short, if you copy code, we will know - don't copy code!**
### Grace Period
College is a time when you do a lot of learning. Sometimes, you might make bad decisions or mistakes. The most important thing for you to do is to learn from your mistakes, to constantly grow, and become a better person.
Sometimes, students panic and copy code right before the deadline, then regret what they did afterwards. Therefore, you may rescind any homework submission for up to 24 hours after the deadline with no questions asked. Simply email the course instructors asking to delete the submission in question, and we will do so. Deleted submissions will not be considered during plagiarism detection, though of course they will also not be graded. However, it will always be better to get a 0 (or partial credit) on an assignment than to get a cheating violation!
## Children in class
<!-- Policy copied from Andrew Heiss's class -->
<!-- https://evalsp20.classes.andrewheiss.com/syllabus/ -->
I applaud all of you who attend school with children! It is difficult to balance academic, work, and family commitments, and I want you to succeed. Here are my policies regarding children in class:
1. All breastfeeding babies are welcome in class as often as necessary.
2. Non-nursing babies and older children are welcome whenever alternate arrangements cannot be made. As a parent of young children, I understand that babysitters fall through, partners have conflicting schedules, children get sick, and other issues arise that leave parents with few other options.
3. In cases where children come to class, I invite parents/caregivers to sit close to the door so as to more easily excuse yourself to attend to your child's needs. Non-parents in the class: please reserve seats near the door for your parenting classmates.
4. All students are expected to join with me in creating a welcoming environment that is respectful of your classmates who bring children to class.
I understand that sleep deprivation and exhaustion are among the most difficult aspects of parenting young children. The struggle of balancing school, work, childcare, and graduate school is tiring, and I will do my best to accommodate any such issues while maintaining the same high expectations for all students enrolled in the class. Please do not hesitate to contact me with any questions or concerns.
## Lauren's Promise
<!-- Policy copied from Andrew Heiss's class -->
<!-- https://evalsp20.classes.andrewheiss.com/syllabus/ -->
**I will listen and believe you if someone is threatening you.**
Lauren McCluskey, a 21-year-old honors student athlete, [was murdered on October 22, 2018 by a man she briefly dated on the University of Utah campus](https://www.sltrib.com/opinion/commentary/2019/02/10/commentary-failing-lauren/). We must all take action to ensure that this never happens again.
If you are in immediate danger, call 911 or GWU police at 202-994-6111 (GWPD).
If you are experiencing sexual assault, domestic violence, or stalking, if you report it to me I will listen and connect you to resources or call GWU's [Counseling and Psychological Services](https://healthcenter.gwu.edu/counseling-and-psychological-services) (202-994-5300).
Any form of sexual harassment or violence will not be excused or tolerated at GWU. GWU has instituted procedures to respond to violations of these laws and standards, programs aimed at the prevention of such conduct, and intervention on behalf of the victims. GWU Police officers will treat victims of sexual assault, domestic violence, and stalking with respect and dignity. Advocates on campus and in the community can help with victims' physical and emotional health, reporting options, and academic concerns.
## Use of Course Materials
All course materials available on the course website are developed open source - you are welcome to post and share them following the licensing guidelines listed in the [license](LICENSE.qmd) page.
However, all **solutions** to assignments and quizzes are proprietary. Don't post them online or try to sell them - this is a violation of the [student code of conduct](https://studentconduct.gwu.edu/code-student-conduct) and it is also a violation of the class cheating policy.
## Recording in Class
You are free to record class periods (audio and / or video) for your own personal study use and only for your personal study use. If you do record a class period, you are prohibited from posting or sharing the content online or with others.
## What To Do if the Instructor Does Not Arrive
Wait **20 minutes**, after that you're free to leave. One member of the class should be selected to notify the EMSE Department of the Instructor's absence by calling the EMSE Department 202-994-4892 on next business day.
# University Policies
## University Policy on Religious Holidays
In accordance with University Policy, students should notify faculty during the first week of the semester of their intention to be absent from class on their day(s) of religious observance. Official university policy here: https://students.gwu.edu/accommodations-religious-holidays
- Students should notify faculty during the first week of the semester of their intention to be absent from class on their day(s) of religious observance.
- Faculty should extend to these students the courtesy of absence without penalty on such occasions, including permission to make up examinations.
- Faculty who intend to observe a religious holiday should arrange at the beginning of the semester to reschedule missed classes or to make other provisions for their course-related activities.
## Support for Students Outside the Classroom
**Disability Support Services (DSS)**:
Any student who may need an accommodation based on the potential impact of a disability should contact the Disability Support Services office at 202-994-8250 in the Rome Hall, Suite 102, to establish eligibility and to coordinate reasonable accommodations. For additional information please refer to: https://disabilitysupport.gwu.edu/
**Mental Health Services (202-994-5300)**:
The University's Mental Health Services offers 24/7 assistance and referral to address students' personal, social, career, and study skills problems. Services for students include: crisis and emergency mental health consultations confidential assessment, counseling services (individual and small group), and referrals. https://healthcenter.gwu.edu/counseling-and-psychological-services
## Academic Integrity Code
Academic dishonesty is defined as cheating of any kind, including misrepresenting one's own work, taking credit for the work of others without crediting them and without appropriate authorization, and the fabrication of information. For the remainder of the code, see: https://studentconduct.gwu.edu/code-academic-integrity
In addition to the formal code of academic integrity, the instructor expects that students will treat this course with the level of professionalism required in the workplace. Remember that real firms are sponsoring student projects throughout the semester; in a workplace setting, these firms would be paying clients for the analyses being conducted. This course prepares students to succeed in the workplace, and maintaining a high degree of professionalism is expected.
# Cute Animals
::: {.grid}
::: {.g-col-4}
<img src="images/cute_penguin.gif" width=100%>
:::
::: {.g-col-8}
Once you have read this entire syllabus and viewed the [course schedule](schedule.qmd), please send me a picture of _cute_ picture of your favorite animal in a direct message on Slack.
For real.
Brownie points if it's animated.
:::
:::
---
**Page sources**:
Some content on this page is inspired by and / or modified from other sources:
- The "Pep Talk" and "Cute Animals" sections are inspired by [Andrew Heiss's courses](https://www.andrewheiss.com/teaching/).
- The cheating policy is modified from the course [15-112](http://www.kosbie.net/cmu/fall-19/15-112/) at Carnegie Mellon University