On December 11th, 2023, at precisely 3:02 PM, I received a message from my advisor: “Can we chat a bit this week about the 2300 TAship, say Friday at 5 PM?” I felt a rush of excitement. Being a teaching assistant is something I’ve thought as an important part of my PhD experience. Up until then, I’ve never been the primary person responsible for a class. Although I’ve had experience as a part-time TA, it was mostly behind-the-scenes support. This opportunity felt like a chance to step into a role I’ve been anticipating.

A teaching assistant is defined as “an individual who assists a professor with instructional responsibilities.” I first knew what a TA does while watching episodes of Stanford’s CS231N course, where some lectures were delivered by the TAs. I remember being impressed by their competence and effectiveness.

I am the head TA of ECE/ENGRD 2300, Digital Logic and Computer Organization. This is one of the ECE fundamental undergraduate courses. It covers Boolean algebra, combinational and sequential logic, FSMs, memories, pipelined processors, up to cache and memory virtualization. My responsibilities are mainly two-fold: providing structure and delivering content. I help schedule the lectures, office hours, lab sessions, organize TA grading sessions. On content delivery, I give tutorials and review sessions before the exams, hold office hours and lab sessions, and answer questions on Ed, our online discussion platform. Being the head TA is quite different. I am the last person students come to if they don’t get an answer from other TAs, so I have to be ready.

I give myself two challenges: be the TA I didn’t get when I learned these topics, and answer as many questions as fast as possible on Ed. The first is because I actually didn’t understand a lot of the topics when I first learned them, and there were no help for me to go to. The second is just for fun.

Preparation

Preparing to be a TA has two steps: passing the language assessment and completing the TA development program. Cornell Engineering provides excellent support and resources through its TA development program. It covers important basics like managing grades and creating rubrics, also more subtle aspects such as how to create a friendly and inclusive learning environment, how to handle conflict, when to ask for help. This program is very helpful for someone like me, who isn’t initially familiar with the American undergraduate education system.

 

TA Development ProgramTA Development Program
5-min microteaching: how to build an aquarium5-min microteaching: how to build an aquarium

 

My biggest takeaway from the program is the active learning skills, how to make your content delivery clear and engaging. Two techniques I’ve found useful are setting specific learning goals at the beginning and creating low-stakes quizzes. I used these techniques in the Verilog tutorial and the review lectures. The fun part of the program is the “micro-teaching session”: teach any topic you choose in 5 minutes. I chose the topic of how to build a freshwater aquarium. It’s a nice practice of the teaching skills and I got some quick feedbacks from the tutor and fellow TAs.

Things I Learned During My TA Experience

It’s a 24/7 Job

Cornell undergraduate students typically take more than three courses each semester. Everyone works at their own pace. Many discussions happen asynchronously on Ed, so I make it a priority to answer questions in a timely manner. By the end of the first month, I am quite used to answering Ed questions wherever I am.

Teamwork is important

There is no way I can cover everything. I have a wonderful team of 19 TAs, many of them have more experience in teaching this course than I do. I received a lot of help from them, and grading is always fast.

One thing I could do better is the office hour allocation. We have homework deadlines every Friday, and I later learned that the Friday evening office hour is usually packed because it’s near the deadline. So whenever there is a deadline, we should allocate more staff to the office hour or lab sessions.

 

My setup for the review session to show the process of solving problemsMy setup for the review session to show the process of solving problems
Answering questions on Ed at the beach in Monterey during FPGA 2024Answering questions on Ed at the beach in Monterey during FPGA 2024

 

Show the thinking process

I find it really helpful to show the exact steps of solving problems. I did this in the first review session, where I used my iPad to solve the problems in real time, and people can interrupt me to discuss.

Be gentle

I always remember what it was like when I first learned the topic, and constantly remind myself that Cornell undergraduate students are under a lot of pressure. Don’t worry, I’m here to help.

The devil is always in the detail

Time and again, I spend hours with students debugging their code, only to find that the issue was a typo, a mismatched bitwidth, or a flipped bit causing everything else to go wrong. Good formatting is crucial because such mistakes are much harder to spot when the code is squeezed into one line. It’s also beneficial to encourage students to develop good coding habits.

Refer to the course material whenever possible

Because I watched the same lecture recordings as the students, I refer to the course materials in my answers and discussions. I find this approach surprisingly helpful, as students often respond with, “Oh, I didn’t understand that slide before, but now I do.”

Fun things

One time, I overheard a group of students discussing a lab topic they couldn’t figure out, and someone said, “Let’s go ask the nice TA.” Then they came to me. I was touched.

I learned digital logics with the same textbook and the same FPGA board in a different country. It is surprising how standardized this field can be.

I got asked twice if I’m related to my advisor because we share the same last name. I explained: “it’s like Smith, a very common last name.”

I find an interesting shift of mindset when I rewatch the lecture recordings given by my advisor. When I was preparing for my PhD qualifying exam, I focused on the content. But as a TA, I focus more on how to explain certain topics, how to design the quizzes, and how to connect concepts together.

About the second challenge, I wrote 369 answers over the semester, that’s about 3.26 answers per day:
 

Ed

Conclusions

Now that the semester has concluded, I can reflect and share some thoughts. I believe we had a successful semester. Several students expressed raised interest in continuing their studies in ECE, and a few even asked me about life as a PhD student and the work I do. I think getting people interested in this field is as important as teaching the fundamentals, if not more.

It turns out I have infinite patience and might be quite good at teaching.