-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathcontract.Rmd
More file actions
215 lines (189 loc) · 8.12 KB
/
contract.Rmd
File metadata and controls
215 lines (189 loc) · 8.12 KB
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
---
title: Grading Contract
date: "`r format(Sys.time(), '%B %d %Y')`"
output: github_document
params:
semester: Spring 2026
semester_half:
label: Half Semester Contract
value: TRUE
weekonemonday: "2026-01-13"
thesisdeadline: "2023-01-10"
springbreak: "2023-01-10"
name: Tukey Cat
labs: 11
portfolios: 10
grade:
label: Grade
value: A
input: select
choices:
- A
- B
- Pass
startweek:
label: Weekly Due Date
value: Friday
input: select
choices:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
---
```{r setup, include=FALSE}
library(tidyverse)
# R Syllabus Scheduler
advdate <- function(weekonemonday,
week,
topic = NULL,
assignment = NULL,
unit = "Module ") {
# as.Date does not like piping
tmon <- as.Date(weekonemonday + 7 * (week - 1)) %>%
format(format = "%m/%d")
ttue <- as.Date(weekonemonday + 1 + 7 * (week - 1)) %>%
format(format = "%m/%d")
twed <- as.Date(weekonemonday + 2 + 7 * (week - 1)) %>%
format(format = "%m/%d")
tthu <- as.Date(weekonemonday + 3 + 7 * (week - 1)) %>%
format(format = "%m/%d")
tfri <- as.Date(weekonemonday + 4 + 7 * (week - 1)) %>%
format(format = "%m/%d")
tsat <- as.Date(weekonemonday + 5 + 7 * (week - 1)) %>%
format(format = "%m/%d")
tsun <- as.Date(weekonemonday + 6 + 7 * (week - 1)) %>%
format(format = "%m/%d")
zadv <- sprintf("%02d", week)
if (is.null(topic) & is.null(assignment)) {
tmp <- paste0(unit, zadv, ", ", tmon, " - ", tfri)
} else if (!is.null(assignment)) {
if (assignment %in%
c("Friday",
"friday",
"f",
"fri",
"FRI")) {
tmp <- paste0(tfri)
} else if (assignment %in%
c("thursday",
"Thursday",
"thurs",
"r",
"R")) {
tmp <- paste0(tthu)
} else if (assignment %in%
c("wednesday",
"Wednesday",
"w",
"wed",
"W")) {
tmp <- paste0(twed)
} else if (assignment %in%
c("Tuesday",
"tues",
"t",
"Tue")) {
tmp <- paste0(ttue)
} else if (assignment %in%
c("monday",
"Monday",
"m",
"mon")) {
tmp <- paste0(tmon)
}
} else{
tmp <- paste0(unit, zadv, ", ", tmon, " - ", tfri, " : ", topic[week])
}
return(tmp)
}
#if(TRUE){
#
# dayone <- as.Date("2022-01-10")
# startweek <- "Friday"
#} else {
dayone <- as.Date(params$weekonemonday)
startweek <- params$startweek
semester_half <- params$semester_half
topic = c(
"What is Data Science and Meet the Toolkit",
"Data and Visualization",
"Grammar of data wrangling",
"Data types and Data Transformations",
"Tips for effective data visualization",
"Scientific studies and confounding",
# "Spring Break",# "",
"Web scraping",
"Functions",
"Data and Ethics",
"Fitting and interpreting models",
"Prediction and overfitting",
"Cross validation",
"Quantifying uncertainty",
"Interactive web apps",
"Special Topics"
)
```
<!-- This contract is adapted from Annie Somerville's contract https://github.com/anniehsom -->
# Contract Grades – “`r params$grade`” Contract
During the `r params$semester` semester, I, `r params$name`, agree to :
1) Earn “Satisfactory” on `r params$labs` self-paced lab assignments on the schedule specified below.
- Satisfactory defined:
- I have attempted all steps of the assignment. If unable to complete steps due to unresolved questions, I have asked questions in Github FAQs or zoom help session, or I have Googled the issue and shown effort to resolve questions;
- I have checked that forked files, repos, or projects appear on my Github account and are accessible;
- I feel like I have spent an adequate amount of time and energy on assignments;
- My presentation is professional, engaging, and accessible.
2) Produce at least `r params$portfolios` “Satisfactory” portfolio pieces on the schedule specified below.
3) Complete a “Satisfactory” presentation based on some portfolio pieces. 10 minutes total in length.
## SCHEDULE
Note: This is an example schedule. You are welcomed and encouraged to rearrange these labs and events to fit your needs. I recommend spacing out the portfolio pieces to avoid a last-minute rush.
- [ ] `r advdate(dayone, 1, topic)`
- Finish Lab 1 by `r startweek`: `r advdate(dayone, 1, assignment=startweek)`
- [ ] `r advdate(dayone, 2, topic)`
- Finish Lab 2 by `r startweek`: `r advdate(dayone, 2, assignment=startweek)`
- Propose your contract to `r if(params$semester_half==TRUE){paste0("Prof. ")}`Mason by `r startweek`: `r advdate(dayone, 2, assignment=startweek)`
- [ ] `r advdate(dayone, 3, topic)`
- Finish Lab 3 by `r startweek`: `r advdate(dayone, 3, assignment=startweek)`
- Finish portfolio piece 1 by `r startweek`: `r advdate(dayone, 3, assignment=startweek)`
- [ ] `r advdate(dayone, 4, topic)`
- Finish Lab 4 by `r startweek`: `r advdate(dayone, 4, assignment=startweek)`
- Finish portfolio piece 2 by `r startweek`: `r advdate(dayone, 4, assignment=startweek)`
`r if(params$semester_half==TRUE) paste0("- Schedule a check-in with Prof. Mason by ",startweek,":", advdate(dayone, 4, assignment=startweek))`
- [ ] `r advdate(dayone, 5, topic)`
- Finish Lab 5 by `r startweek`: `r advdate(dayone, 5, assignment=startweek)`
- Finish portfolio piece 3 by `r startweek`: `r advdate(dayone, 5, assignment=startweek)`
- [ ] `r advdate(dayone, 6, topic)`
- Finish Lab 6 by `r startweek`: `r advdate(dayone, 6, assignment=startweek)`
- Finish portfolio piece 4 by `r startweek`: `r advdate(dayone, 6, assignment=startweek)`
`r if(params$semester_half==FALSE) paste0("- Schedule a check-in with Mason by ",startweek,":", advdate(dayone, 6, assignment=startweek))`
- [ ] `r advdate(dayone, 7, topic)`
- Finish Lab 7 by `r startweek`: `r advdate(dayone, 7, assignment=startweek)`
- Finish portfolio piece 5 by `r startweek`: `r advdate(dayone, 7, assignment=startweek)`
`r if(params$semester_half) paste0("- [ ] Portfolio completion and end-of-semester presentation\n - Due on ", startweek,":",advdate(dayone, 8, assignment=startweek))`
`r if(params$semester_half) "# Ignore the rest of the schedule below.\n"`
- [ ] `r advdate(dayone, 8, topic)`
- Finish Lab 8 by `r startweek`: `r advdate(dayone, 8, assignment=startweek)`
- [ ] `r advdate(dayone, 9, topic)`
- Finish Lab 9 by `r startweek`: `r advdate(dayone, 9, assignment=startweek)`
- Finish portfolio piece 6 by `r startweek`: `r advdate(dayone, 9, assignment=startweek)`
- [ ] `r advdate(dayone, 10, topic)`
- Finish Lab 10 by `r startweek`: `r advdate(dayone, 10, assignment=startweek)`
- [ ] `r advdate(dayone, 11, topic)`
`r if(params$labs>=11) paste0(" - Finish Lab 11 by ",startweek,": ",advdate(dayone, 11, assignment=startweek))`
- Finish portfolio piece 7 by `r startweek`: `r advdate(dayone, 11, assignment=startweek)`
- [ ] `r advdate(dayone, 12, topic)`
`r if(params$labs>=12) paste0(" - Finish Lab 12 by ",startweek,": ",advdate(dayone, 12, assignment=startweek))`
- Finish portfolio piece 8 by `r startweek`: `r advdate(dayone, 12, assignment=startweek)`
- [ ] `r advdate(dayone, 13, topic)`
`r if(params$labs>=13) paste0(" - Finish Lab 13 by ",startweek,": ",advdate(dayone, 13, assignment=startweek))`
- Finish portfolio pieces 9 by `r startweek`: `r advdate(dayone, 13, assignment=startweek)`
- [ ] `r advdate(dayone, 14, topic)`
- Finish portfolio piece 10 by `r startweek`: `r advdate(dayone, 14, assignment=startweek)`
`r if(params$labs>=14) paste0(" - Finish Lab 14 by ",startweek,": ",advdate(dayone, 14, assignment=startweek))`
- [ ] `r advdate(dayone, 15, topic)`
`r if(params$portfolios>=11) paste0(" - Finish portfolio piece 11 by ",startweek,": ",advdate(dayone, 15, assignment=startweek))`
- [ ] Portfolio completion and end-of-semester presentation
- Due on `r startweek`: `r advdate(dayone, 15, assignment=startweek)`