Fall 2023 - I enrolled in this class as a CS undergrad. This class is hard, but very manageable; Fragouli does a great job at breaking down the subject and the course notes are very comprehensive. You do not need to be very good at linear algebra to succeed in this class (Math 33A is probably enough). You should be comfortable representing systems of equations as matrices and taking transposes of block matrices. Although nothing fancy is required in terms of linear algebra, this class is still math-heavy and mostly theoretical. The homework can get difficult, but prepares you well for exams. If you invest enough time, you will do well. The TAs and discussion sections are also very helpful. There was a group project this quarter (up to 4 people) about applying linear programming to machine learning; you will have to write code and do a report. The latter half of the class has an algorithmic focus, especially when it comes to Max Flow and its many variants. CS 180 will help, but not by much.