This course will introduce the principles of machine learning and describe important machine learning applications in geosciences. We will explore the main methods of machine learning for regression and classification, and while supervised (deep) learning will be at the core of the course, basics of unsupervised learning and reinforcement learning will also be covered. The main notions will be exemplified with textbook examples from the computer science field and applied to various geoscience domains such as seismology, remote sensing, and geo-hazard assessment (among others).