CS 2205
Program Design and Data Structures with Python
Study of abstract data types, including stacks, queues, linked lists, trees, and graphs. Object-oriented design principles with emphasis on Python's object model and memory management. Analysis of algorithmic complexity and recursion. Advanced Python features including closures, decorators, generators, and functional programming techniques. Introduction to software engineering practices: packaging, type hints, testing, linting, and performance profiling. Open to students who have earned credit for CS 1100, DS 1100, or CS 2201 with permission of the instructor. Prerequisites: CS 1101, CS 1104, or CS 1105. FALL, SPRING. [3]
Sources
- Course catalogue ↗2026–2027