How to Think Like a (Functional) Programmer

by Allen Downey and Nicholas Monje

Download this book in PDF.

The source to build this book is in this Subversion repository.


How to Think Like a Computer Scientist is an introductory programming textbook based on the OCaml language. It is a modified version of Think Python by Allen Downey. It is intended for newcomers to programming and also those who know some programming but want to learn programming in the function-oriented paradigm, or those who simply want to learn OCaml.

OCaml is a powerful high-level programming language with a large emphasis on speed and efficiency. You can find out more about the language by visiting

This text leverages the power of the language to teach the reader important concepts in computer science and software design, with an emphasis in experimentation and self-directed learning.

This book is very much a work in progress. If you have any feedback, please feel free to e-mail Nicholas Monje.

More Free Books are available from Green Tea Press.

The cover for this book is based on a photo by Anumpama Kinagi.

Are you using one of our books in a class?

We'd like to know about it. Please consider filling out this short survey.

Think DSP

Think Java

Think Bayes

Think Python 2e

Think Stats 2e

Think Complexity