DataCamp-style teaching/learning environment

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:

  1. 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.
  2. YouTube: I post brief instructional videos on YouTube. Links to the YouTube videos are embedded in the modules section of Canvas.
  3. 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, 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?

Have you seen swirl? It might be useful.

1 Like

That does look useful. I need to check it out. Thanks!

Personally, I would recommend looking into Datacamp for the classroom:

This course does this as well, so it might be worth asking what their thoughts are:
cc @cboettig


Thanks, @pgensler! This is also really interesting stuff. My immediate concern is that this may give the appearance to my administration that I am pawning off my teaching responsibilities to DataCamp. I'd have to think carefully about that.

DataCamp actually allows you to author your own courses using all of their infrastructure.

If you login to datacamp and go here to the open courses section of Community, you should see "Create your own course" in the top right hand corner.

This allows you to create a full course exactly how datacamp would. Once you are done you can publish the course and you can give your students the link to the open course to take it for free. For instance, here is a test course i just set up:

Because you are the instructor that created the course, you should be able to view all of the people that took the course and their answers to each problem. If you design SCTs (code that tests their code), then you can make sure that they have a nice experience when doing your problems and that most errors are caught and a nice error message is generated.

Be prepared though, creating a DC course takes a lot of work!

They also have a bookdown report that has some documentation that could help:

There is even a free course that is used in combination with a Coursera course that actually embeds an RStudio session into the DC exercise editor. Pretty neat.


Oh, wow! That sounds amazing, @davis! Thanks for sharing all this info. I can't wait to give it a try!


Hey Dr. Cannell, you might also try reaching out to some of the DataCamp staff, they could have more information/documentation than is publicly available. Chester Ismay (Data science curriculum lead @ DataCamp) is very kind and responsive on Twitter.

1 Like

Hey @TMock, Thanks for the tip!

Have you seen learnr? It's another nice alternative. I haven't used it for graded work (yet) but it's been really good for providing exercises students can work on and get immediate feedback.


Hi @mine. I have seen learnr before, but haven't explored it deeply. I'll take another look. Thank you!

I give my students access to DataCamp and don't view it as pawning off at all. It gives me more time to teach theory if I don't have to spend time dealing with syntax. The students like it too because there's a great diversity of skill levels in the class. I don't grade the DataCamp material -- there are certain things they need to know. If they already know it there's no reason to complete tedious exercises. I also tell them that they can figure out how they learn best, for example, they might want to do some of the exercises but not all of them.

1 Like

These are some great points!

@brad.cannell, did you find a solution that worked for you? I find myself in a similar situation. And if you went with DataCamp, did you easily find a way to integrate DataCamp grading with Canvas grading? Or did you still need to go one-by-one through students and assign a grade for each assignment?

Hi @casandra.hutchinson,

I’ve decided to try using DataCamp, but I’m still in the process of building the course. I’ll be teaching it for the first time this summer. I’m happy to give you access to the course when it’s built. I can always use feedback. Hope you had a good holiday.

Brad Cannell

Hey @brad.cannell,

Sounds good. I'd gladly check it out. For this semester, it looks like I'll be trying to use different chapters from different existing courses, but it does look like to get exactly what I want I'll need to build my own course, in the end. :confused:


Also take a look at DataCamp Lite.