Supporting and empowering students of many
backgrounds and experience levels in learning coding.
I was a Teaching Assistant for INFO 201: Technical Foundations of Informatics for 4 academic quarters between Autumn 2018 and Autumn 2019 where I taught students to work with data and produce data visualizations. The purpose of my work was to support my section of 25 students by facilitating weekly lab sections, holding weekly office hours, providing grades and feedback on assignments, and supporting students in defining and implementing a team-based final project.
Prior to this role, I was a CLUE tutor for INFO 201 for one quarter and supported students in finishing their homework. Through this experience, I found that I really enjoy being helpful and supporting students in reviewing content and overcoming challenges. I became a TA for the opportunity to develop longer-term relationships with my students, and to be able to spend more time teaching rather than just helping with homework.
Through the role, I was glad for the opportunity to experiment with many teaching strategies. I discovered that students learned best through example problems and hands-on practice. Rather than lecturing, I now identify with a strategy of introducing concepts, showing an example application, and giving students time to practice, and now apply this to other teaching experiences.
Every quarter, I organized an evening work session with 40-80 attendees for students to get last-minute support from TAs as they wrap up their final projects. This included ensuring a room is booked and arranging for 3-4 TAs to attend.
I developed slides that other TAs used to effectively conduct their lab sections. This includes content to review course material as well as relevant activities and exercises. This was important because the sample slides TAs received to help them conduct their lab section were outdated and not very effective.
In Autumn 2019, I conducted two lectures for 200 students on advanced data wrangling and data cleaning. This included evaluating previous quarters’ slides and exercises and considering common student confusions to ultimately create relevant and thorough but approachable content.
Leadership Competencies Gained
Students often share personal circumstances with their teaching assistant when they are struggling. Every quarter, I had students dealing with demanding circumstances: students with family in the hospital, students commuting or working, and students with children. Seeing the diversity of student experiences, it was important for me to be supportive of others by being graceful and flexible in accommodating people individually.
For instance, I had one student who I rarely saw and who missed most of his assignments. He did not ask for support, but in noticing this trend, I reached out to him to ask how I could help him in the course. He shared with me that medical problems had been making it challenging for him to make it to class, so we made a plan for him to catch up, found times to meet for one-on-one support, and extended deadlines for all his assignments. By being empathetic and reaching out to a student who otherwise might not have asked for help, I was able to support his academic success.
As a leader, I believe it is important for me to be empathetic in order to be able to create bonds with those I’m working with, to be able to support them as individuals, and to be able to communicate more personally.
For many students, this was their first coding class. This made it challenging for many students and could even cause self-doubt. This was especially true for students from non-technical majors: these students were taking the class in order to develop skills that can be applied to their own field, but it is totally new to them. This was also common for women taking the class: programming is a male-dominated field and imposter syndrome is common.
For all my students but especially doubtful students, I helped them develop self-confidence by encouraging them to take risks. For instance, if they asked, “is this the right code to do this?” I encouraged them to run it themselves and they were often right! This helped them develop independence in being able to test their own code.
In addition, I made sure to provide positive affirmation when they’re successful. I also regularly put into context all the things they have learned this quarter since the course covers a lot.
Every quarter, I organized an evening work session with 40-80 attendees for students to get last-minute support from TAs as they wrap up their final projects. This included communicating the event with students, ensuring a room is booked, sometimes organizing snacks, and arranging for 3-4 TAs to attend. This is an example of initiative because this late-night work session was unprecedented and it was not an expectation for my role. However, I recognized a need, proposed it to the teaching team, and took the necessary steps to have the event really happen.
I facilitated a weekly lab section for 25 students where the material to cover and the exercises to complete was totally at my discretion. This made it important for me to consider the new material the students had covered and upcoming material that could pose a challenge to determine what the lab section should cover. This was especially important because attendance was not mandatory, so students would not come if the content was not valuable.
Given that I was a TA for multiple quarters, I had an understanding of what students struggled the most with. I used that knowledge to design useful lab sections. I looked at the upcoming assignments, prepared materials that served as a useful review or cheat sheet, created a demo that is relevant to an assignment, and finally designed an exercise that is basically a smaller version of the homework so students can practice those skills.
When creating slides for lectures or lab sections, I had an objective of making reference slides so that students could look back at them later as “cheat sheets” for their homework. This required being able to explain technical concepts in writing in understandable ways.
For instance, I taught students a tool called Git. I used a labelled visual explanation of the process that gives them a high-level explanation of how it works, along with a cheatsheet table of commands so they knew how to use it.
Another example is when I taught students a function called join. I used examples and visuals to help students be able to develop an intuition for how it works and why it’s useful, and examples of how to use them along with short explanations to communicate the technical details.
Parallel to being a TA, I was working in Residential Life. In both of these roles, my work reflected my personal values in how I helped students navigate the complicated and stressful university environment beyond my job responsibilities. I accomplished this in a number of ways. I shared resources including the Counseling Center and the CLUE academic support program broadly through course-wide email announcements and in-person lab section announcements. I also shared career opportunities including relevant job openings and career fairs.
Beyond the large-group, I spoke with students one-on-one to understand their interests and help them navigate opportunities. I discussed the Informatics major with multiple interested students individually to provide context on the program, application tips, and application feedback. I encouraged two of my students to become TAs for UW programming courses by recognizing their interest in teaching and providing application feedback.
I believe that it is important for my personal values to be reflected in all the leadership roles I pursue, and I am proud of the impact this approach has had on my students, especially who went on to be Informatics majors, TAs, or successful in their individual goals.
Advocating for a point of view
In many cases where our teaching team's operations deviated from the needs of the students, I advocated on behalf of the students' perspectives.
Our course had weekly assignments and TAs were expected to release grades and feedback 24 hours before the next assignment was due. Some quarters, some instructors would release grades late. Within our group, I reminded other TAs of the students' perspectives: students rely on timely feedback in order to consistently improve and earn good grades on their assignments.
In one quarter, we had grading discrepancies across our TAs. These discrepancies stemmed from a poorly-defined rubric, so TAs graded according to their own interpretation of what is "right." The primary issue was student work that demonstrates correct logic and reasoning, but has errors such that the code would not run. Some TAs argued that this work should receive zero credit since the code would not run,. I successfully advocated for the students' perspective that logical reasoning is the most important and the most difficult part of programming and students should receive partial credit in these cases.
I believe that effective leaders should advocate on behalf of the people they serve, and I demonstrated this through my interactions with the teaching team.
As a TA, I regularly asked for feedback from my students in order to maximize the utility of the weekly lab sections I facilitated. Through sending out feedback forms to my students once or twice each quarter, I was able to understand my students' concerns and the utility of different lab section activities.
These feedback forms helped me identify areas where students need the most support. For instance, a "function" is a computer science concept that is useful but conceptually challenging. This concept is introduced towards the beginning of the quarter, but I found that students had questions about the concept even towards the end of the quarter. I took action on this feedback by developing a lesson to review the concept immediately, and additional resources to use in subsequent quarters to more effectively teach functions in the first place.
Additionally, these feedback forms showed that students valued receiving anticipatory resources including schedules of upcoming due dates and approaches to common homework challenges for upcoming assignments. Thus, I included resources for students to plan ahead in every lab section of every quarter.
Through this experience, I found that I enjoy teaching and working with students. This inspired me to explore other teaching opportunities to better define my interest such as when I taught high schoolers at iD Tech Camps or when I taught leadership skills as an Assistant Resident Director for HFS.
This experience also showed me that the most effective way I can teach is through facilitating small-group activities. In iD Tech Camps, I had my students learn concepts by working in small groups on whiteboards rather than lecturing to the group or through too much individual work. As an Assistant Resident Director, I adapt the trainings I facilitate to encourage groups to move around and have discussions in groups.