This course covers methods for designing and implementing abstract data types using the Java programming language. The main focus is on how to build and encapsulate data objects and their associated operations. Specific topics include linked structures, recursive structures and algorithms, binary trees, balanced trees, graphs, and hash tables. These topics are fundamental to programming and are essential to other courses in computer science. Prerequisites: CMPSCI 121 (or equivalent Java experience) and Basic Math Skills (R1). Basic Java language concepts are introduced quickly; if unsure of background, contact instructor. 4 credits.

Course meeting

Staff and Office Hours

Course Information

Coming soon (fall 2016). Yes, the clicker is absolutely required for the fall. It is required on the first day of class.

There is no required text book for the course. If you like having a text, some suggestions are: