An avid volleyball player and cook, Andrea Fletcher is a third-year CS major from John’s Creek. She currently TAs CS 3600, Intro to Artificial Intelligence.
Technique: Why did you decide to become a TA?
Fletcher: I was pretty behind when I got to college for computer science; I had no idea what was going on. I just felt lost in a lot of my classes. My first year I spent a lot of time in the TA Lab getting help, and the TAs were always so understanding and helpful. They helped me get through my classes. Then I realized I really wanted to be a TA. When I took 1331, I hung out in office hours and “fake TAed”: I’d help out people with their homework if office hours were really crowded. I became a TA after that, and it’s probably my favorite part of college.
Technique: Why did you switch to CS 3600?
Fletcher: They actually asked me if I would be a TA [for 3600]. I liked the course when I took it, and I think they were looking for gender diversity in the TAing crowd. When it’s so hard to find female CS majors, they looked for some of the girls who did well and emailed us.
At first, I actually said no because I didn’t think I knew the stuff well enough. I got a good grade, but it was one of those things where for the midterm, I studied, I memorized, I had a good crib sheet and I did well. But I forgot a lot of it by now. So at first, I said, “No, I don’t think I’d be a good choice.” But then I thought about it and decided I liked the material. If I learned it well enough to teach to other people, then I’d know it on a whole new level. I guess it was partially because I knew the material and partially because I knew it would help me learn it better.
Technique: Which class do you prefer to TA?
Fletcher: Have you ever heard of TA creep? That’s what we call it when someone TAs the same class for several semesters. Maybe they TAed it as sophomores, and now they’re seniors. When you’re taking senior-level classes, explaining to someone what an object is is monotonous. You find that people who TAed a course several times start giving the students too advanced homeworks. It’s a big issue with the lower-level classes, but for 3XXX level courses, typically it’s juniors and seniors. So you get people who have TAed the lower class and are getting into the TA creep phase and then you move them up into a new class.
I would say at this point CS 3600, but I really liked TAing 1331. I love CS minors, they’re my favorite. A lot of people go into being a CS major for the money. At least in 1331, a lot of people who are taking it already know all of the course material and whiz through the homeworks. The CS minors are always the ones who come in because they took MATLAB or Python and thought it was really cool and want a CS minor. They’re the ones who are always more enthusiastic in my opinion in 1331. Yeah, I really like 3600, I think its definitely more challenging material, and I didn’t realize how many CS minors were in that class.
Technique: What is your single favorite part of being a TA?
Fletcher: In 1331, we had 20 TAs for that class, a huge class with like 400 people, a ridiculous number of people. Whenever we were having office hours, we had a couple TAs in there. I think the most interesting part and my favorite part is when you’re helping someone with their homework, and they have just the weirdest error you’ve ever seen. You can’t figure it out, and you pull over another TA like, “Hey, I have no idea what’s going on, can you please help me out, what is going on with this code?” There have been times when we’ve had eight TAs looking at this person’s code going, “What if we try this, what if we try that?” You have no idea.
Something was failing an autograder that we set up. They had some useless variables at the top, and they were messing up our whole autograder. It took us hours to figure out what was going wrong with this person’s homework. But when you do figure it out—understand why something is not working—it’s almost just as important as understanding how it does work.
It’s fun to figure out why those weird things happened in your code. Basically, when you can help them understand exactly why their code wasn’t working, they understand how to make it work better. Understanding why those weird errors happen and being able to see the different ways that people think and understanding different styles of coding is what I like best.
Technique: What is your least favorite part besides grading tests?
Fletcher: I actually don’t mind grading tests. I put on jazz music, and I just go through it. I love jazz, instrumental jazz for studying. But my least favorite part is when I’m just clueless as to an answer for a tricky question or when I don’t feel like I know the material well enough at some points. I took the class, and I did well in it, but it doesn’t mean that I’m an expert in Python or advanced artificial intelligence algorithms.
I have no problem admitting when I’m wrong or when I’m not sure what’s going on, but it’s very difficult when you have to leave someone with an “I don’t know.” In 1331, it was easy to get a different TA, but with only five TAs in a course, it’s a lot more difficult to help someone find an answer when you get stuck on something.
Technique: How would you say the time commitment for TAing fits into your schedule?
Fletcher: For 1331, it varied assignment by assignment since we had to hand-grade all of them which was really time-consuming. For 3600, it’s definitely less. Three office hours a week plus lectures plus grading. With my schedule, I am taking 19 hours and doing research and doing TAing, so it’s safe to say that I don’t really have a life. But I’m really happy with everything I get to do here.
It’s definitely a challenge, but I think when you like something, it doesn’t seem like work. I would do it for no pay. You’ll be hard-pressed to find a TA who does it for money. Especially in computer science, you can find a part-time job that pays $20 an hour without trying too hard. It does look really good on a resume, though.
Technique: What is your favorite coding language?
Fletcher: I feel like people are going to judge me if I say Python. I would say C is probably still my favorite language. Most people hate C, but it’s the first language I learned. Java has a ton of built-in classes, and it’s nice to know how to use them and everything, but C is your custom-built everything. The analogy that I use is when you’re buying a house. [With Java,] you go from house to house on the market and pick the one that’s good enough, change it a little then use it. When you’re using [C], it’s like buying a lot and then building it from the ground up. It might take forever, but you’re gonna be so happy with the final result because it’s exactly what you needed, exactly what you wanted.
Technique: Any funny stories?
Fletcher: Oh gosh. Commenting your code. When grading homeworks, it’s really good if we see commenting and leaving notes to yourself on what things are doing. I’ve had people put jokes in their code. My favorite story: someone on a test was labeling their variables “String cheese, String bean, String theory.” Someone asked why this guy labeled a variable “theory,” and we told him it was a pun. But then he said, “But what’s string cheese?” He had never heard of string cheese.