This textbook tries to teach you functional programming, using F# as the language of instruction. Although it was designed for use in the classroom, it should be suitable for self-study as well. The textbook focuses on the functional programming paradigm, the principles that underlie it, and practical step-by-step functional programming. A free digital edition of this book is available upon request to the author.