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.