CS 146: Data Structures and Algorithms

1330-1445 TTh, MH 223
and 1730-1845 TTh, MH 222
Jeff Smith, MH 415, 924-5153

Office hours:

1330-1430 MW and 1600-1730 TTh, or by appointment

Text:

Weiss, Data Structures and Algorithm Analysis in Java. Other references will be available in the library's course reserves. It's a good idea to bring the text to class every day.

Most of our time will be spent in Chapters 4 and 6-10. The major topics covered will be advanced tree structures (including heaps), graphs, advanced searching and sorting techniques, and introductory algorithmic analysis and design. Before covering these topics, we will review elementary data types and the corresponding classes in the Java collections library.

Grading system:

50% on class assigments
30% on 3 in-class tests
20% on the final exam

I do not ignore any grades for exams or assignments, but I often give overall grades that are higher than the average of these grades, to students who have just one poor grade, or who have been improving throughout the course.

See the separate sheets on Assignments and Documentation for specific requirements in these areas. These, together with other useful documents, will be available on the class web page at

http://www.mathcs.sjsu.edu/faculty/smithj/classes/146
Note that this is accessible from my home page.

All tests will be open book and open notes. Calculators are not allowed.

The work you turn in should be your own. Do not share your work with anyone else. Please become familiar with the official university policy on academic dishonesty, as stated in the 2000-2002 catalog, pp. 430-431, or at http://info.sjsu.edu/web-dbgen/catnarr/policies/n30.html. See my web page on this topic for further information.

Class Attendance:

Class attendance is not required, but is strongly recommended. Beginning one week after the first exam, only documentable compelling reasons will be considered for withdrawal requests.