X445.2 / Summer 2001
Assignments , Sample CodeInstructor: 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
Schedule: 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 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.
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.
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.
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.