17-480 API Design and Implementation
12 units, Carnegie Mellon University
This class focuses on the design of programming interfaces, the APIs, within larger real-world software and ecosystems. We discuss the history and importance of APIs, and the principles behind designing good APIs. This includes study of specific examples of APIs, both good and bad, for inspiration and precaution. Students gain experience with the major steps of API design: gathering requirements, documenting, testing, implementing, refining, evolving, and reimplementing APIs. The principles taught are largely language-independent, though most examples are in Java or C. Students may be able to do assignments in other languages, within reason.
Prerequisites: 15-213 or 17-214 or 15-214
Offered: Spring 2026
Courseweave needs JavaScript to show sections, workloads and planning tools.