Alexandrescu, A. (2001) Modern C++ design: generic programming and design patterns applied. Boston, MA: Addison-Wesley. Available at: http://www.ulb.tu-darmstadt.de/tocs/97631655.pdf.
Gamma, E. (1995) Design patterns: elements of reusable object-oriented software. Reading, Mass: Addison-Wesley.
Gropp, W., Lusk, E.L. and Skjellum, A. (1999) Using MPI: portable parallel programming with the message-passing interface. 2nd ed. Cambridge, Mass: MIT Press.
Meyers, S. (2001) Effective STL: 50 specific ways to improve your use of the standard template library. Boston: Addison-Wesley.
Meyers, S. (2005) Effective C++: 55 specific ways to improve your programs and designs. 3rd ed. Upper Saddle River, NJ: Addison-Wesley.
Pacheco, P.S. (1997) Parallel programming with MPI. San Francisco, Calif: Morgan Kaufmann Publishers.
Pacheco, P.S. (no date) An introduction to parallel programming. Amsterdam: Morgan Kaufmann.
Rauber, T. and Rünger, G. (2013) Parallel programming: for multicore and cluster systems. Second edition. Heidelberg: Springer-Verlag.