Anish Kasam‍

← Back to all posts

Class Recommendations

January 02, 2025

A compilation of classes I found most enjoyable:

CSE 152A: Introduction to Computer Vision I
CSE 152B: Introduction to Computer Vision II

These two classes provide a lot of insight into the traditional methods that were used for object recognition, segmentation, etc. Although transformer models have completely revolutionized the capabilities of modern vision systems, classical methods are still highly relevant and widely used.

It’s a really exciting time to study computer vision, given the revolutionary advances made by Waymo, Tesla, and Zoox in the self driving space.

The assignments are also super interesting, and you get to apply the techniques you learn in class to real world scenarios.

CSE 150B: Introduction to Artificial Intelligence: Search & Reasoning

Arguably, out of all the classes I’ve taken, my favorite one by far. The assignments are super interesting: building reinforcement learning agents to solve 2048, Blackjack, and Sudoku.

Additionally, a lot of the concepts in reinforcement learning are analogous to human behavior. For example, Markov decision processes (MDPs) can be used as a model to understand human decision making.

The math is definitely tricky, but it builds on very familiar probability and statistics concepts like state spaces, expected value, and conditional probability.

CSE 100: Advanced Data Structures
CSE 101: Design & Analysis of Algorithms
DSC 190: Advanced Algorithms

These classes cover advanced data structures and algorithms, such as disjoint sets, dynamic programming, balanced binary search trees, etc. Even though you may never explicitly use the techniques you learn, you get a lot of insight into how production systems work. For example, Google Maps uses A* to find shortest paths, SQL databases use B-trees under the hood, and autocomplete is implemented using prefix trees (tries).

Also, nowadays with the rising bar for technical interviews, these concepts are showing up during interviews. I’ve personally had interviews where the optimal solution required dynamic programming.

MATH 180A: Introduction to Probability
MATH 181A: Introduction to Mathematical Statistics I
MATH 181B: Introduction to Mathematical Statistics II

Data science without a strong statistical foundation is fundamentally incomplete. In my opinion, the Data Science and Cogs-ML majors abstract away too much of the statistical rigor that is necessary. These classes help fill that gap.

In the stochastic world we live in, probability allows us to reason about and understand the phenomena we observe. For example, expected value provides a principled way to quantify whether a decision is good or bad.