Syllabus: CS 4521, Data Structures and Algorithms

Fall 2011

CS 4521 Course Description

Teaching Staff

Course Text and Resources

Topics and Readings

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.

Course Organization and Objectives

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.

Grading Basis

item coverage points percent
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%
Homework (10) 50 10%


Total 500 100%

Exam Dates

Midterm Exam I Monday, October 10
Midterm Exam II Monday, November 14
Final Exam Tuesday, December 20, 1200-1355

CS 4521 Policies