Materials for Teaching Applied Statistics

[This article was first published on R – Curtis Miller's Personal Website, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Today is the first day of the new academic year at the University of Utah. This semester I am teaching MATH 3070: Applied Statistics I, the fourth time I’ve taught this course.

This is the first semester where I feel like I actually am fully, 100% prepared to teach this class. I’ve taught MATH 1070: Introduction to Statistical Inference many times and got comfortable with teaching what I call “Statistics If You Don’t Like Math”, which is a terminal math course. MATH 3070 is “Statistics If You Do Like Math” and covers way more material. I struggled with the pacing the first two times I taught the course, so I’m glad I think I finally have that pacing down.

I just finished the public web page for the class that includes all the material (aside from stuff students have to buy, like the textbooks) I will be using for the class. There are three parts of this page that I’m excited to share.

First, there’s the lecture notes. I wrote the bulk of these notes in the spring semester, using R Markdown and the tufte package for Tufte-style handouts. These notes are half-filled notes meant to accompany my lectures. In response to feedback, I no longer use chalk but give these handouts to students and fill them out on my laptop (which has a touch screen; I use a compatible pen) which has its desktop projected behind me so the students can follow along. This greatly improves the flow of the class; no stopping to write long definitions!

The notes are meant to accompany the textbook, Jay Devore’s Probability and Statistics for Engineering and the Sciences, but with my own thoughts and examples, along with accompanying R code. Students can not only see the mathematics but also how these procedures can be done in R on a computer. Since R programming is an important skill the students will need to develop in the class, this addition should improve the course overall.

The chapter notes are available in parts, but I recently used bookdown to combine all the notes into one omnibus document, available here.

As these notes were written to accompany a textbook they are not meant to stand alone, though the enterprising instructor could possibly use my notes (without using Devore’s good book) and fill them in for their class, treating them as a major part of class materials.

Next, there’s the lab lecture notes. As mentioned above, R programming is an important skill I hope to develop in my students, so the class comes with an R programming lab (not taught by me, though I have taught it before) that teaches students (presumed to be programming novices) about R and programming. I wrote lecture notes to accompany the R lab textbook, John Verzani’s Using R for Introductory Statistics. This was just in R Markdown before, but I now have a bookdown version that is publicly available and more easily used than the collection of HTML documents I had before.

These notes come in two versions. There’s the summer semester version, which is the original version. These notes were written for an eight-week intensive schedule, and thus are divided into eight lectures. These notes were also written when I both taught the lecture and the lab at the same time, thus giving me perfect coordination between the two sections. Then there’s the regular semester version. This version was written for a 14-week course. I divided the summer schedule lectures and also added new lectures not present before (on tidyverse packages and Bayesian statistics) to slow down the lab to keep pace with the lecture course (not taught by me at the time); thus, these lectures include strictly more material. Unlike the earlier lecture notes (which must be in PDF format since white space is a crucial part of the notes), these notes come in both online and PDF versions, for both good online access and to have something printable.

All the source materials for these notes are publicly available too in this archive, should you desire to modify them or at least see how they were made (but if you do modify them, please be sure to cite me).

I submitted the summer lab lecture notes to the bookdown contest. While the book may not seem innovative to those who are familiar with bookdown, I feel like its existence is a major innovation, and I’m proud of it.

Finally, there’s StatTrainer. This is a Shiny app that I originally wrote for MATH 1070, but I think is still useful for MATH 3070. It’s an app that generates random statistics problems for students covering confidence intervals and hypothesis testing. This is to help aid study, giving students infinite practice problems. This app can be started from the command line on *NIX systems (see the webpage for instructions). I’m proud of this app and have mused on making a package based around it, not only implementing that specific app but also providing a framework for modifying it.

Hopefully someone out there, from a student or autodidact to an instructor or package author, finds this material useful. I worked hard on it (I’m shocked at how many pages I’ve apparently written in notes), and I can’t wait to see how the semester plays out with it.


I have updated the main web page with licensing information. The following license applies to all material on the web page, including the notes and R code.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

I have created a video course published by Packt Publishing entitled Applications of Statistical Learning with Python, the fourth volume in a four-volume set of video courses entitled, Taming Data with Python; Excelling as a Data Analyst. This course discusses how to use Python for data science, emphasizing application. It starts with introducing natural language processing and computer vision. It ends with two case studies; in one, I train a classifier to detect spam e-mail, while in the other, I train a computer vision system to detect emotions in faces. Viewers get a hands-on experience using Python for machine learning. If you are starting out using Python for data analysis or know someone who is, please consider buying my course or at least spreading the word about it. You can buy the course directly or purchase a subscription to Mapt and watch it there.

If you like my blog and would like to support it, spread the word (if not get a copy yourself)! Also, stay tuned for future courses I publish with Packt at the Video Courses section of my site.

To leave a comment for the author, please follow the link and comment on their blog: R – Curtis Miller's Personal Website. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)