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.
- TuTh 4:00PM-5:15PM Engineering Lab II Room 119
Staff and Office Hours
- Mark Corner (email@example.com)
- Neena Thota (firstname.lastname@example.org)
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:
- Object-Oriented Data Structures Using Java We have used this textbook for many years, but no longer require it. Some of the code examples in the book are not great so we stopped using it in favor of the code in the slides.
- GTG A bit more technical and complete than the DJW book, but we haven’t thuroughly reviewed. it.
- Lafore This book has great code, but it is quite old and doesn’t cover generics.
- Java Precisely, Peter Sestoft. This book is intended more as a
reference for people who already know the language, but it has both
all the details you aren’t likely to memorize and a very clear
definition of exactly what the language is and what it does.
- Learning Java, 4th edition, Patrick Niemeyer and Daniel Leuck. A
learn-by-example book about Java. You can read it online for free,
or buy the e-book.
- Java API Specification, Standard Edition 8.