When I started my CS degree I had just moved to California from New York, was in-between jobs due to the pandemic, and was spending most of my free time trying to learn and grasp CS fundamentals. I picked up work part time at Home Depot, but I felt I was wasting 24 hours a week stocking shelves and kicking dirt. Luckily I was asked to TA for Data Structures for my third term and happily accepted, leaving my retail job. Although the hours and pay were less, I felt that ultimately the position would be one that helped me progress in my goals, create a habit of continually refreshing my skills with the fundamental topic, and honestly, I’ve always loved being in a position to teach and guide students. Now, a year and a half later, I think this was one of the best decisions I could have made during my time at OSU.
There are various responsibilities of an Undergrad Learning Assistant including mentoring students, holding office hours, grading assignments, helping structure modules, learning new frameworks like GradeScope, creating and verifying test cases, helping shape test and exams, and creating guidelines for general items like style guides. The job is very much a “get what you put in”, where the more active you are in trying to participate in such items, the more you’ll get tasked with and exposed to.
My first term mainly consisted of Office Hours, where once a week I would open my teams messages to students to ask me questions. The first few weeks were always relatively slow, but once Linked List and AVL trees came into play I tended to go beyond my hour time slot due to the onslaught of students. I love answering questions and helping students problem solve solutions, but there was also an unhealthy dose of students looking for answers, not looking for help. It was hard to gauge how much help was too much versus not enough, and when individuals get angry with your help it can be difficult to know if I was just being unhelpful or if the student genuinely just wanted the solution. As I got more terms under my belt though it became a lot easier, and almost transparent, from how a student approached me. Students who are looking for help will ask a question, lay out the groundwork of their current solution, what they have attempted, and ponder where they should go. Someone who wants the solution, well, that’s usually just a “I don’t know, can you figure this out for me” and drop either a single line or 5 pages worth of code.
Office Hours however are not the only thing an ULA handles. Gradescope is an amazing tool, but it only can do as much as the programmer designs it to do. We always go through students assignments after the fact to grade on time complexity, look for restricted imports or built in functions (such as a Python list is not allowed in Data Structures for obvious reasons…. It does ALL the heavy lifting!), but we have started to build these checks into the Gradescope tool. Though the past term I have leaned off of helping build it out as I have taken on a lot of class responsibilities (as nearing the end or your degree tends to do), during the middle terms I ended up being 1 of the 2 main ULAs tending to our testcases and software. Whenever an assignment problem changes, gets added, or removed, all of this has to be reflected in Gradescope. For those who don’t know the inner workings of the software, each problem has to have the students assignment, the solution assignment, a test suite, and a running suite. 3 of those 4 things are items we have to build and test!
Moreover, building up assignments and exams was one of my favorite task! When I took the class it was Randy Scovils first term with it, teaching and critiquing the previously designed course. So when I came in as a ULA he mentioned that he was ready for a complete overhaul of the course, and that he wanted as much input from his ULAs as possible. I was able to take my notes and frustrations from my time as a student and directly implement them into the next few terms, watching the impact these changes made directly. Over the past year we have seen higher grades, less complaints, less late turn-ins, more concise questions during OH, and overall less criticism of the class. Are there sour apples that still complain? Absolutely, but for the most part, I think the work I have put in, alongside the amazing professor and other ULAs, we have genuinely improved one of Oregon States required classes. And that is awesome! Like so super awesome!
Overall, I loved being an ULA, though this is my last term as I am about to graduate. I can’t thank Randy enough for all the effort he’s put into both the class and his relationships with all the ULAs. Its hard to feel noticed in an online program with hundreds of other students, but taking on a leadership role and directly working with students and course content is a great way to try and make an impact in the eyes of the facility, on a resume, and personal growth as well.