The main textbook for this course is "Data Structures and Algorithms in Java" by M.T. Goodrich and R. Tamassia (J. Wiley & Sons, 2004). Additional material will be supplied in course in form of printed notes (made available also in electronic form through this web page). The book will be used extensively during the second part of the course. Handouts and instructor notes will also be used as main reference for the second part of the course.

The syllabus handout given in class during the first lecture of the semester can be downloaded HERE.

The syllabus is derived from the semester-long daily syllabus. The program is tentative; material may be removed if time is insufficient, as well as material may get added if time permits.

Go to current topics. (See Assignments to understand the color coding.)

Introduction to Java Programming
Overview of Java
Data Types in Java

readings: Any book on Java Programming; class notes; links to Java tutorials
Algorithmic Analysis 
Algorithmic Analysis and Complexity
readings: Chapter 3
Abstract Data Types
Abstraction and Encapsulation
Java Classes; a taste of Object Oriented Programming
readings: Instructor's Notes
                 Chapter 1 Section 2
Simple Data Structures
Stacks : Chapter 4
Queues  : Chapter 4
Lists : Chapter 4
Vectors, Sequences, and Iterators : Chapter 5
Searching and Hash Tables : notes + Chpt. 8

Recursive Data Structures
Trees : Chapter 6
Search Trees, AVL Trees: Chapter  9  

          Sorting Algorithms: Chpt. 10

Computer Science at NMSU
January 1999, E-mail: