At RStudio, we’re not just programmers, we’re also teachers. We know exactly what your mind needs to make the most of each training course. Let’s face it, learning a new language is tough. But we can make it easier. Plus, we know the ins and outs of the R code that will make you a rockstar programmer—we’ve written lots of it!

Here’s how we will help you master the R language and become as excited about R as we are:

First, our courses focus on real problems, problems that we’ve encountered in our careers as R users and in our time spent helping people on stackoverflow and the R mailing lists. When taking our courses, you’ll never wonder why you’ve learned something. You’ll know where we’re going as we move from solution to solution.

It’s hard to concentrate fully on one topic for more than 15 minutes, so we break things up, and use different parts of your brain. We interweave lecture, hands-on activities and small group activities, and take breaks to help you digest the new knowledge. (We also have plenty of coffee on hand!) In our teaching we use modalities, with lots of pictures, so that you see the same ideas presented in different ways.

We teach it the way you do it with your own computer: you can work in the environment in which you’re most comfortable, and when you go home, you can use what you’ve practiced right away. For some of our more advanced classes, just getting set up right can be a big hurdle, but we’ll have you completely ready to use R alongside your usual work tools.

We think programmers should be problem solvers, not typists. We’ll teach you the R commands that you need, but our focus is on how to solve real world problems with R. We want to equip you with the ideas that lead to good decisions and effective strategies.

We teach theory only when it’s most useful: to show you the common structure that underlies problems that seem different at first glance. We start by teaching the concrete and specific so you learn tools that are useful in the short-term. We finish by discussing some theory so that you learn tools that can help you solve more general problems in the longer term.

We select R functions and packages that can grow with you. In class we’ll focus on specific uses, but we pick tools that are made up of flexible building blocks. When you encounter a new problem, you’ll often be able to solve it by combining components you’ve seen before, or using new tools that are similar to tools you’ve already mastered. Building flexible tools with a deep underlying theory is also a focus of many of our open source projects.

Finally, we believe the most important outcome from our teaching is that you leave motivated and empowered. Learning R is like learning a new human language: it takes a while before you can speak fluently with all of the important vocab at the tip of your tongue. But we give you tools that have immediate payoff, and keep you motivated to learn the more incomprehensible bits. You’ll be excited to apply what you’ve learned, and the ideas we share will help you make sense of the rest. We want you to be passionate about R because it makes you so powerful.