|EECS 311: General Information||
|Office Hours :||
I am usually available every day. Check
my public calendar at Yahoo
and email me to set up a meeting time.|
MWF 4:00pm - 5:00pm
EECS 211 or 231. You must be fluent in C++.
In this class, we'll be using the GCC C++ compiler, version 4.x, the UnitTest++ unit testing library, and the Unix make and zip utilities. Instructions on installing and configuring these can be found here.
Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss, 3rd edition
The author's web site has errata for the book (most were fixed in the second printing) and source code.
This book assumes a working knowledge of C++. It is recommended that you acquire a C++ reference book. The Association of C and C++ Users has a searchable compendium of book reviews, of varying quality. Search for titles with C++.
Some titles I personally turn to all the time:
C++ gives the programmer great power. But as Uncle Ben told Spiderman: "With great power comes great responsibility." Or, as Steve Haflich has said, "When your hammer is C++, everything begins to look like a thumb." There a zillion ways to do things badly in C++ (and C too), so it's good to have some books on avoiding the traps and pitfalls. The following are particularly good:
Some popular titles are:
This course has four programming assignments and two exams, weighted as follows.
|Assignments||55% (PA1: 10%, PA2: 15%, PA3: 15%, PA4: 15%)|
You must submit program code to the Code Critic for review, before emailing a final complete package to me for testing.
These don't exist because there are no deadlines except the end of the course.
This key to Critic-based courses is steady consistent progress. The most common reason for failure is bad time management.
I should be receiving code from you several times a week. If a week goes by with no submissions, you're falling behind. Two weeks and you should think seriously about dropping the course.
Your grade in the assignments is a combination of
A pile of code submitted at the end fails on 2 out of 3 of these criteria.
Besides working steadily: