Machine Learning is an elective that introduces the basic principles of machine learning - how to design "intelligent" systems that derive behavior from data, rather than explicitly written rules. This course develops a working understanding of some fundamental algorithms for supervised learning (KNN, Decision Trees, Linear Regression/Classification, Neural Networks, Ensemble Methods), unsupervised learning (PCA, K-Means Clustering), and reinforcement Learning (Monte Carlo, TD/Q-Learning). The course involves using Python notebooks and libraries like scikit-learn and numpy to manipulate and analyze data. Throughout, the course emphasizes sound and ethical methodology for ML experiments.

Prerequisites: AP Computer Science; Python Programming Experience