Add an OpenDSA Exercise or Visualization to a Canvas Course


OpenDSA is an eTextbook project developed at Virginia Tech. OpenDSA materials include many visualizations and interactive exercises that support courses in a wide variety of Computer Science-related topics such as Data Structures and Algorithms (DSA), Formal and Programming Languages.

OpenDSA has hundreds of visualizations and exercises. Most algorithms and data structures are illustrated by interactive algorithm visualizations. Students could enter their own test cases to see how the algorithm or data structure works on that input, and they can control the pacing of the visualization.

A course instructor who is using the Canvas LMS can add individual OpenDSA materials directly into their Canvas courses. Below are detailed instructions on how to do this. Gradable modules and exercises will report scores to your Canvas' gradebook.

To add one or more OpenDSA modules, exercises, or visualizations in your Canvas course, perform the following steps:

Step 1: Go to OpenDSA.org and create an account. You should use the email address that is associated with your instance of Canvas.

Step 2: Send an email to opendsa@cs.vt.edu and ask for instructor access.

Step 3: Once you are provided with the instructor access, you need to click on your email address at the top right corner of the page and you will be redirected to a page from where you can copy your consumer key and a shared secret as shown in the image below:

Step 4: Next, navigate to your course in Canvas and click the "Settings" link in the left sidebar.

Step 5: Go to "Apps" and click on "View App Configurations". Note that your institution's version of Canvas might display differently.

Step 6: Click on the "+App" button.

Step 7: In the dropdown box at the top of the pop-up window, select "By URL". Paste your consumer key and the shared secret that you copied in Step 3. After that, paste https://opendsa-server.cs.vt.edu/lti/xml_config under "Config URL". This is the URL to the XML configuration for OpenDSA.

Step 8: The final configuration for OpenDSA should look like the image below. Press "Submit" to add OpenDSA as a Tool Provider to Canvas.


Now you can insert OpenDSA stand-alone modules, visualization, and exercises as either graded or ungraded content. To insert as ungraded content follow these steps:

Step 1: Navigate to the Module in your Canvas course where you would like to insert the OpenDSA content and click the "+" button to the far right of the module's name.

Step 2: In the dropdown box at the top of the pop-up window, select "External Tool". You will see a list of the external tools that are configured for your course. Click on the tool labeled OpenDSA.


Step 3: If this is your first time going through this process for your course, you will be asked to provide some information that OpenDSA can use to identify your course offering. Fill out the required fields and click "Submit".


Step 4: Once you do that, a tree view will be displayed listing the topics for modules, visualizations, and exercises that are available. To expand one of the categories click the arrow to the left of the folder icon. You will then see a collection of OpenDSA modules. If you want to add a module to your course, just click on the name of the module. Expanding a module by clicking the arrow to the left of its name will display the names of the exercises and visualizations contained within that module. If you want to add an individual exercise or visualization to your course, simply click on it. Once you select the resource you want to add, the "URL" textbox in the Add Module window will then be automatically filled in with the URL that will be used to launch the resource.


Step 5: The new module item will appear under the module name. To make the module item viewable by students, click the publish button to the far right of the module name (to the immediate left of the gear icon).



To insert an OpenDSA exercise as graded content follow these steps:

Step 1: Navigate to the "Assignments" page in your Canvas course and create a new assignment by clicking on "+Assignment" button.

Step 2: Find the input field labeled "Submission Type". In the dropdown box select "External Tool", then click the button labeled "Find" to view the list of available tools.

Step 3: A list of the external tools configured for your course will be displayed. Find the tool named "OpenDSA" and click on it to open the resource selection window.

Step 4: If this is your first time going through this process for your course, you will be asked to provide some information that OpenDSA can use to identify your course offering. Fill out the required fields and click "Submit".

Step 5: Once you do that, a tree view will be displayed listing the topics for modules, visualizations, and exercises that are available. To expand one of the categories click the arrow to the left of the folder icon. You will then see a collection of OpenDSA modules. If you want to add a module to your course, just click on the name of the module. Expanding a module by clicking the arrow to the left of its name will display the names of the exercises and visualizations contained within that module. If you want to add an individual exercise or visualization to your course, simply click on it.

Step 6: The URL textbox on the assignment creation page will then be automatically filled in with the URL that will be used to launch the resource you selected.

Step 7: On the Canvas assignment creation page, specify the number of points the assignment will be worth, choose the assignment group, specify a due date, and then click "Save and Publish" to make the assignment immediately visible to students. Students will be able to see the newly created assignment in the list of assignments as shown here:

The students will be able to complete the assignment by clicking on any assignment from the list. One example of OpenDSA assignment is shown here:
Once a student completes an assignment, his/her grade will be submitted to Canvas' gradebook as shown below: