Tales of a First-Time TA
Saturday, August 23, 2014
I haven't written in quite a while because I've been busy this past summer teaching for CS 61BL (Data Structures & Programming Methodology in Java) at UC Berkeley. Now that the course has completed, I thought I'd share some arbitrarily chosen stories and reflections on my first semester as a TA. Hopefully, there will be a good mix of funny, informative, and thoughtful entries.
Interspersed with my recollections, I'll be including snippets from journal entries I kept for CS 375. CS 375 was an excellent pedagogy course required for computer science GSIs, taught by the amazing Victor Huang (veteran GSI extraordinaire).
The first day of class
The days leading up to the first day of class, I wracked my mind for good ice breakers. I asked my more experienced TA friends for suggestions, and I even looked for examples online. Occasionally, I would wonder to myself, "Is there even such a thing as a good ice breaker?" I didn't know what to do.
It turns out that 2 minutes into my first lab, I still had no idea what to do. So I did perhaps the lamest thing in TA history. I told me students, "I'm a libertarian. I believe in freedom. You all can choose whether you want to do an ice breaker or not. Just know that you'll be stuck in here for 12 hours each week, so it might be nice to know everybody else."
To my simultaneous dismay and relief, my students chose to do an ice breaker. Ever the creative person, I said, "Name, year, major, go!" while pointing to the student closest to me. Thankfully, my students all had wonderful personalities and went with it.
And somehow, we all ended up having a fun and lively section this summer. Either I'm a genius creator of ice breakers, or my students are just magical unicorns. Or both. It could definitely be both.
Now that school is restarting again in less than a week, I'm realizing that I still don't have an ice breaker. This could be problematic...
Journal entry: June 23
I forgot most of the students' names after the introductions, but I tried to ask students as I worked with them later one-on-one.
Confusion as a teaching tactic
In CS 375, we were introduced to the idea of using confusion as a teaching tactic. This may seem counterintuitive, but many students will engage more deeply with material if they are confused by it. Confusion and the subsequent struggle to make sense of a problem motivate learning, challenge misconceptions, and lead to longer-term retention of concepts than simply seeing familiar, matter-of-fact things does.
For more context on this idea, please view this interesting video on the Effectiveness of Science Videos. It starts off a bit slowly, but the results of field studies presented later in the video are quite interesting.
Throughout this semester, I have tried to utilize this tactic in my teaching. One area in which I applied this concept was quiz reviews. The students would take a quiz for the first twenty minutes of every lab section. If a significant portion of the students had difficulties with the quiz, I would review it the next day while addressing misconceptions.
As I graded the quizzes, I would aggregate common mistakes ranging from syntax and off-by-one errors to logic misunderstandings and exception-throwing code. For example, if I observed roughly 10 to 15 different errors, I would create two or three terrible "solutions" that combined all sorts of errors.
In class the next day, I would present my "solutions" and ask students if they could identify problems in the code snippets and suggest fixes to the code till it worked correctly. I think this review exercise was a helpful and engaging way of reviewing quiz solutions. My hope was that students would recognize their own mistakes in the examples and internally correct their own misconceptions.
I think debugging the code of others can help students improve their own code. And having to actively look for and report errors is a far more engaging activity than staring at a correct solution.
In the spirit of creating confusion to cause learning, I would also occasionally throw in a completely correct solution to check that my students were on their toes.
Encouraging exploration & not knowing everything
Learning is all about exploration. Something that I learned as I taught was that I didn't need to prove that I knew the answer to every question. And more importantly, I didn't need to know the answer to every question.
Being a TA is not about being a human encyclopedia or a human compiler. It's more about being able to guide students in the right direction and encouraging them to go off and explore on their own. Students don't necessarily learn and grow by memorizing facts. I would argue that students really improve when they figure out how to test ideas for themselves or when they discover resources they can reference to solve problems.
It's a gut instinct to want to immediately give an answer when asked. After all, most of our lives, we've been conditioned to regurgitate knowledge. But this doesn't make for the best teaching practice. Sometimes, it is far better to respond to a question with another question that guides students to form their own ideas and hypotheses.
Let's say, for example, that you're often asked questions about how a language will work. If you always give the answer, you will become a reference for that language, and it may happen that your students will eventually get to asking you questions that you don't know.
Let's say, however, that you ask your students to create tests that will answer their own questions by having them write code examples they could use to test how a compiler or interpreter will react. Helping them figure out the answers to their own questions will teach them the skills to figure out information on their own when you are gone. And this skill is arguably far more valuable than proving that you know the answer to a question.
What does this additionally mean for me? This means that there is less pressure for me to always give the correct answer at a moment's notice. It's okay to not know everything. If a student asks you a question that you don't know, it's a great opportunity to run some tests with him or her. Learning is all about exploration, and there is no better way to spend a moment of teaching than to learn with your student!
Journal entry: July 3
Today, someone asked about a tricky case (whether or not it would produce a compiler error). I knew the answer to that question, but I thought of something else that I didn't know the answer to. So I told him about that question and asked him to figure it out for me and let me know. I think he found it interesting, and he told me the answer to this other question. I think I might try that for more students that are curious about more nuanced topics.
Talking about my favorite topic
Those of you who have taken a look at my blog before may notice that I am seriously enthusiastic about Git. I am delighted to say that I contributed an excellent - if I do say so myself - lab on Git to the 61BL curriculum.
This lab had been several months in the making, as I had been planning to finish my own Git lab at some point. Some of the beginning slides may look familiar from my previous post on version control.
It was lots of fun to introduce Git to some of my students, and in later weeks, it warmed my heart to see students collaborating on projects using Git.
Self-deprecating humor & student interaction
As I taught, I was often concerned with generating student participation. This is because participation helps with understanding and retention of material for interacting students and is helpful for me to be able to focus on topics students are confused about. I tried out several different ideas to increase participation, some of which seemed to work well and others that students seemed to dislike.
One thing I tried was having students raise their hands when polled about various questions. For example, I might ask, "How many of you think this code will not compile? How many of you think this code will have runtime errors? How many of you think this code is fine the way it is?"
When I administered a midsemester course survey, I got some mixed results about this polling, which made me conclude that polling should be done strategically. Excessive polling becomes annoying, but it can also be nice to gauge how students think about a problem.
Something else I tried with considerable success was asking students before class began if they would be willing to present. When I noticed really great solutions to quizzes, I would request students to explain these solutions to the rest of the class. No student every denied this request because asking them early gave them time to prepare before sharing with the rest of the class.
One of my students actually mentioned these presentations in a later course survey, saying that being able to see fellow student solutions was actually quite helpful.
At this point, you may be wondering, "Where is the world is the self-deprecating humor? That's the only reason I'm reading this section!" Well, here it is. I tend to make stupid jokes at random times, and I have found that self-deprecating jokes during awkward silences seemed quite effective in guilt-tripping students into responding.
I think I definitely once said, "Please talk to me. I don't want to just talk to myself all day. That's embarrassing." Hey! You don't have to play fair! Guilt-trip away, my fellow teachers! And once you've broken through the ice and gotten a discussion going, it only gets easier. So get over that hill to the rolling meadows of not-having-to-talk-to-yourself. You won't regret it!
Finally, I've been learning that an effective way to encourage student participation is just to wait. It might be a bit awkward, but simply waiting for an answer or giving students time to come up with things to say goes a long way to increase student interaction.
Journal entry: July 10
Something else I noticed was that I sometimes say, "Did that make sense to everybody?" And I certainly don't mean it to be as condescending as it sounds. I usually remember not to say that, but it slips out every once in a while. So I need to practice saying things like, "This part might have been tricky. Are there any questions?" or "Now would be a good time to ask questions before we go on to the next topic."
Video observations
Something we were required to do for CS 375 was to record other TAs and be recorded in turn. This turned out to be a great opportunity to better my own teaching. There were several things that astonished me. Firstly, I say a "um" a ton of times. It's quite shameful if you're listening for it. I seem to say "um" more times than I breathe. I have been trying to replace the evil ums with more breathing.
Secondly, I was surprised by the fact that I looked far more nervous on camera than I had felt while teaching. It turns out that I have some mannerisms that indicate a restlessness that I never really feel when speaking. For example, I tend to move my hands when waiting for questions or shift my weight as I speak. The "ums" also contribute to the awkwardness. I have been working on appearing as calm and collected as I feel internally.
Some honesty about hard times
This next section is a moment of me being raw and open. So far, my stories have been mostly upbeat. But while there are so many great moments in teaching, there are also difficult times. I want to be honest about these sorts of experiences in addition to covering the good and interesting times because speaking about these issues may help others experiencing similarly tough times.
I had a difficult time about halfway through the course. We had just released midterm 1 scores, and the last couple labs/homework assignments had been difficult for most students. So understandably, the mood wasn't the most cheery.
Furthermore, we had released anonymous course surveys around this point, and the feedback had started coming in. It is important to note that this feedback was probably affected by the aforementioned mood of distress. Lastly, the staff was receiving a number of regrade requests (more on that later), and some things happened that made my doubt my own abilities as a teacher.
Some of the feedback for the course and staff was far from kind. I would go so far as to say that some people can be quite cruel when anonymous. I completely understand the value of constructive criticism. Unfortunately, some of the responses we received were far from constructive.
It is understandable to feel frustration at a difficult course, but I would ask students to realize that staff are humans, too. Words can hurt us, and it can be difficult to look past the anger in a course evaluation to find ways to improve.
Even though none of the particularly bad evaluations were directed towards me, I still saw them and was both saddened and frustrated. I believe the vast majority of evaluations were helpful, respectful, and positive, but it can be hard to keep vitriol in perspective to the general student feeling. One rotten apple can spoil the whole bunch.
The evaluations made me hyper-sensitive to my own teaching, and I became overly critical of myself and began to wonder if I was doing a good job. As I lost confidence in myself, I felt increasingly drained and incapable. At this point, I'll include a quote from my journal at the time:
Journal entry: July 15
I guess I'm asking about how can I feel happy and motivated and energetic when I feel like we as staff are not being appreciated or even respected as human beings? Perhaps I'm too selfish and asking for too much, but it's been harder to be lively during my lectures (though I'm still fine communicating one-on-one with students). And I think this is making me a worse TA, and I'm worried that the cycle will continue to repeat. Do things get better or worse with time?
Thankfully, my GSI mentor/instructor Victor gave me a good dose of reality, which made me only more determined to become a better TA. Here are his words of wisdom below:
Victor's words: July 16
There's always going to be harsh feedback from the surveys. What you have to do is dig past what they actually are saying and find out what they mean. It's really hard, but you have to just ignore the vitriol and try to uncover the actual actionable requests underneath the remarks.

Basically, when you're feeling really down because things seem hopeless, you have two options: you can either admit defeat and give up on the semester, which no one would blame you for. Or, you can internalize this feedback and use it for motivation to get even better, to show everyone that you can turn things around.
I decided I wasn't going to admit defeat. I was going to take what I could from the surveys and come back stronger. I was going to make 61BL a course that students would learn from and later appreciate, even if they were found it difficult and hard at the time. I was going to be as good a TA as possible and work even harder. So that's what I did.
Only uphill from there
And it got better. It really did get better with time. After I had made the determination to learn what I could from the criticism and just be there for my students, I was able to have lots of fun with them. In particular, I had lots of fun with both staff and students at a fantastic 61BL potluck that involved Resistance, watermelon, and Joey's wonderful Genmai tea.
I had a great time hanging out with students in a non-academic setting, and I was encouraged by all the wonderful and positive students who showed up to play with us. Teaching is a lot of times about finding those inspirational moments that make everything else worth it, and the potluck was one of those moments.
From that point on, it got better and better. I went back to enjoying teaching and having fun with data structures with my students.
Journal entry: July 17
The classroom climate was so much better today. I think I felt happier and more excited, and perhaps that mood translated to my students.
Moments that make it all worth it
I'm not going to lie to you. Being a TA is hard. It's a lot of work, and it may make you doubt yourself. But at the same time, there are moments that make it all worth it. Every once in a while, you'll see a student have an epiphany, and seeing the light in their eyes and the smile on their face will make you realize that you love teaching.
And every once in a while, you'll get a really kind email or note that makes you feel that you're actually helping people and that students are learning. Or you'll see that student using Git to commit his work. Or you'll see students you partnered together having fun and feel delighted that your students have become friends with each other.
And there are so many other rewarding aspects of teaching. I've learned a lot from my experiences in this short summer, and I wouldn't trade this summer of growth with anything.
Buddy system
Speaking of delightful and rewarding aspects of the course, one of the most wonderful things about this summer has been the incredible support I've received from the course staff. I feel that we all really bonded with each other, and I have been constantly inspired by my fellow TAs and the instructor.
One particular example is the buddy system I've had going with my fellow TA Leo. We had section during the same 11 AM - 2 PM time slot, and our labs were right next door to each other. This made it really easy to schedule lab sections and activities together. In a sense, our labs became "sister sections."
It started when Leo's lab came over for the midterm 2 review session. His students brought over chairs from next door, and we presented problems together on the projector in my lab room. We'd take turns explaining prompts, getting responses from students, and explaining solutions. I found our teaching styles to be quite complementary, and this review session was a huge success.
We ended up doing the final review session together later this summer, and on the last day of class, our sections went on a picnic on Memorial Glade, which was lots of fun. I've been very happy for the opportunity to teach with Leo, and I think it's been healthy and energizing to mix up the usual lab activities for review days.
Grading tales
As my stories near a close, I want to mention a bit about grading. Grading parties are both exhausting and tons of fun. They often last well over 12 hours. For example, for midterm 1, we started grading at 1 PM on Saturday and finished at 2 AM on Sunday. Due to the increased length of the final exam, we spread out grading for that over two days.
Grading parties are mentally exhausting because we must carefully examine student solutions for correctness, and they are physical exhausting because we usually hole up in some room in Soda with a supply of pizza that lasts us for both lunch and dinner.
At the same time, they are fun experiences of grading with course staff and telling jokes both to stay happy and telling jokes also due to delirium. When you are surrounded with such lively and wonderful people as the summer staff of 61BL, time flies and much joviality is had.
On a more serious note, however, there are a couple things to note about exam grading. Firstly, consistency is exceedingly important. It is a good idea to first have a look at a couple of student solutions then construct a rubric while getting lots of input from other TAs. If multiple TAs are grading one question, it is a good idea that they be able to discuss solutions and get second opinions from each other so that consistency is maintained throughout the grading process.
Secondly, almost as important as exam grading is how regrade requests are handled. It is a good idea to have a regrade policy that requires students to read and check the solutions before submitting regrade requests, and it is may be necessary to issue a disclaimer that grades can decrease after a regrade (according to the instructor's discretion). This policy helps reduce the number of requests that are submitted in error.
Thirdly, one of the most important methods for preventing incorrect regrade requests is to release detailed and helpful solutions. Solutions that are not explicit in terms of expectations and accepted answers will result in more confusion and more requests. On the other hand, solutions that pre-empt student questions and concerns will save you a lot of time.
The last day of class
As I started this post with the first day of class, it is only fitting that I end it with the last day of class. The last day of class was truly the opposite of the first day. Writing this post and re-reading my journal entries from only three short months prior makes me realize how much changed during the course of a short summer.
I bonded with my students, and it was quite bittersweet to see the course end. On the first lab day, I came up with a cringe-worthy ice breaker, but by last lab day, the section felt like a happy, friendly unit. My students gave me a Krispy Kreme donut and a hat, and I ate the former with happiness and wore the later without shame.
Some other students wrote the sweetest letters and emails, and it really touched my heart. I can sincerely say that I enjoyed meeting each and every one of my students, and I couldn't have been more lucky to have such a wonderful section for my first time as a TA.
Having completed one semester, I look forward to another. I am thankful to be working with many of the wonderful TAs from this summer as well as several others, and I am excited to experience a differently structured CS 61B course with Prof. Paul Hilfinger and Josh Hug. And I am eagerly anticipating meeting my new section of students. I am sure that they are lovely and amazing and will bring with them a new set of tales to tell.