Pre-requisites: coding at the level of CS106a; basic probability; at least one data science, statistics, optimization, or machine learning course.