It might be easier to take 229 (Machine Learning) after 221 (this class), since 221 is intended to be a lead-in. and less mathematically rigorous. It's still definitely worth a look but may be hard to understand without a background in algorithm design.