Crypto 101

Crypto 101

Crypto 101 is an introductory course on cryptography, freely available for programmers of all ages and skill levels.

Developing Applications with Objective Caml

Developing Applications with Objective Caml

The authors’ goal is to provide insight into how to choose a programming style and structure a program, consistent with a given problem, so that it is maintainable and its components are reusable.

Information Theory, Inference, and Learning Algorithms

Information Theory, Inference, and Learning Algorithms

This book is aimed at senior undergraduates and graduate students in Engineering, Science, Mathematics, and Computing. It expects familiarity with calculus, probability theory, and linear algebra as taught in a first or second year undergraduate course on mathematics for scientists and engineers.

Is Parallel Programming Hard, And, If So, What Can You Do About It?

Is Parallel Programming Hard, And, If So, What Can You Do About It?

This book is written in the hope that presenting the engineering discipline underlying successful parallel-programming projects will free a new generation of parallel hackers from the need to slowly and painstakingly reinvent old wheels, enabling them to instead focus their energy and creativity on new frontiers.

Start Programming Now

Start Programming Now

This book is the bare minimum guide helping you to start programming from scratch. In almost anything, the hardest part is to get the ball rolling. After reading this book you will be comfortable with programming.