A large number of industry and academic jobs require basic programming and data analysis skills. This class represents an introduction to both. Students will learn to program in R and will briefly be introduced to Python, the two most popular programming languages for data science. Common constructs shared by a variety of procedural programming languages will be emphasized. Basic statistics and probability theory will be reviewed from a computational perspective, and more advanced topics introduced. During the course, students will simulate toy data sets which they will then analyze knowing how the data came about, as well as work with real data. The class is highly hands-on with a large number of in-class lab and homework projects. Expect to work a lot and move quickly. Because of the hands-on nature of the class, the overall focus is more on application and execution rather than theory. However, some theory is covered at a high level so that students are aware of why they are doing something, rather than mindlessly writing code.