6 Resources
6.1 Software
The main tool you will be needing in this course is a C++ compiler.
Get your hands on one by whatever means you wish. One option is
explained
here.
I will also ask your returned assignments to come equipped with Makefiles
that build your programs; familiarize yourself with make.
Also, be prepared to create pdf files by some means; pdf is the format that
you are required to return your write-ups in. A handy tool for this is
LATEX(in fact, pdfLATEX).
Instructions on other software tools we may possibly need will be
given later.
There's no mandatory textbook. The following books augment the material
we cover in class.
-
Andrew Koenig and Barbara Moo, Accelerated C++, Addison-Wesley, 2000.
- Bjarne Stroustrup, The C++ Programming Language, 3rd edition,
Addison-Wesley, 1997.
- David Vandevoorde, Nicolai M. Josuttis, C++ Templates: The Complete Guide, Addison-Wesley, 2003.
- Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine,
The Boost Graph Library,
Addison-Wesley, 2001.
- Matthew H. Austern, Generic Programming and the STL: Using and Extending the C++ Standard Template Library, Addison-Wesley, 1998.
- David R. Musser, Gillmer J. Derge, and Atul Saini,
STL Tutorial and Reference Guide, Second Edition: C++ Programming with the Standard Template Library, Addison-Wesley, 2001.
- David Abrahams and Aleksey Gurtovoy, C++ Template Metaprogramming: Tools and Techniques from the Boost Libraries, (Addison-Wesley, 2004).
- Stanley N. Burris and H. P. Sankappanavar,
A Course in Universal Algebra, (online version of the out-of-print original
Springer-Verlag Graduate Texts in Mathematics, 1981).
6.3 Libraries