rearrange the repository for publication
This commit is contained in:
parent
743e0a39f3
commit
9c4f81c30a
105
assessment_and_tracking/README
Normal file
105
assessment_and_tracking/README
Normal file
@ -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:
|
||||||
|
|
||||||
|
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.
|
||||||
@ -2,14 +2,13 @@
|
|||||||
#################################
|
#################################
|
||||||
|
|
||||||
case.sessions <- 15
|
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
|
## class-level variables
|
||||||
question.grades <- c("GOOD"=100, "FAIR"=100-(50/3.3), "BAD"=100-(50/(3.3)*2))
|
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
|
missed.question.penalty <- (50/3.3) * 0.2 ## 1/5 of a full point on the GPA scale
|
||||||
|
|
||||||
setwd("../")
|
source("../assessment_and_tracking/track_participation.R")
|
||||||
source("track_participation.R")
|
|
||||||
setwd("case_grades")
|
setwd("case_grades")
|
||||||
|
|
||||||
rownames(d) <- d$discord.name
|
rownames(d) <- d$discord.name
|
||||||
@ -112,9 +111,9 @@ write.csv(d.print, file="final_participation_grades.csv")
|
|||||||
library(rmarkdown)
|
library(rmarkdown)
|
||||||
|
|
||||||
for (x.discord.name in d$discord.name) {
|
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_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],
|
d.print$UWNetID[d.print$discord.name == x.discord.name],
|
||||||
sep=""))
|
sep=""))
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user