rearrange the repository for publication
authorBenjamin Mako Hill <>
Tue, 29 Dec 2020 20:22:35 +0000 (12:22 -0800)
committerBenjamin Mako Hill <>
Tue, 29 Dec 2020 20:22:35 +0000 (12:22 -0800)
assessment_and_tracking/README [new file with mode: 0644]
assessment_and_tracking/compute_final_case_grades.R [moved from data/case_grades/compute_final_case_grades.R with 93% similarity]
assessment_and_tracking/student_report_template.Rmd [moved from data/case_grades/student_report_template.Rmd with 100% similarity]
assessment_and_tracking/track_enrolled.R [moved from data/track_enrolled.R with 100% similarity]
assessment_and_tracking/track_participation.R [moved from data/track_participation.R with 100% similarity]

diff --git a/assessment_and_tracking/README b/assessment_and_tracking/README
new file mode 100644 (file)
index 0000000..1fc09ad
--- /dev/null
@@ -0,0 +1,105 @@
+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:
+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
+Other Notes
+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?
+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
+There are three files here:
+    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 which includes the full class list. I
+    download this one manually.
+    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.
+    You can find a narrative summary of my assessment process here:
+    This also requires the registration file (something like
+    `myuw-COM_482_A_autumn_2020_students.csv`) which is described
+    above.
+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
@@ -2,14 +2,13 @@
 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
 rownames(d) <- d$
@@ -112,9 +111,9 @@ write.csv(d.print, file="final_participation_grades.csv")
 for ( in d$ {
-    render(input="student_report_template.Rmd",
+    render(input="../../assessment_and_tracking/student_report_template.Rmd",
-           output_file=paste("student_reports/",
+           output_file=paste("../data/case_grades/student_reports/",
                              d.print$UWNetID[d.print$ ==],

Community Data Science Collective || Want to submit a patch?