[MUSIC PLAYING] DAVID MALAN: Hello, world, this is CS50's Introduction to Programming with R, a popular language for statistical computing and graphics and data science and other domains. My name is David Malan. CARTER ZENKE: And my name is Carter Zenke. DAVID MALAN: Where as CS50, otherwise known as CS50x focuses on computer science and programming more generally, this course, CS50R is entirely focused on R. You can take CS50R before CS50X, during CS50X, or after CS50X. CARTER ZENKE: In this course, we'll first explore how to represent data in this language called R, learn our structures for data called vectors and data frames. We'll then graduate to transforming data, in particular, filtering these things called logical expressions that you can use to analyze subsets of data that you have. We'll consider how to transform our data using functions and loops, and we'll use paradigms like functional programming. From there, we'll stand on the shoulders of those who have written R code before us. All in the pursuit of tidying our data and making it easier to analyze. Then, once our data is tidy, we are able to visualize it more easily too. Toward the end of the course, we'll test our programs to ensure they behave as we intend. And once they do, we'll package them up. This course then will take you from nothing about R to sharing your knowledge of R with the world. We're excited to see what you'll create. This is CS50's Introduction to Programming with R.