This semester, I returned to holding R open labs with another student intern, Hanying Ji. We made some adjustment about the structure of the open labs. Time flies, and now our R open labs have reached its end for this semester. I would like to summarize our journey and provide insights for both myself and future interns, hopefully.

**A quick overview**

We covered 9 topics this semester in total including the starter kit. This is almost twice as many as last semester. For the last open lab, we even ran out of major topics. This is unimaginable to me, and it is proof of success. We conducted open labs on the fundamentals, apply family, exploratory data analysis, character strings, data visualization, data manipulation, shiny, and randomness. These are pretty much everything a beginner needs to learn to use R without going too theoretical.

The flow of teaching is the same. I first introduce and do an example of the function quickly. Then, I show attendee the help page of the function so that they get a sense of arguments and results. Finally, I will talk about additional important arguments and do some examples with those arguments changed. For example, when I was introducing the function `matrix`

, I demonstrated examples with the argument `byrow`

= T and `byrow`

= F. By visualizing the output of both, students can understand that argument better.

**Success**

We made some changes compared to last semester, and they are all positive based on our program’s performance.

- We started using Github repository as the way of sharing codes and data sets. It was messy to share files through google drive, and people had to come back to me asking for access. Using Github solves this problem. Plus, I think it is great to introduce Github to them since it is useful while handling and managing codes and projects.
- We promoted and advertised this program at the beginning of this semester. A lot of students told us that they wish they knew this program earlier. So I asked my friends to help me spread the words in SIPA and QMSS community. Also, my supervisors got the words out by sending emails to different departments. As a result, we have seen a decent population who attends our open labs consistently.
- We stuck with using examples and let the functions demonstrate themselves. Introducing and describing coding can be boring and dry. Having examples let students visualize the process in their heads, and thus, they can get familiar with the new functions quickly.

**Potential improvement**

- The fundamental concepts, especially the part about loops, should have more examples and practice problems. I noticed that for people who had coding experience before, it is easy to grasp the basic concepts, but for those people with zero experience in coding, the loop and conditional part is the first obstacle. Having enough practice in this part will help students get used to R coding.
- The pace could be a little slower. As I mentioned above, we ran out of topics to cover by the end of this semester. I also felt that students didn’t fully understand some of the topics. I think in the future, the pace of open labs should always be adjusted according to the situation. Also, diverse examples can be added to help attendee learn important topics such as data manipulation.

This is my last semester at Columbia University, and I am honored to participate in this program again. It has been a fulfilling experience. Starting from my undergraduate years, I have been a TA for many years. I enjoy helping fellow students overcoming their difficulties and serving the university community. It is definitely pleasant to see that this program has a better performance this semester. For the ones who take this position in the future, I am more than happy to discuss with you about how to be a helpful TA and how to run this fantastic program.