In this blog, we will talk about using a user script to harvest Canvas discussion data, loading the data to a Rstudio Shiny app that employs network analyses to analyze and visualize student discussion interactions. Instructors may leverage the visualizations to make an informed a decision on discussion facilitation and student group arrangements.
A user script is a script that runs in a Web browser to add some functionality to a web page. The user script we are going to use is to add a ‘get discussion data’ feature on a Canvas course discussion page. To use a user script you need to first install a user script manager. For Firefox, the best choice is Greasemonkey. For Chrome: Tampermonkey. Once you’ve installed a user script manager, click on the get discussion data user script, and click on the Install button. The script is then installed and will run in a Canvas course site it applies to.
Open a Canvas course that contains discussion activities, click on the ‘Discussions’ navigation tab, scroll down to the bottom of the discussion page, click on the ‘Get Discussion Entries’ tab, select “Generate one file with interactions”, and save the data in a csv file format.
If you open the file in a text editor, it should appear like the following format:
Each of the four column headers refers to:
reply_author – from, initial_entry_author – to, reply_word_count – weight, topic_id – group
Open the networkgraph app, load the csv file to the app. The discussion data is now presented in directed weighted network diagrams.
- The community detection: edge.betweeness.community algorithm is used to detect groups that consist of densely connected nodes with fewer connections across groups.
- The degree of a node: In-degree and out-degree are used to measure the direct ties for each node. Each node represents a student, and the size of an node corresponds to the quantity of interactions associated with the node.
- The weight of a directed edge: The directed connection corresponds to the direction of an immediate interaction, and the thickness of a link corresponds to the length of an interaction.
- The degree of a node (size of an orange circle) corresponds to the quantity of interactions associated with the node. You may adjust the size of nodes using the slider (control widget).
- The weight of an edge (thickness of a directed link) represents the length of an interaction, in this case, it corresponds to the word count of a reply message. You may adjust the thickness of links using the weight control widget.
- “edge.betweeness.community algorithm” – an approach to community detection in social network is applied to detect groups that consist of densely connected nodes with fewer connections across groups.
- You can select a group to examine student discussion interactions within the network.
- You can select an individual student and examine his/her discussion activities in relationship to overall discussion interactions.
The app has additional features besides the network diagrams that instructors can leverage.
- You can search by a student name and locate all interactions associated with the student.
- You can sort the data by the weight (the word count) of an interaction.
- You can use the Plot feature to examine the weight of an edge or the degree of a node for a student in relation to his/her peers.
- You can search by a student name and find out the total number of interactions and the total word counts of all the interactions associated with the student.
- You can sort the data by the number of interactions or total word counts to identify the most ‘influential’ or ‘active’ nodes.
- You can also download the matrix for further statistical analysis.