E xcept for an additional lecture on Tuesday, September 2, all
required lectures will be on Thursdays 12:20-1:10 in Olin Hall 155.
We may schedule optional lectures on Tuesdays pending interest.
T he only prerequisite of this course is that you have already
taken one computer science class (such as CS 100). We won't expect
you to know any specific languages, but you should be familiar with
programming concepts (such as i/o, and recursion) and simple data
structures (such as queues, lists, and trees).
The newsgroup cornell.class.cs213, where I will
post announcements and errata. Please feel free to also use this
forum to discuss issues interesting to the class.
Stroustrup, Bjarne. The C++ Programming
Language, 3rd edition. This is the standard reference for
C++, written by the creator of the language. If you keep
programming in C++ after this course, you will definitely want to
own this book.
Optional:
Chapman, Nigel. The Late Night Guide to C++. As
Stroustrup's book is more of a reference manual, this may be
easier. However, it is aimed at experienced programmers.
Some of you who want to immerse yourselves in C++ may want to
look at the magazine Dr. Dobbs Journal. This is aimed at the
professional developer, though many of the articles are pretty
interesting.
I've also put together a page of Web
C++ resources that might come in handy.
T he main software for the course is Metrowerks CodeWarrior for the
Macintosh. CodeWarrior 11 is available in all CIT labs that have
machines with the capacity to support it, including Upson B7, MVR
G83, abd Sibley B8. Personal copies of CodeWarrior are available at
the Campus Store. Except when we need to use specific libraries or
facilities unique to the Macintosh or CodeWarrior you may use any
version of C++ that is available to you. However the course staff
may not experience with your particular version and may not be able
to help.
If right now you are wondering, "What is the minimum amount I can
do to pass this course?" drop the class right now. This class is
not required for any degree plan that I know of, and if you just
need hours there are easier ways. That said, your grade will depend
on your proficiency of C++ at the end of the course. How this
translates into points, percentages, averages and curves will
remain unspecified.
A ll homework assignments will be done individually, and will be
designed to be a reasonable amount of work for one person. With
your classmates, feel free to converse about problem solving
tactics, discuss language constructs, and help out with small
annoying bugs. However, any further collaboration is a violation of
the Code of
Academic Integrity. Please ask if you are unsure.