]> code.communitydata.science - coldcallbot-discord.git/blob - README_daily
changed from absenses to opt-out since that matches syllabus
[coldcallbot-discord.git] / README_daily
1 I keep my entire data directory in git and I'd recommend that you do
2 too. Just make sure you don't commit and publish student records into
3 the public git repository. I usually just keep a separate branch for
4 classes.
5
6 Daily Process
7 ================================
8
9 1. Open your terminal (on Windows, this will likely be powershell in anaconda)
10
11 2. Change into the directory with the coldcall scripts.
12
13 3. Download new data with: `python download_student_info.py`
14
15    This will download the latest version of absence data into `data/optout_poll_data.tsv` as well as th student information into `data/student_information.tsv`.
16
17    If you noticed any changes you need to make (e.g., the same preferred names, incorrectly entered absences, etc) you should edit the Google sheets and then running the download again with the same script.
18
19 4. When you're ready, fun the main script in the same directory: python coldcallbot-manual.py
20    
21    This will both:
22    
23    - output a paper list in terminal. I often redirect this to a file like: `python coldcallbot-manual.py > data/paper_call_list-2024-09-26.txt` or similar.
24    - Create the computed call list in the `data/` folder
25
26 During case, I take notes on student answers on paper during class (typically I
27 only note down non "GOOD" answers) and then add these to the sheet
28 immediately after class.
29
30 After class each day, you need to open up "call_list-YYYY-MM-DD.tsv"
31 and edit the two columns in which you store the results of the
32 case. The first columns `answered` means that the person responded and
33 answered the question (i.e., they were present in the room but away
34 from their computer and unresponsive). This is almost always TRUE but
35 would be FALSE if the student were missing.
36
37 The assessment column should be is "GOOD", "SATISFACTORY", "POOR", "NO
38 MEANINGFUL ANSWER" or "ABSENT" but you can do whatever makes sense in
39 this and we can work with it when it comes to grading. Just make sure
40 you are consistent!
41
42 Details on my rubric is here:
43
44 https://wiki.communitydata.science/User:Benjamin_Mako_Hill/Assessment#Rubric_for_case_discussion_answers
45
46
47 Assessment and Tracking
48 ======================================
49
50 These scripts rely on a file in this repository called
51 `data/student_information.csv` which I have set to be downloaded
52 automatically from a Google form using the download script.
53
54 I don't expect that these will necessary work without
55 modification. It's a good idea to go line-by-line through these to
56 make sure they are doing what *you* want and that you agree with the
57 assessment logic built into this.
58
59 For reference, that file has the following column labels (this is the
60 full header, in order):
61
62     Timestamp
63     Your UW student number
64     Name you'd like to go by in class
65     Your Wikipedia username
66     Your username on the class Discord server
67     Preferred pronouns
68     Anything else you'd like me to know?
69
70 The scripts in this directory are meant to be run or sourced *from*
71 the data directory. As in:
72
73     $ cd ../data
74     $ R --no-save < ../assessment_and_tracking/track_participation.R
75
76 There are three files in that directory:
77
78 track_enrolled.R:
79
80     This file keeps track of who is in Discord, who is enrolled for
81     the class, etc. This helps me remove people from the
82     student_informaiton.csv spreadsheet who are have dropped the
83     class, deal with users who change their Discord name, and other
84     things that the scripts can't deal with automatically.
85
86     This all need to be dealt with manually, one way or
87     another. Sometimes by modifying the script, sometimes by modifying
88     the files in the data/ directory.
89
90     This requires an additional file called
91     `myuw-COM_482_A_autumn_2020_students.csv` which is just the saved
92     CSV from https://my.uw.edu which includes the full class list. I
93     download this one manually.
94
95 track_participation.R:
96
97     This file generates histograms and other basic information about
98     the distribution of participation and absences. I've typically run
99     this weekly after a few weeks of the class and share these images
100     with students at least once or twice in the quarter.
101
102     This file is also sourced by compute_final_case_grades.R.
103
104 compute_final_case_grades.R:
105
106     You can find a narrative summary of my assessment process here:
107
108     https://wiki.communitydata.science/User:Benjamin_Mako_Hill/Assessment#Overall_case_discussion_grade
109
110     This also requires the registration file (something like
111     `myuw-COM_482_A_autumn_2020_students.csv`) which is described
112     above.
113
114     To run this script, you will need to create the following subdirectories:
115
116     data/case_grades
117     data/case_grades/student_reports
118
119
120 One final note: A bunch of things in these scripts assumes a UW 4.0
121 grade scale. I don't think it should be hard to map these onto some
122 other scale, but that's an exercise I'll leave up to those that want
123 to do this.
124
125    
126  5. after class, update the call list in the data folder to remove lines for any call that didn't happen (or you don't want to count) and update the assessments:
127  

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