How teaching second graders helps me teach R

From 2005 to 2007, I was a second grade teacher at Bel Pre Elementary School in Silver Spring, Maryland. It was the hardest job I’ve ever done. But I learned so much about teaching during that time (as well as my education master’s program) that it was anything but a waste. Recently, I’ve been reflecting on ways that I’m incorporating lessons learned from my time working with young students into how I’ve designed my Fundamentals of R course for (slightly) older students.

Lesson #1: Go Slow

The main lesson I’ve tried to incorporate is to move slowly. The problem with knowing how to do something is that you forget how much you know, and thus ignore how overwhelming any single new thing is for newcomers. As I’ve designed lessons, I’ve sometimes worried that they move too slowly. Fortunately, the folks I’ve had pilot testing my course have set me straight, telling me that, if anything, there were times when it moved too fast.

Lesson #2: Embrace the Zone of Proximal Development

Another way I’ve brought my teaching background into designing the Fundamentals of R course is in thinking about what’s called the “zone of proximal development” or ZPD. This idea, developed by the Russian psychologist Lev Vygotsky, was beaten into me during my master’s program. It suggests that students should always be given tasks just outside of what they are currently capable of doing. With support from a guide, though, they can accomplish them.

The role of the teacher in this framework is not, on one extreme, to be the sage on the stage, spouting knowledge for students to ingest or, on the other extreme, to simply “let students figure things out on their own.” With the first approach, there is very little active learning and thus students don’t retain much of the material the teacher presents. In the second approach, students are overwhelmed and don’t know how to make progress (or even understand where they should be going).

The Fundamentals of R lessons have videos where I go over key concepts (often building on past lessons). Importantly, they also have exercises for each concept. I’ve designed the combination of videos and exercises so that students are actively working on tasks that are just beyond what they are currently capable of.

Lesson #3: Reduce Cognitive Load

The final way that I’ve drawn lessons from my second grade experience is by not overwhelming students. R is very flexible and there often multiple ways to accomplish the same thing. It is tempting as a teacher to want to share multiple ways to do something in R. But I’ve found this to be counterproductive, with it providing more cognitive load than students are capable of handling. So, instead, I’ve taken a very opinionated approach in designing my courses (using the Tidyverse, something I discussed in an email last week) to focus on a single approach to common tasks.

I teach one way to do crosstabs in my Fundamentals of R course. It works for me, and I think there’s a decent chance it will work for you too. If it doesn’t, though, I’d be happy to have you learn about the many other ways to do crosstabs. But what I don’t want to happen is for me to show you three ways for you to do crosstabs, have you get overwhelmed, and not get anything out of that lesson.