95-771 Data Structures and Algorithms
12 units, Carnegie Mellon University
95-771 is a one-semester, 12-unit course which covers the fundamental data structures and algorithms for information processing. The course uses the Java programming language to illustrate the concepts covered; students are expected to code their assignments in Java. Students enrolled in the course must have a prior background in programming (course work or practical experience). Students with an adequate grasp of programming should have little difficulty learning the Java constructs required to do their assignments. It should be noted that this is not a Java programming course. With the exception of some initial background information, the course does not focus on the Java language itself, and students who have not studied Java are responsible for acquiring any additional required skills outside of class. Students without adequate programming preparation should consider taking an additional programming course as a pre-requisite or co-requisite to this course. A major part of the course focuses on the design and analysis of data structures and their algorithms. Therefore, we will not be using the built-in Java classes that provide immediate access to such data structures.
Prerequisites: 95-713 (min C) or 95-712 (min C)
Offered: Spring 2027, Fall 2026, Spring 2026, Fall 2025
Courseweave needs JavaScript to show sections, workloads and planning tools.