Spring 2021 - Pavel is really passionate and contagiously enthusiastic. Sometimes the class can be a little fast-paced (we might define a bunch of objects really quickly and then start thinking about how to count them, which requires you to be really solid on the definition) so it's really helpful to keep good, clear notes. A lot of the ideas are based on topics you should know from prerequisites (like graph theory) so be prepared for a relatively fast pace there, and try to review the prereqs before those lectures. Problems in this class aren't like problems in 33A or something; you usually can't just memorize and follow an algorithm, you have to think about each problem independently, so be sure to ask questions if an example in class or in the textbook doesn't make sense! For my quarter, homework assignments were all from our textbook, and many of those problems aren't easily found on stackexchange or Slader or that sort of site, so be prepared to have to actually do the work and go to office hours and stuff if necessary. Also, try to keep reviewing what you learned earlier in the quarter -- ideas like the Catalan numbers will come up over and over and over so you want to be able to recognize them and know their properties weeks after you're first introduced to them.