Thoughts on an Op-Ed from Columbia Spectator
2019-11-01

Background: The Op-Ed is "To the comp sci department: Create separate classes for master’s students" by Marco Starger. I attempt to summarize this article in one sentence here: computer science classes at Columbia are overcrowded because there are too many graduate students who have to take the same classes, causing undergrads to struggle to build a closer relationship with professors; to solve this problem, classes should be separate for undergrads and grads.
This is only my attempt, and it is advised that one reads the Op-Ed and see for oneself.

Motivation: I first saw this article when it was published, and already had a lot of thoughts then but not enough to make me want to write them down. Today, I happened to log onto Facebook and saw the extended discussions in the Columbia Comp Sci group, which propelled me to think more and write this post. The purpose of this post is to provide another perspective -- I'm in the same graduation class of the Op-Ed's author and also a CS major.

At Columbia, it is true that currently there is an imbalance between the supply and demand of CS courses.
This is not so much the case for the core CS courses because these classes are offered every semester and oftentimes more than one section is taught. However, things become hectic for 4000-level or above classes -- the classes that both undergrads and grads would take. The scene described by the author about not recognizing others in the classroom and such is not an exaggeration. I can confirm that this is the case for classes like Computer Vision and Introduction to Databases. And as described in the Op-Ed, waitlists would bury me even when I was a senior.
In addition to what's mentioned in the article, I have a couple more "complaints": some courses I hoped to take were not offered for several semesters or even years because no one was available to teach, and some classes had to cap the enrollment because physically space was limited.

But other than these aspects, my experiences are pretty different. There are several pain points that the Op-Ed describes, and I want to share an alternative perspective for each of them.

  • Undergrads have limited access to professors.
    I got to know several professors pretty well by emailing them, staying after class to ask follow-up questions, visiting their office hours, going to research talks/events they host, TAing for their classes, doing research with them... And some of them were professors of popular classes like Machine Learning and Introduction to Databases. At the end of the article, the author described a story about a classmate not being able to introduce any professors to his parents because he did not know any of them well enough. When I read this, I felt sorry for them, but also thought to myself "why didn't I try to do that?". Oh, my parents' English wasn't good enough, so... :P
    Jokes aside, to be honest, if I only took a class with a professor, I would not expect the professor to remember me. As a grad student, I start to understand how busy a professor can get, and, understandably, a professor couldn't spend more time with students from their class other than the class time and office hours.
    My point here is that if one tries very hard, one can get to know professors better, and there are a lot of opportunities to do that even when the class is big. Maybe not to the extent that one can introduce to one's parents, especially if there are a lot of students in the class. But I think in terms of access to professors, undergrads and grads are at the same starting line and have the same opportunities to advance their relationship with professors.
  • Undergrads are graded on a curve against grads.
    For Machine Learning at least, undergrads get a grade bump of 1/3 the letter grade unless they are already getting A's. I think some other classes also have different policies for undergrads and grads, but I don't have solid evidence. And my personal experience is that grads don't necessarily have an edge over undergrads if they are in their first semester and not familiar with how things work yet, or they come from a non-CS background and don't have a good foundation in basic CS skills. Our undergrad classmates, on the other hand, might be the ones who ride the curve.
    My point is that being graded on the same curve is not necessarily a bad thing -- it motivated me to do better. Also, there is a curve, which is better than no curve at all. :)
  • The job prospects for undergrads are worsened because grads and undergrads share the same career fair.
    Career fairs aren't the main pathway to tech industry jobs. Getting referrals or directly talking to recruiters at company-specific events is the best. The most common approach is just to apply widely online. I only went to the career fair in my first year when I hadn't figured out the best way to do tech recruiting. After that, I applied mostly online and at some on-campus events. Besides, interesting companies sometimes don't come to career fairs at all.
    Having separate career fairs might allow one to talk to more people from employers, but I don't think that will necessarily improve one's job prospects. In most cases, whether one gets a job depends on the interviews.

With no doubt, the problem of imbalance exists. I do realize that I was part of the problem too. I decided to become a CS major because I found my Python class very interesting, which is completely not what I would think before I started college. For me, and probably many others, CS is an interesting subject with great career prospects. Recruiting faculty is hard, because every school, as well as the industry that provides financially more intriguing offers, wants top talents. And there are also considerations like whether the candidate fits into the department. Coordinating the limited classroom space is probably even harder.

Asking for more sections and more offerings is a valid request, but it is hard to implement right away: not enough people to teach, not enough space for teaching activities. Some alternatives to be considered include using video recordings of previous iterations of the courses (think some edx courses from Columbia CS), taking classes remotely through watching live recordings (think UC Berkeley's 1800+ intro class) or video conferencing (think Minerva), recruiting more people who can teach (think adjunct faculty from industry, affiliates from other department/school). Getting more classroom space is needed, but that requires a lot of planning and should not be done hastily. We had a new lecture room (CSB 451) recently, but that's still not enough. The department should probably continue the efforts in this regard.
Separating undergrads and grads, however, is probably not going to solve this imbalance once and for all.

Finally, I want to make a point about trade-offs. Choosing the popular AI-related courses/CS major means dealing with longer waitlists and larger classes. Choosing a research university instead of a liberal arts college means having less chance to build close relationships with other people, not just professors. But on the back of these downsides, we have the advantages: more marketable/employable skills, more opportunities to see the latest advances, a wider set of subjects to choose from... Nothing in life is perfect, and we just need to live with this imperfection.


Blog Home. Prev: Student Volunteer Experience at SIGGRAPH 2019. Next: Reflections on My First Paper Submission.