MET CS 563 Software Development with C++ for Mathematical Finance -- Spring 2010
[Ho 09] Horstmann, Cay; Timothy A. Budd: Big C++. 2d edition. Wiley, 2009.
A detailed textbook on the C++ language, starting from the basics, including advanced topics (standard template library, design patterns, graphical user interface) and reaching out beyond the language (relational databases, XML). (Warning: for some chapters you will need to download the libraries developed by the authors.)
Source code for all examples, style guide and appendixes can be downloaded from the Student Companion Web site. You can see more books by Horstmann at his web site (http://www.horstmann.com/ ) or the Wiley site (http://www.wiley.com/college/horstmann )
C++ Compiler Help from Cay Horstmann at http://www.horstmann.com/ccc/help/ccc3help.html
Code Style Guide by Cay Horstmann at http://www.horstmann.com/bigcpp/styleguide.html (also as appendix in the book)
C++ Language Reference, Microsoft Visual C++, http://msdn2.microsoft.com/en-us/library/3bstk3k5.aspx
C++ Reference: library overview http://www.cplusplus.com/reference/ or http://msdn.microsoft.com/en-us/library/ct1as7hw.aspx
Programming Languages and Software Development
[Fo 02] Ann R. Ford, Tobby J. Teorey: Proctical Debugging. Prenticd Hall, 2002
Debugging techniques for the beginning programmer with examples of most common programming errors and using Metrowerks Code Warrior and Microsoft Visual C++
[Me 05] Meyers, Scott. Effective C++, Third Edition: 55 Specific Ways to Improve Your Programs and Design. Pearsons Education, Inc, 2005
Not a C++ text but structured advice on how to use the language effectively to write efficient, portable, readable, maintainable, and scalable software. For more on Scott Meyers and errata visit http://www.aristeia.com/books.html
[Me 01] Meyers, Scott. Effective STL++: 50 Specific Ways to Improve Your Use of the Standard Template Library. Addison Wesley, 2001
With the same goal and nn the same style as [Me 05] but focused on STL. For more on Scott Meyers and errata visit http://www.aristeia.com/books.html
[Sh 00] Shtern, Victor. Core C++: A Software Engineering Approach. Prentice Hall PTR, 2000
A highly readable and in-depth discussion of C++ concepts with emphasis on software engineering criteria illustrated on relatively short examples.
[St 00] Stroustrup, Bjorne: The C++ Programming Language. (Third Edition). Reading, MA, Addison Wesley Computer Science. 2000.
The definitive book on the C++ programming language by its creator. Not for the faint of heart even with some prior programming experience.
Numerical Methods and Applications and Finance
[Pr 02] William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery: Numerical Recipes in C++. Cambridge University Press, 2002.
The classic reference for numerical methods and their implementation in C++. The emphasis is on the algorithms, the examples are in the C++ procedural style. No attempt is made to develop classes and other object oriented constructs because a) the main goal of the book is to present and discuss the numerical algorithms, and b) class hierarchies depend on the application, not the algorithms. Code licenses are available at http://www.nr.com/com/storefront.html
[Wi 97] Wilmott, Paul; Sam Howinson; Jeff Dewynne. The Mathematics of Financial Derivatives. Cambridge University Press, 1997.
A succinct and compact overview of mathematical modeling of financial derivatives and the numerical methods for their implementation. The focus is on the modeling and numerical problems, languages issues are not discussed, and algorithms are presented in pseudocode.