Too many students, not enough seats in computer science

UBC's computer science department and its students are caught in the middle of a classic supply and demand problem. 

Since 2010, the total undergraduate enrollment in the department has more than doubled. This demand is further heightened by the fact that some majors — such as mathematics — also require computer science (CPSC) courses. Due to this high demand, CPSC courses are oversubscribed and many students accept long waitlists as just part of the department. 

The worst course is reportedly CPSC 310, which has a combined 250 students in its two waitlists for the winter 2017 semester. 

Students seem generally unimpressed. 

“There are a lot of us who have delayed graduation due to CPSC not knowing how to schedule. We miss a year of professional development [and] the costs are in the thousands, especially for those of us not from Vancouver,” said Reddit user “PiperPrettyKitty” in a r/UBC subthread called the “State of CPSC Waitlists.” 

“If they had told me [that] the department was full, I would have just majored in something else. Yet here I am unable to graduate, but too late to switch.”

Similar feelings of anxiety and frustration can be found across this r/UBC subthread and others, with numerous threads asking about the probability of getting into courses and ranting about the lack of action from the administration. 

So what are the exact problems and what is being done by the computer science department to fix them? 

Shortage of professors

The shortage of professors is visible. Some courses such as CPSC 410 are not available despite their popularity, due to trouble finding instructors. One particular course called CPSC 426 was reported to “have not been offered for five consecutive winter terms,” according to UBC alumnus James Deng

The high demand for computer science and a booming tech industry are at the heart of the problem. According to Chen Greif, the head of the computer science department, the department is “hiring aggressively” to keep up with the large influx of students, but UBC is “competing with a lot of other [institutions] because computer science is hot right now.” 

The department has developed an interim and a long-term recruiting approach based on the difference between sessionals, lecturers and tenure-track professors. 

Tenure-track professors are hired for a long-term stay, thus requiring them to undergo a rigorous interview process. The success and length of this hiring process are also affected by the current competition to attract professors.

“It is out of our control whether someone would respond to our ads,” said Greif. “We need to hire excellent people and those excellent people have other options too.”

The current effort is to hire more sessionals and lecturers, whose stays tends to range from one semester to one year. Because of the short term commitment and “aggressive hiring effort,” the process usually takes a few weeks, according to Greif, which is “quite short given the fact that it is multi-stage.” At the Waitlist Open Forum, a feedback session directed at computer science students, the department announced that it has hired four sessionals for the summer and four for the fall. It has also hired three lecturers, but lost two. 

Shortage of TAs

Another large constraint on the computer science department is the shortage of TAs. Aside from the skewed ratio due to the influx of students, the problem could mostly be attributed to the pay, which is currently $14.90 an hour for undergraduate TAs.  

“I know someone who is a TA [and] says that ‘If I was not broke right now, I would not be a TA,’” said Henry Chee, a sixth-year student and current TA. “Pay comes up really often. People do it purely for the pay. It is not a bad thing — it is just the way it is.”

Chee also noted that from his viewpoint, there tends to be more problems finding TAs for upper-level courses than lower-level courses. He attributes this to the fact that the complexity of the course materials means that not everyone can qualify to be a TA and that even for those who do qualify, there are more lucrative work opportunities for them in the booming tech industry. 

Better opportunities financially aren't just found in the computer sciences field, either. According to Reed Mullanix, a fourth-year student, he made “more money working as a barista in fewer hours last year” than he would have as a TA.

“I was also a tutor for computer science and math courses,” said Mullanix. “[I tutored instead of TA'd] because I can set my own availability, I can find my own client, I can set my own price. When you are tutoring, you easily make five to ten dollars an hour more than what you would make as a TA.”

Noted Greif in response, “[the pay rate] is not in the [department’s] control.” 

This has been confirmed by Peter Lane of CUPE 2278, the union that represents UBC TAs, in an emailed statement to The Ubyssey. “Of equal importance, wage increases are currently mandated by the provincial government, so even UBC could not agree to increase wages outside that mandate.”

Aware of the standardized pay rate, some students have also suggested different forms of benefits that are not part of the Collective Agreement. Chee mentioned desiring “tuition credit alongside with the pay.” Jerome Rasky, a third-year student and current TA, talked about “academic credit … which could be equivalent to being in a co-op.” 

“I also do not have the authority to determine things of this sort,” said Greif when asked about these suggestions. “I can definitely talk to some people … I feel that the issue of pay is a very complex issue that involves a lot of entities of the university.”

The department’s current strategy is to continue requesting students to become TA's. 

Limited capacity

Capacity is also a factor. The most immediate solution is to move classes in high demand to larger lecture halls, which has already been done for CPSC 221, 213, 320 and 340. The department is also increasing the number and size of sections, but this method is constrained by the number of available instructors and TAs. 

While there is still much to be done to fix the issue, the overall increase in the number of seats has overtaken the increase in the number of students by three per cent in the last two years. 

A more long-term approach could be to innovate the teaching method. At the Waitlist Open Forum, students have responded positively toward the idea of expanding online content. Recorded live streaming could also be used to resolve the capacity issue because lectures could then be accessible everywhere. 

Solutions could potentially extend beyond online learning. “There's a lot of redundancy in third and fourth-year courses. Some courses are just a rehash of second and third-year courses,” said Deng. He believes that consolidating them would alleviate the instructor and capacity limitation problem because the instructor of the upper-level course could just teach a section of the lower-level course. 

To these suggestions, Greif said that the department “takes huge pride in innovative teaching methods” and is “actively thinking about them.” However, at the moment, there is no concrete decision or implementation plan.

Lack of transparency

While the lack of transparency and communication problem are not root causes, they have become a major issue for students. 

“I think this is where the conversation shifts from ‘it takes a long time to hire profs’ or ‘the department needs more time to adapt to a large influx of students taking CPSC courses’ to ‘we need to demand transparency in this process,’” wrote Reddit user palisadeviews604, creator of the “State of CPSC Waitlists” in the description of the thread.

Others students also stressed the importance of transparency to them, especially regarding waitlist situations for each course, so that they would be kept in the loop and make different decisions if necessary. 

In response to complaints about delayed responses to emails to the department, Greif suggested that students should “first visit the department’s very detailed website because it says exactly how we operate when it comes to managing waitlists.” 

“The mechanism for [monitoring waitlists] itself is very complex,” he said. “What we are doing much more than before is that we have software script [monitoring] how the waitlists look everyday. We are also actively refining and fine-combing them to understand what exactly are the sources of pressure.”

Aside from the technological aspect, he also believes that the Waitlist Open Forum, “a first of its kind,” was also successful at making the process more transparent. In particular, the priority system was clarified.

As classified by this priority system, computer science majors are given first priority, students with majors that require computer science courses and exchange students are second, and all other students are last. 

The department is putting more manpower into resolving communication problems, as outlined in an emailed statement. 

There is currently one course coordinator for the department who helps with the logistics of courses and assignments and schedules TA meetings. The department is “in the process of looking and hiring for another one, so there will be two coordinators in total,” according to Greif.

Five faculty members serve as undergraduate advisors. 

There are three administrative staff who “deal directly with the program and answer students’ questions. One of them also helps with advising.”

What happens now?

The department is determined not to “close gates” on students who want to study computer science regardless of the current demand. This means that the department is now working towards closing the supply gap of instructors and supporting infrastructure. The timeline for this, however, is currently unknown.