Data Structures and Algorithm Design

The final exam is on Monday, December 18, 3-6pm, in our usual room Smith 242. It will be comprehensive but will emphasize the material after Test 2 (iterators from Chapter 8, all of Chapter 9, and the basics of binary trees from Chapter 10 in Carrano)

Office hour: Friday, December 15, 2-3pm, 323 Smith.

Here are sample questions for the final: Sample test questions for the material after Test 2. Sample test questions for the material on Test 2 (chapters 5-8, except iterators from chapter 8). Sample test questions for the material on Test 1 (chapters 2-4).

You should also look at your notes, your homework (answers available on the Course Schedule), and your programming assignments.

Instructions for Program 1, my solution.

Instructions for Program 2, my solution.

Instructions for Program 3, my solution.

You should also review Tests 1 and 2. Solutions to Test 1, solutions to Test 2.

Some simple sample programs. You should be able to do all of these small assignments relatively easily.

Sample programs as discussed in class.

Some notes on recursive function calls.

M 2:30-3:50, W 1:00-2:20, 242 Smith Hall

Course Schedule (including syllabus)
Instructor Prof. John Loftin, 323 Smith Hall, Phone: (973)353-5156, ext. 23.
Email loftin@andromeda.rutgers.edu
Email is the best way to get in touch with me.
Website http://www.andromeda.rutgers.edu/~loftin (this syllabus is attached to the website)
Prerequisites Computer Science 102 and Mathematics 237 (Discrete Structures)
Course Material
(more details
are on the 
Course Schedule)
  • Recursion
  • Abstract Data Types
  • Linked Lists
  • Stacks and Queues
  • Algorithm Efficiency and Sorting
  • Advanced C++ Topics
  • Trees
  • Tables and Priority Queues (if time permits)
Text Carrano, Data Abstraction & Problem Solving with C++: Walls and Mirrors, 4th ed., Addison Wesley
Homework The homework will be assigned and collected in class about once a week. SHOW YOUR WORK IN ORDER TO GET FULL CREDIT. Late homework will not be accepted. Homework will be assigned a week or so ahead of time: See the Course Schedule. Students are permitted to work together on the homework, but COPYING OF WRITTEN-UP HOMEWORK IS FORBIDDEN. Your lowest two homework grades (including absenses for any reason) will be dropped.
Programs The language for the programs is C++. There will be 3 programming assignments, which will be assigned about 2 weeks in advance. You should write your programs using the g++ compiler on pegasus, and they should be turned in as an email attachment to me by the due date.
You are encouraged to discuss the programs with each other, but YOU MAY NOT COPY ANYONE ELSE'S PROGRAM CODE.
The grades for programming assignments will be based mainly on the correctness of the code, but partially on the elegance and proper use of encapsulation in the code. Programs which do not compile will receive no credit.
Exams There will be two exams during the term and a final exam. The first two exams will be held in class, and will test your knowledge of the material covered in the past few weeks' classes. Exam 1 will be held in class on Monday, October 9. Exam 2 will be held on Monday, November 13. The tentative date and time of the final exam is Monday, Dec 18, 3-6pm, room TBA. The final exam will be comprehensive. (See the Course Schedule.)
Grades Your grade will be determined by your homework (15%), your programs (15%), Exam 1 (17.5%), Exam 2 (17.5%), and the Final Exam (35%).
Office Hours M 1:00-2:00, W 11:30-12:30, in 323 Smith Hall. You may see me any time during office hours without an appointment. You may also make an appointment to see me other times.
Course Schedule


John Loftin
2006-08-31