You have (frequently asked) questions!

If you don't find an answer to your question on this page, please check our Help page for more options.

What is swirl?

swirl is a software package for the R programming language that turns the R console into an interactive learning environment. Users receive immediate feedback as they are guided through self-paced lessons in data science and R programming.

For a more technical discussion of swirl's inner workings, please visit our GitHub repository. The project is entirely open source, so you're only limited by your own curiosity.

Who is swirl's intended audience?

Most of the original swirl content was developed with beginners in mind. We have added more advanced topics over time and will continue to do so in the future. For the most up-to-date course information, check out our course repository and for even more courses visit the Swirl Course Network.

What do I need to use swirl?

Check out our Students page for step-by-step instructions on getting started with swirl. Most importantly, you'll need a computer with an internet connection and a recent version of R installed. We highly recommend you get RStudio as well.

Is RStudio required to run swirl?

No, but we highly recommend it. The main reason for this is that it will make your life as an R programmer a whole lot easier, particularly if you're new to R. It's possible that at some point in the future we will add functionality to swirl that makes special use of RStudio's graphical user interface (GUI).

How long will it take me to work through a typical swirl lesson?

Although swirl lessons vary in length, we aim to keep them around 10-20 minutes a piece. We find that this is generally long enough to convey a meaningful amount of information, but not so long that you'll get bored or overwhelmed. A key feature of the swirl learning environment is that it is totally self-paced, meaning that you can take as much (or as little) time as you need to fully understand the material.

How did swirl begin and who is behind it?

The idea for swirl grew out of a conversation between a graduate student at Johns Hopkins Biostatistics, Nick Carchedi, and his mentor, Brian Caffo, during the summer of 2013. At the time, Nick was looking for a summer project to keep him out of trouble. Fed up with the lack of existing tools for learning R and data science interactively, he wondered whether he could create an interactive learning environment within the R console. Brian challenged him to try.

Over the next several weeks, with sage advice from Brian, Jeff Leek, and Roger Peng, a prototype for swirl emerged. With the gracious help of two summer interns, Lauren Williams and Ethan Schwartz, Nick created some preliminary instructional content. In September 2013, the release of swirl 1.0 was announced on Simply Statistics.

This news caught the attention of a couple, Bill Bauer and Gina Grdina, who had a strong interest in education, math, and software development. Bill and Gina reached out to Nick and have since been instrumental in transitioning swirl from a quirky prototype to a serious learning tool. Many others have contributed along the way to swirl's success and are credited in Nick's follow-up post on Simply Statistics.

In 2015 Sean Kross took over as the maintainer and lead developer of swirl. Sean and Nick met in the summer of 2013 during their work in the Johns Hopkins Data Science Lab.

Will swirl always be free and open source?

The swirl R package and its core content will ALWAYS be free and open source. This is something we take very seriously.

While we may offer customized content or advanced features/add-ons to enterprise customers, this will NEVER impact individual users. Furthermore, we will NEVER attempt to profit from content contributed by independent instructors without explicit consent.

Does any content I contribute to swirl remain my property?

Yes! If you share content via the swirl platform, it remains 100% in your control. In fact, we're currently working on a better way to give instructors credit for their contributed content. swirl is a platform of the people, by the people, and for the people!

How do I get the most recent version of swirl?

As we are constantly adding new features and content to swirl, we will make the most recent version of the software available on CRAN every 1-2 months. Standard installation instructions can be found on our Students page.

If you want all of the latest features and content, but don't feeling like waiting around for the official updates to be released, you can always access the development version of swirl via our GitHub repository. Here's the process for installing and running the development version of swirl directly from the R console:

> install.packages("devtools")
> library(devtools)
> install_github("swirldev/swirl", ref = "dev")
> library(swirl)
> swirl()