A document on the following topics : notation and basics, primality testing, factoring integers, discrete logarithms, quantum computation, factoring polynomials in finite fields, factoring polynomials over integers, Lovaszs lattics basis reduction algorithm, multiplication of large integers, matrix multiplication, matrix flow, Bipartite matching.
A document containing on following topics: recursive functions, efficient computation, hierarchy theorems, the complexity classes L, P and PSPACE, nondeterministic computation, relations among complexity classes, complete problems, constructing more complexity-classes, probabilistic computation, pseudorandom number generators, parallel computation, relativized computation, interactive proofs.
A short document on linear programming.
Computer Graphics CMSC 427
A great book on computer graphics (147 pages). The book covers the following topics : Introduction, Graphics Systems and Models, OpenGL Glut, OpenGL Drawing and Viewports
Designing and Building Parallel Programs
Welcome to Designing and Building Parallel Programs ! My goal in this book is to provide a practitioner's guide for students, programmers, engineers, and scientists who wish to design and build efficient and cost-effective programs for parallel and distributed computer systems. I cover both the techniques used to design parallel programs and the tools used to implement these programs. I assume familiarity with sequential programming, but no prior exposure to parallel computing
The book treats programming language topics from a foundational, but not formal, perspective. It is foundational in that it focuses on core concepts in language design such as functions, records, objects, and types and not directly on applied languages such as C, C++, or Java. We show how the particular core concepts are realized in these modern languages, and so the reader should emerge from this book with a stronger sense of how they are structured.
Algorithms and Complexity
Classic text provides the perfect introduction to the tools of algorithmic design and analysis, concentrating on basic principles and illustrating them with well-chosen paradigms.
Programming by Demonstration
This book is not only intended for individuals who are actively working in the field of programming by demonstration. We have aimed to make this material accessible and interesting to a larger audience: students and researchers with an interest in end user programming, and individuals interested in user interface design and agent-based systems.
How to be a Programmer: A Short, Comprehensive, and Personal Summary
How to be a Programmer: A Short, Comprehensive, and Personal Summary is available in pdf and html formats.
Information Theory, Inference, and Learning Algorithms
Information Theory, Inference, and Learning Algorithms is available free online. This book is divided into six parts as Data Compression, Noisy-Channel Coding, Further Topics in Information Theory, Probabilities and Inference, Neural networks, Sparse Graph Codes.
Graph Theory - Free eBook Graph Theory - Download ebook Graph Theory free