This course is a general introduction to Concurrency, i.e., the mathematical modeling of systems made up of several processes interacting with each other. The process algebra CSP (Communicating Sequential Processes) will be studied, both on the syntactic and semantic level. The denotational, operational, and algebraic models used to reason about the language will be presented, and examples will be used throughout to illustrate the theory.