In the last 30 years, Bayesian methods have become an important tool for applied statisticians, biostatisticians, and data scientist. Bayesian thinking allows one to quantify uncertainty and is a method which allows one to learn from new data. It is extremely flexible. The reason for its recent popularity is not only because of advances in physical computer power but also advances in the fundamental algorithms used for Bayesian problems. This course will first explain the basics of Bayesian inference and Markov chain Monte Carlo methods. From there, this course will show how to compute and make inferences on complex data problems using these methods.