Alexandrescu, A. (2001). Modern C++ design: generic programming and design patterns applied: Vol. C++ in-depth series. Addison-Wesley. http://www.ulb.tu-darmstadt.de/tocs/97631655.pdf
Gamma, E. (1995). Design patterns: elements of reusable object-oriented software: Vol. Addison-Wesley professional computing series. Addison-Wesley.
Gropp, W., Lusk, E. L., & Skjellum, A. (1999). Using MPI: portable parallel programming with the message-passing interface: Vol. Scientific and engineering computation (2nd ed). MIT Press.
Meyers, S. (2001). Effective STL: 50 specific ways to improve your use of the standard template library: Vol. Addison-Wesley professional computing series. Addison-Wesley.
Meyers, S. (2005). Effective C++: 55 specific ways to improve your programs and designs: Vol. Addison-Wesley professional computing series (3rd ed). Addison-Wesley.
Pacheco, P. S. (n.d.). An introduction to parallel programming. Morgan Kaufmann.
Pacheco, P. S. (1997). Parallel programming with MPI. Morgan Kaufmann Publishers.
Rauber, T., & Rünger, G. (2013). Parallel programming: for multicore and cluster systems (Second edition). Springer-Verlag.