Books
Programming Paradigms
Flow based Programming
This explains the theoretical underpinnings and application of flow based Programming method in practical terms. Readers are shown how to apply this programming in a number of areas and how to avoid common pitfalls.
Author : J. Paul Rodker Morrison
Introduction to Functional Programming
This book serves as the lecture notes for the Introduction to Functional Programming course, at Cambridge University.
Making Sense of Stream Processing
This book shows you how stream processing can make your data storage and processing systems more flexible and less complex. Structuring data as a stream of events isn't new, but with the advent of open source projects such as Apache Kafka and Apache Samza, stream processing is finally coming of age.
Parallel Programming
Programming on Parallel Machines; GPU, Multicore, Clusters and More
The main goal of this book is to present parallel programming techniques that can be used in many situations for many application areas and which enable the reader to develop correct and efficient parallel programs. Many examples and exercises are provided to show how to apply the techniques
Author : Norm Matloff Kerridge
Is Parallel Programming Hard, And, If So, What Can You Do About It?
This book examines what makes parallel programming hard, and describes design techniques that can help you avoid many parallel-programming pitfalls. It is primarily intended for low-level C/C++ code, but offers valuable lessons for other environments as well.
High Performance Computing
This book discusses how modern workstations get their performance and how you can write code that makes optimal use of your hardware. You'll learn what the newest buzzwords really mean, how caching and other memory design features affect the way your software behaves, and where the newest "post-RISC" architectures are headed.
Authors : Charles Severance & Kevin Dowd
Competitive Programming
Competitive Programmer's Handbook
This book is a modern introduction to competitive programming and discusses programming tricks and algorithm design techniques relevant in competitive programming.
Author : Antti Laaksonen - GitHub
Principles of Algorithmic Problem Solving
This book is oriented towards preparing for competitive programming competitions. It covers many fundamental algorithm types and commonly studied algorithms. The exercises are links to Kattis free online judging system. The book has examples in C++ as well as a short introduction
Author : Johan Sannemo - GitHub
Graphics Programming
3D Game Shaders For Beginners
A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Author : David Lettier - GitHub
Blender 3D: Noob to Pro
This guide is a product of shared effort by numerous team members and anonymous editors. Its purpose is to teach people how to create three-dimensional computer graphics using Blender, a free software application.
Notes for a Computer Graphics Programming Course
These notes cover topics in an introductory computer graphics course that emphasizes graphics programming.
Its goal is to introduce fundamental concepts and processes for computer graphics, as well as giving students experience in computer graphics programming using the OpenGL application programming interface (API).
Regular Expressions
JavaScript RegExp
This book will help you learn Regular Expressions as implemented in JavaScript. Regular expressions can be considered as a mini-programming language in itself and is well suited for a variety of text processing needs.
Author : Sundeep Agarwal - GitHub
Python re(gex)?
This book will help you learn Regular Expressions, a mini-programming language for all sorts of text processing needs.
Author : Sundeep Agarwal - GitHub