]> code.communitydata.science - coldcallbot-discord.git/blobdiff - README
renamed the README file
[coldcallbot-discord.git] / README
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..a972038
--- /dev/null
+++ b/README
@@ -0,0 +1,135 @@
+Setting up the Discord Bot
+======================================
+
+I run the Discord boy from my laptop. It requires the discord Python
+module available in PyPi and installable like:
+
+    $ pip3 install discord
+
+I don't have details on how I set up my own Discord bot and/or invited
+it to my server but I hope you'll add to this file as you do this and
+figure out what needs to happen.
+
+Using the Cold Call Bot
+======================================
+
+1. All students must have the role "Student" in Discord. If they do
+   not have the roll, they will not be called upon.
+
+2. The "classroom" is the "Classroom Voice" channel. This is currently
+   hard coded.
+
+3. The bot has only one command: "$next" which calls a person and
+   records this information in the logs. You can run this command in
+   any channel that the bot has access to (e.g., #bot-commands) but I
+   do it a public channel called "#classroom-questions" so that
+   students can watch it operate.
+
+
+Daily Process
+======================================
+
+You need to start the bot from the laptop each day. I do that by:
+
+  $ ./coldcallboy.py
+
+The bot will run in the terminal, print out data as it works including
+detailed weights as it goes, and it will record data into files in the
+/data/ directory.
+
+
+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.
+
+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.
+
+Assessment and Tracking
+======================================
+
+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 in that directory:
+
+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.
+
+One final note: 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.

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