Fall 2001
Instructor: | Prof. Chuck Stewart |
107 Amos Eaton, (518) 276-6731, stewart@cs.rpi.edu | |
Office hours: after class and M 1-3pm, W 2-3:30pm | |
Webpage: | www.cs.rpi.edu/~stewart/cs2 |
Lecture: | T,F 10:00-11:20, Darrin 318 |
Teaching assistants: | Chandrika Palagiri (palagc@rpi.edu), Kirsten Piotrowski (piotrk@rpi.edu) |
Required book: | Data Abstraction and Problem Solving With C++: Walls and Mirrors (3rd edition) |
Carrano and Prichard | |
Addison-Wesley | |
Recommended book: | C++ How to Program (3rd edition) |
H.M. Deitel & P.J. Deitel | |
Prentice Hall, 2000 |
Section 1: | W 8:00-9:50am, Amos Eaton 215 |
Section 2: | W 10:00-11:50am, Amos Eaton 215 |
Section 3: | W 12:00-1:50pm, Amos Eaton 215 |
Section 4: | T 6:00-7:50pm, Sage 3101 (Note the change) |
Section 6: | R 8:00-9:50am, Amos Eaton 215 |
Week | Tuesday | Lab | Friday |
1: Aug 28-31 | Syllabus, review C++ | Visual Studio; compilation | Functions |
2: Sep 4-7 | Pre-test / C++ classes | argc/argv and file i/o | Member functions |
3: Sep 11-14 | Operators and friends | Classes | Dynamic memory |
4: Sep 18-21 | Pointers | Pointers | Pointer arithmetic |
5: Sep 25-28 | Dynamic memory and classes | Copy constructors | Linked lists 1 |
6: Oct 2-5 | Test 1 | Linked lists | Linked lists 2 |
7: Oct 9-12 | No class | No lab | Recursion 1 |
8: Oct 16-19 | Recursion 2 | Recursion | Stacks |
9: Oct 23-26 | Queues | Stack implementation | Inheritance |
10: Oct 30 - Nov 2 | Templates | Templates | STL |
11: Nov 6 - 9 | Test 2 | STL-1 | STL |
12: Nov 13-16 | Alg analysis | STL-2 | Alg analysis |
13: Nov 20-23 | Trees | No lab | No class |
14: Nov 27-30 | Trees | Trees | Searching / sorting |
15: Dec 4-7 | Hashing | Hashing | Review |
Labs: | 13% |
Homeworks: | 35% |
Exams: | 52% |
Letter grades will be computed from the semester average. Maximum lower bound cutoffs for A, B, C and D grades are 90%, 80%, 70%, and 60%, respectively. These bounds may be moved lower, at the instructor's discretion.
Labs will be graded on a scale of 1-4, depending on the amount and quality of work completed. Labs will be designed so that students who work diligently can earn all 4 points. Students must attend their assigned lab sections unless prior permission has been given.
Homework, mostly in the form of programming projects, will generally be due weekly. Some projects, especially later in the semester, will require more than one week to finish.
There will be a pre-test given during the 3rd class. It will be worth 2% of the semester grade, so it will mostly be used as a checkpoint to ensure that students are adequately prepared to continue with the course.
There will be two regular in-class exams during the semester, and a final exam. The weighting of the exams will be 10%, 20% and 20%, with the 10% assigned to the test with the lowest score, even if it is the final. Exam questions will be closely related to homework and programming problems. Students must have a passing exam average in order to pass this course.
As an example, if student BG submits his/her 1st assigment 26 hours late, BG will have used two late days and have only one day left. If BG then submits another assignment 5 hours late, BG will have used his/her last late day. If BG then submits a 3rd assignment 1 minute late, it will not be accepted. STUDENTS SHOULD USE THEIR LATE DAYS WISELY, IF AT ALL.
Copying, communicating or using disallowed materials during an exam is cheating, of course. Students caught cheating on an exam will receive a 0 on the exam, plus one letter grade reduction in their final course grade. They will be reported to the Dean of Students office.
Students are allowed to assist each other in labs, but must write their own lab solutions.
Refer to the Rensselaer Handbook for further discussion of academic dishonesty.