Syllabus
Instructor:
Xin He
Office:
221
Bell Hall
Regular office hours:
Wed. & Fri. 10:30 - 11:30am
Phone:
(716) 645-4741
E-mail:
xinhe@buffalo.edu
Lecture:
MWF, 2:00 - 2:50pm, Knox 104
Recitations:
A1 - Tue., 1:00 - 1:50pm, 21 Baldy
A2 - Wed., 4:00 - 4:50pm, 21 Baldy
A3 - Thu., 3:00 - 3:50pm, 21 Baldy
A4 - Mon., 9:00 - 9:50am, 21 Baldy
A5 - Mon., 3:00 - 3:50pm, 21 Baldy
Course web site:
http://www.cse.Buffalo.EDU/~xinhe/cse250
(user name "cse250", password
"students".)
Texts:
Required textbooks and reading material:
•
W. B. Koffman and P. A. T. Wolfgang,
Objects, Abstraction, Data
Structures and Design Using C++
, John Wiley and Sons, 2006. (ISBN:
0471467553)
•
Classnotes are available from course website. (There are two forms:
Classnote01.pdf is for viewing on screen. Classnote01-1x2.pdf is for printing.)
Recommended books:
Though you may find the following books useful, they are not required and have not been
ordered for the bookstore:
•
Mark Allen Weiss,
Data Structures and Algorithm Analysis in C++
, 3rd
edition, Addison Wesley, 2006.
•
Bjarne Stroustrup,
The C++ Programming Language
, 3rd edition,
Addison Wesley, 1997.
•
Nicolai M. Josuttis,
The C++ Standard Library
, Addison-Wesley, 1999.
Prerequisites:
CSE 116, CSE 191 or MTH 191, and MTH 142.
Course Description:
This course provides a rigorous analysis of the design, implementation and properties of
advanced data structures. Topics include order notation and time-space analysis and tradeoffs in
list, tree and graph algorithms, and hashing. The course will survey library implementations of
basic data structures in a high-level language. Advanced data structure implementations will be
studied in detail. The importance of choosing appropriate data structures when solving a problem
will be illustrated by programming projects in C++, a high-level object-oriented language
different from the language of CSE115-CSE116. There is no expectation that you have C++
programming background prior to this course, though I will assume that you are familiar with
basic object-oriented concepts.