C++ Standard Template Library (STL)

X445.2 / Summer 2001

Assignments , Sample Code
Course Information

Course Information

Instructor: John Panzer
Email: jpanzer@acm.org
Phone: (650) 937 4278
Mailing List:
Send email to jpanzer@acm.org with your email address to join.
Website: www.johnpanzer.com/ucscx-stl-summer01
: Mondays, 6:30-9:30pm, July 2 - Sept 17 (no meeting Sept 3, 1 no meeting TBA).
Required Text: Generic Programming and theSTL: Using and Extending the C++ Standard Template Library by Matt Austern.


The Standard Template Library is the data structure library for Standard C++. Knowing how to use it effectively lets application programmers work at a higher level. Instead of writing code to implement linked lists and binary trees, we can use standard STL templates and concentrate on higher level concerns. The STL is also an example of generic programming, a way to create reusable code that uses compile-time rather than run-time polymorphism. The result is a library that can produce code that is as efficient as equivalent hand-written programs.

The course will cover the following topics:

This course assumes a working knowledge of C++ and students should have taken the course "C++ Programming Language" or its equivalent.

Grading Policy

Grading is based on six short programming assignments, each worth 10 points, based on the course material.  The lowest score is dropped and the remaining scores averaged in order to determine the grade:

A : 90%+
B : 80-89%
C : 70-79%
D : 60-69%

In addition, there may be optional extra credit assignments during the course.

Programming Assignments

Assignments are usually due one or two weeks after being assigned.  Since we discuss the assignments in class, late assignments cannot be accepted.  (Note, though, that you can skip one assignment without penalty since the lowest score is dropped.) The assignments require a compiler that supports an up-to-date version of the STL. The following compilers are known to work.

Other Policies

If you want to withdraw, you must notify the instructor.
If you want an incomplete you must get the permission of the instructor before the last meeting. Incompletes must be made up the following term.

Resources and Suggested Reading

http://www.sgi.com/tech/stl/ -- An online reference manual for the SGI version of STL. Contains the Standard C++ STL along with extensions.

http://www.johnpanzer.com/FreeCppCompiler.html -- Instructions for downloading and installing a couple of free C++ Windows compilers that can handle STL.

http://www.johnpanzer.com/STLReferences.html -- A list of web sites and other information sources about the Standard C++ Library and STL in particular.

http://www.johnpanzer.com/books/BookListCpp.html -- A recommended reading list for C++ and STL programming.