Cambridge University Press

Think Python: How to Think Like a Computer Scientist

by Allen B. Downey

Access: Online, Download
Allen B. Downey

Think Python is the manuscript of Python for Software Design, published by Cambridge University Press.

Python for Software Design is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters.

Haskell 98 Language and Libraries

by Simon Peyton Jones

Access: Download
Format: HTML, PDF, Postscript
Tags: Haskell
Simon Peyton Jones

Haskell is the world’s leading lazy functional programming language, widely used for teaching, research, and applications. The language continues to develop rapidly, but in 1998 the community decided to capture a stable snapshot of the language: Haskell 98. All Haskell compilers support Haskell 98, so practitioners and educators alike have a stable base for their work. This book constitutes the agreed definition of the Haskell 98, both the language itself and its supporting libraries.

Mathematical Illustrations: A Manual of Geometry and PostScript

by Bill Casselman

Access: Download
Format: PDF, Postscript
Bill Casselman

This book will show how to use PostScript for producing mathematical graphics, at several levels of sophistication. It includes also some discussion of the mathematics involved in computer graphics as well as a few remarks about good style in mathematical illustration.

Information Theory, Inference, and Learning Algorithms

by David J.C. MacKay

David J.C. MacKay

Information theory and inference, often taught separately, are here united in one entertaining textbook. These topics lie at the heart of many exciting areas of contemporary science and engineering -- communication, signal processing, data mining, machine learning, pattern recognition, computational neuroscience, bioinformatics, and cryptography.

This textbook introduces theory in tandem with applications. Information theory is taught alongside practical communication systems, such as arithmetic coding for data compression and sparse-graph codes for error-correction. A toolbox of inference techniques, including message-passing algorithms, Monte Carlo methods, and variational approximations, are developed alongside applications of these tools to clustering, convolutional codes, independent component analysis, and neural networks.

Syndicate content