This book is an introduction to the theory of holomorphic functions of several complex variables. It is based on the courses attended by students of mathematics at Scuola Normale Superiore of Pisa. Its treated subjects range from an advanced undergraduate course to a Ph.D. level. The book is largely divided into three parts. The first one, perhaps the most curricular, deals with the domains of holomorphy and their characterizations, through different notions of convexity (holomorphic convexity, Leviconvexity and pseudoconvexity) and the Cauchy-Riemann equation. The extension of this matter to complex spaces, known as the Oka-Cartan theory, is the content of the second part. This theory systematically makes use of the local analytic geometry and of the theory of sheaves and cohomology. The last part deals with the interplay between the theory of topological algebras and the theory of holomorphic functions. Some of the advanced results in the field are overviewed, sometimes without detailed proofs, and (still) open problems are discussed.