There is increasing interest in recent years in the theory of predictive processing or predictive coding, in the fields of neuroscience and cognition. By this model, the nervous system, rather than being simply reactive, generates predictions regarding the state of the world, calculates any differences between these predictions and the actual input, and comes up with prediction errors that shape the next prediction. This model has been applied to diverse functions including sensation and perception, action, and emotion. The model has a clear computational elegance, and in recent years many studies have tried to establish its validity by looking at the brain, from microscopic measurements in animals to macroscopic levels in humans. In doing so, these studies aim to delineate how predictive processing is actually implemented in the brain. Whereas some believe that the theory is revolutionary and might be the single governing principle of brain activity, others doubt the generality of the model or even its explanatory power. In this course, which will require active participation including paper presentations and weekly reading assignments, we will examine first the basic concepts and tenets of the theory (e.g. what is prediction? what is a hierarchy? What is a generative model?), and then turn to examine empirical findings which support or don't support the model in different domains.