--- /dev/null
+I don't expect that these will necessary work without
+modification. It's a good idea to go line-by-line through these to
+make sure they are doing what *you* want and that you agree with the
+assessment logic built into this.
+
+Daily Process
+======================================
+
+After class, you will have two new files created that will be named
+like this (with today's date):
+
+ attendance-2020-10-05.tsv
+ call_list-2020-10-05.tsv
+
+Each day, you need to open up "call_list-YYYY-MM-DD.tsv" and edit the
+final two columns. The first columns `answered` means that the person
+responded and answered the question (i.e., they were present in the
+room but away from their computer and unresponsive). This is almost
+always TRUE but would be FALSE if the student were missing.
+
+The final column `assessment` is GOOD, FAIR, or BAD in my rubric. I've
+detailed what that means on this page:
+
+https://wiki.communitydata.science/User:Benjamin_Mako_Hill/Assessment#Rubric_for_case_discussion_answers
+
+I take notes on student answers on paper during class (typically I
+only note down non "GOOD" answers) and then add these to the sheet
+immediately after class.
+
+I keep my entire data directory in git and I'd recommend that you do
+too.
+
+Other Notes
+======================================
+
+1.
+
+These scripts rely on a file in this repository called
+`data/student_information.csv` which I have set to be downloaded
+automatically from a Google form using a 1-line wget command.
+
+For reference, that file has the following column labels (this is the
+full header, in order):
+
+ Timestamp
+ Your UW student number
+ Name you'd like to go by in class
+ Your Wikipedia username
+ Your username on the class Discord server
+ Preferred pronouns
+ Anything else you'd like me to know?
+
+2.
+
+The scripts in this directory are meant to be run or sourced *from*
+the data directory. As in:
+
+ $ cd ../data
+ $ R --no-save < ../assessment_and_tracking/track_participation.R
+
+3.
+
+There are three files here:
+
+track_enrolled.R:
+
+ This file keeps track of who is in Discord, who is enrolled for
+ the class, etc. This helps me remove people from the
+ student_informaiton.csv spreadsheet who are have dropped the
+ class, deal with users who change their Discord name, and other
+ things that the scripts can't deal with automatically.
+
+ This all need to be dealt with manually, one way or
+ another. Sometimes by modifying the script, sometimes by modifying
+ the files in the data/ directory.
+
+ This requires an additional file called
+ `myuw-COM_482_A_autumn_2020_students.csv` which is just the saved
+ CSV from https://my.uw.edu which includes the full class list. I
+ download this one manually.
+
+track_participation.R:
+
+ This file generates histograms and other basic information about
+ the distribution of participation and absences. I've typically run
+ this weekly after a few weeks of the class and share these images
+ with students at least once or twice in the quarter.
+
+ This file is also sourced by compute_final_case_grades.R.
+
+compute_final_case_grades.R:
+
+ You can find a narrative summary of my assessment process here:
+
+ https://wiki.communitydata.science/User:Benjamin_Mako_Hill/Assessment#Overall_case_discussion_grade
+
+ This also requires the registration file (something like
+ `myuw-COM_482_A_autumn_2020_students.csv`) which is described
+ above.
+
+4.
+
+A bunch of things in these scripts assumes a UW 4.0 grade scale. I
+don't think it should be hard to map these onto some other scale, but
+that's an exercise I'll leave up to those that want to do this.
\ No newline at end of file
#################################
case.sessions <- 15
-myuw <- read.csv("../myuw-COM_482_A_autumn_2020_students.csv", stringsAsFactors=FALSE)
+myuw <- read.csv("myuw-COM_482_A_autumn_2020_students.csv", stringsAsFactors=FALSE)
## class-level variables
question.grades <- c("GOOD"=100, "FAIR"=100-(50/3.3), "BAD"=100-(50/(3.3)*2))
missed.question.penalty <- (50/3.3) * 0.2 ## 1/5 of a full point on the GPA scale
-setwd("../")
-source("track_participation.R")
+source("../assessment_and_tracking/track_participation.R")
setwd("case_grades")
rownames(d) <- d$discord.name
library(rmarkdown)
for (x.discord.name in d$discord.name) {
- render(input="student_report_template.Rmd",
+ render(input="../../assessment_and_tracking/student_report_template.Rmd",
output_format="html_document",
- output_file=paste("student_reports/",
+ output_file=paste("../data/case_grades/student_reports/",
d.print$UWNetID[d.print$discord.name == x.discord.name],
sep=""))
}