An Introduction to Programming Concepts and OI-programming …from abstract theory to dirty tricks…
2014 BJCP Style Guidelines