CS35L or CS97?

Evan Zhong
tech@ucla
Published in
5 min readSep 27, 2020

Easing your Eggert experience

Written in collaboration with ACM, SWE, and UPE. See more resources at https://linktr.ee/CS_Resources_at_UCLA.

Why are both classes offered?

When beginning my freshman year in 2019 I, like most of you, have heard stories about Professor Eggert’s CS35L class. You may have also heard about a class called CS97. What is CS97? What even is 35L? Who is Professor Eggert? Should I take 35L or 97?

In my freshman spring quarter I was faced with the same choice. Perhaps unconventionally, I enrolled in both 35L and 97 to aid in my decision making. I ultimately dropped one class in favor of the other at the 2nd week deadline. Here are my thoughts.

35L is best described as the gateway to upper division computer science courses, teaching students certain tools, practices, and paradigms that will be useful in industry and built upon in later courses such as CS 111 and CS 131. Therefore, all Computer Science; Computer Science / Engineering; and Linguistics / Computer Science majors are required to take the course.

35L has a reputation that matches its importance. The class is extremely fast paced — students are expected to learn a new topic each week where the topics are independent of and do not build off of each other (think episodes of Black Mirror).

CS35L schedule in Spring 2020
CS35L schedule in Spring 2020

With each topic students are also expected to complete a corresponding project, where the specs are vague on purpose. Though the projects have a generous late policy (2^(n-1) percent penalty for n days late) it is often difficult to complete them in a timely manner while balancing a typical class load. No sugarcoating: the projects are difficult and comprise 50% of the course grade (with the other 50% being the final).

Perhaps the largest criticism of 35L, however, is that the lab sections are taught by graduate student TAs instead of Professor Eggert. Your experience with the class will vary depending on the quality of the TA for your section. Yet even with an extremely adept TA there are still limits to their ability to communicate the 35L material. They are, after all, not senior lecturers like Professor Eggert. This often results in students having to teach themselves the supplementary material necessary to complete the already difficult projects.

ACM at UCLA, in conjunction with Professor Eggert, designed CS97 in an attempt to remedy these issues¹. Instead of several lab sections, all students are enrolled in a single class, to which Professor Eggert lectures twice a week. Several of the 35L projects are omitted, to make room for new lectures on client-server computing, event-based programming, and web development fundamentals.

CS97 assignment schedule in Spring 2020
CS97 assignment schedule in Spring 2020

Students are then expected to synthesize these new topics, together with the retained CS35L content, in a final group project in the last 6 weeks of the class worth 50% of the overall course grade. The project is open-ended by design but most students choose either to create a web or mobile application. By working in groups of 4, students get exposure to a practical team-based software construction process which was lacking in 35L.

Ultimately I decided to drop 35L in favor of 97. I found Professor Eggert’s lectures far more valuable than the TA sections. The projects in 97 were just as difficult as 35L (as many of them are carbon copies) but they are weighted far less². The midterms and final in 97 were extremely difficult, but this is par for the course for any Eggert class, 35L included.

I found a lot of value in the final project as it provided a practical use of the theoretical concepts presented in lecture. In the end, the project was very enjoyable though that likely stemmed from working with a great group of friends and very helpful Learning Assistants. Keep in mind, however, that you ultimately cover less material in 97 because several 35L assignments are cut to make room for the final project.

CS 97 is definitely very rough and there were hiccups during its first quarter. On several occasions project expectations were not made clear, new assignments were introduced several days before the deadline, and the final exam time was not released until late in the quarter. It’s ultimately up to you to weigh the two courses and choose the one that is most appealing. Though to a certain extent these hiccups were exacerbated due to the unique circumstances caused by the COVID-19 Pandemic.

Main Takeaways

Here are some main takeaways that might aid your decision making

Content Covered

My take: a decent portion of the traditional 35L curriculum is omitted and may warrant self study.

Exams

Time Commitment

Instructor variability

Hope that helps!

-Evan

¹ Spring 2020 was CS97’s inaugural quarter and was entirely online due to the COVID-19 pandemic. Please take the descriptions of CS97 with a grain of salt as they are likely to change as the course is further refined

² The weighting of homework will likely increase, as adjustments are made to CS97 in future offerings of the course.

--

--