I'm currently the vice president of Data Science at UCSB, where I often find myself teaching people of varying skill sets. But a technique that seems to work is project based learning. Datacamp and resources that are similar are great, but they're limiting in actual application. Feedback I've heard from people who use Datacamp, that its great to teach the skillset, but they are still unsure of applying what they've learned.
Since most of us are undergrads we don't have too much experience with application of data science, but we found a formula that works for the projects we tackle. So we've taken that approach, more info here.
Setting up environments is probably the biggest issue when it comes to teaching. We found that it helps to create tutorials for users to go back to or else your just repeating the same walk through over and over again. This can be down with a markdown file in Github, but we created a platform where we just include all our documentation so that people can reference when we're doing hands on learning. See here
But I would love to hear more about this since I'm always learning and would like to learn from other people, since my goal is to start teaching r and data science to a much wider audience!