Complex systems: Easley and Kleinberg, ''Networks, Crowds and Markets'' -- Allen B. Downey, ''Think Complexity''
Computational complexity: Bovet, Crescenzi, ''Introduction to the Theory of Complexity''
Concurrency: Allen B. Downey, ''The Little Book of Semaphores''
Graph theory: ''graphbook''
Haskell: Hal Daumé III, ''Yet Another Haskell Tutorial'' -- ''A Gentle Introduction to Haskell 98''
Mathematics (generic): ''Basics of Algebra, Topology, and Differential Calculus''
Mathematical writing: Bertsekas, ''Ten simple rules for mathematical writing'' -- Paul R. Halmos, ''How to write mathematics'' -- Donald E. Knuth, Tracy Larrabee, Paul M. Roberts, ''Mathematical writing''
Numerical Computing: Cleve Moler, ''Numerical Computing with MATLAB'' -- Peter J. Olver, ''Lecture Notes on Numerical Analysis''
Optimization: Boyd and Vandenberghe, ''Convex Optimization'' -- Convex Optimization Course at Stanford -- Dattorro, ''Convex Optimization & Euclidean distance Geometry''
System programming: Simone Piccardi, ''GaPiL'' (italian only)
Version control: ''Git from the Bottom Up'' -- ''Pro Git'' -- A succesful Git branching model