This text corresponds to material for two semester courses. Part I covers Hilbert spaces and basic operator theory including Fredholm theory of compact operators, self-adjoint operators and their spectral decomposition. Part II, called Basics of Functional Analysis, deals with spectral theory of unitary operators, unbounded self-adjoint and symmetric operators in Hilbert space and basic theorems of linear functional analysis. The proof of the open mapping theorem is based on properties of perfectly convex sets in Banach spaces and the Banach-Steinhaus theorem is proved using the notion of perfectly convex functions. Weak topologies are studied, the Alaoglu theorem is proved with reference to the Tikhonov theorem, and the Eberlain-Schmulian theorem is shown to be a consequence of James’ theorem, stated without proof. The Krein-Milman theorem is also included. The chapter on Banach algebras is accompanied by applications to Wiener’s theorem on absolutely convergent trigonometric series, to spectral theory, to a multiplicative generalized limit and to the Ramsey theorem. Each chapter includes exercises, in total 195 of them, all provided with solutions at the end of the book. The text is as self-contained as possible; prerequisites for the first part are linear algebra and calculus, while some knowledge of topology and measure theory is useful. The authors have taken special care to be brief and not to overload the students with the enormous amount of information available on the subject.