Computer Science 187: Programming with Data Structures.
What is CS 187 about?
This course introduces and develops 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.
How can I register for CS187?
Students may register for CS187 via Spire. Please see the prerequisites for CS187 before registering.
For Summer sessions, please see: Umass University Without Walls website
List of Topics that are Usually Covered (not all topics below will necessarily be covered in a particular semester):
- Introduction to Data Structures and Algorithms.
- Searching and Algorithm Analysis.
- Sorting Algorithms.
- Stacks and Queues.
- Lists: Singly and Doubly Linked Lists.
- Trees: Binary Search Trees.
- Tree Balancing Algorithms: AVL and B-Trees.
- Heaps and Priority Queues.
- Hashing and Hash Tables.
- Graphs and Graph Search.
This course treats the above topics in an Object-Oriented manner through the use of Interfaces and Inheritance. All structures are generically typed. Array-based and Linked implementations are discussed.
How does the course work?
Please follow the link below to access the course Syllabus for more information about the course.
CS187 Syllabus Spring 2021