This course is aimed at anyone interested in applying machine learning techniques to scientific problems. In this course, we'll learn about the complete machine learning pipeline, from reading in, cleaning, and transforming data to running basic and advanced machine learning algorithms. We'll start with data preprocessing techniques, such as PCA and LDA. Then, we'll dive into the fundamental AI algorithms: SVMs and K-means clustering. Along the way, we'll build our mathematical and programming toolbox to prepare ourselves to work with more complicated models. Finally, we'll explored advanced methods such as random forests and neural networks. Throughout the way, we'll be using medical and astronomical datasets. In the final project, we'll apply our skills to compare different machine learning models in Python.