Based on 4 Users
Bar none, this is the right way to take CS 130. This class is taught by a rotating group of employees at Google who actually do this stuff for a living. In my mind, despite how much work this class is (not very much by Eggert's standards, but still sizeable), this made all the difference in the world. This quarter, it was taught by Michael Burns, Greg Billock, and Eric Hennigan. As with Eggert's version of this class, the group projects really do make or break your grade, so having a cooperative, helpful group to work with is essential. I took this course during the COVID-19 pandemic when everything was online, so good communication with teammates and the instructors was more difficult, but still doable.
Nothing about this course felt too overwhelming or frustrating. You worked on a team webserver project for most of the quarter (the project topic rotates from year to year I'm told) and you didn't have to deal with overwhelming and unnecessary problems on final exams and copious amounts of reading. Just practical things you would actually work on in industry. And that was a really nice break from what classes at UCLA usually are. The exams were very open-ended (and a small portion of the grade, 20%) but that was typical of exams this quarter because of online instruction, so I'm not sure how that will be different in the future.
I would say the biggest challenge of this class was interacting with other teams for part 7 of the project, because you have to work across teams to add design features to each other's project repos based on our APIs. The team we were adding features to was quite late sometimes in providing reviews, and the team working on our repo implemented their changes really late. So having to coordinate all that was challenging, but not impossible.
Tips: try to do extra unit tests whenever you can for the early projects. They are pretty generous with extra credit if you have much higher than 80% coverage. Set expectations with your team early on about when to make deadlines and how to handle situations when you can't get something done. Lack of communication results in unnecessary last-minute struggles, especially near the end of the quarter.
TL;DR Overall, it was a great quarter, all things considered, and this is by far the definitive way to take this class. Even if you hate group projects or otherwise don't like this class, you are infinitely better off taking this with Michael and the Google team than with Eggert. Also, shoutouts to Eric for having a unique and snazzy bowtie for every lecture session.
Taught by three professors at Google which is cool in itself.
The course provides a lot of useful skills that students would learn from software engineering internships such as writing tests, code reviews, design patterns, ... etc. The content is useful, but since students already learned a lot of this from internships, some students find the content redundant. Overall, the projects were fun and not too difficult.
Would definitely recommend taking it with the Google profs in Spring!
Honestly this class is really painful for me but also super super useful. I'd say the experience totally depends on your teammates.. However, regardless of how nice the teammates are or how much they sucks, this is a super useful class. A lot of important software engineering principles are introduced and practiced in this class, like unit testing, dependency injection, code review, etc. Especially if you're not familiar with the industry this class is going to be the one to take (e.g., it's gonna prepare you really well for upcoming internships or stuff)!! But just to make the quarter less painful, make sure to pick the right teammates (at least make sure they know how to code in C++ or if they don't they know how to Google and they do not ghost you :) ).. or have the fingers crossed they matched you to some good smart people.