Machine learning is employed in an increasingly wide range of applications. This course will cover two sides about machine learning. On one side, we will talk about recent systems research in machine learning, such as efficient training and inference, distributed and parallel learning systems, and debugging and profiling of ML applications. On the other side, we will discuss research in using machine learning for systems, e.g., identifying performance, reliability, and scalability issues.