Here's the short version: Does anyone know of a tool I can use to create DataCamp-style coding environments that I can set up for my students?
Here's the longer version:
I've been teaching an "introduction to data management and statistical computing" course for graduate students for about 5 years now. At my institution, we use the Canvas learning management system, which has some great tools. But, I find that I also need to supplement the course with other technologies. My current mix is:
- Canvas: Shell to keep everything organized. This is where students find the syllabus, assignments and quizzes, and the modules page provides a course outline and helps students track their progress.
- YouTube: I post brief instructional videos on YouTube. Links to the YouTube videos are embedded in the modules section of Canvas.
- GitHub/Dropbox: I use a combination of GitHub and Dropbox to make data sets and example code available to students.
It may seem convoluted, but it seems to be working fairly seamlessly.
However, there is one huge gap. Other than manual inspection/running it myself, I currently know of no way to assess my student's code per se. Currently, I set up practice problems that require them to answer a question about the results of their code. If they their results are correct, I assume that their code was correct (or correct enough). However, if their results are incorrect, I have to manually review their code for the issue(s).
This is:
a. Time-consuming and tedious.
b. Misses an opportunity for students to get feedback and learn while they are actively coding.
I don't know how many of you have ever taken a course on DataCamp.com, but they have a wonderful coding environment setup. You code directly alongside the instructions and get instant feedback on your code. My guess is that they have put a significant amount of effort into creating that system from scratch. However, I'm wondering if anyone is aware of a similar system that I can integrate into my course?