The readings will not include all of the sections in the listed chapters. In addition to the textbook, there will be readings from web pages in my Data Structures web site.
The are three primary objectives of this course. The first is to introduce you to advanced data structures and algorithms and techniques for analysing them. This textbook contains most of the material for this objective. In addition, my web pages offer a different slant on some of the material.
A secondary objective is to show you how data structures are organized in an object-oriented programming language. Object-oriented programming languages are usually provided with extensive libraries of data structures. This allows you to use data structures without having to write code for them, but these libraries can be difficult to use if you are not familiar with their organization. In order to meet the second objective, the programming for this course will be done in the Java programming language.
The final objective is to give you some insight about the software engineering issues that arise with regard to data structures and algorithms. Two important issues, space and run time, are discussed at length in the textbook. But there are other important issues that are not usually dealt with in a data structures and algorithms course. These issues will be presented in lectures.
|Midterm Exam 1||Ch. 1, 7, 22-26||100||20%|
|Midterm Exam 2||Ch. 2, 3, 17, 12-14, 6, 19||100||20%|
|Final Exam||Midterms and Ch. 15, 16, 32, 35-37||150||30%|
|Programming Assignments (8)||100||20%|
|Midterm Exam I||Monday, October 10|
|Midterm Exam II||Monday, November 14|
|Final Exam||Tuesday, December 20, 1200-1355|