CSDS 355
Advanced Programming Language Concepts and Software Design
Case Western Reserve University · UGRD · Fall 2026
Catalog description
A central emphasis of the course is on understanding and applying influential software design patterns in the context of a modern multi-paradigm language. Students will revisit some classic object-oriented patterns (such as Strategy, Observer, Decorator, and Factory) alongside exploring newer patterns, such as microservice patterns, that leverage imperative, functional, and reactive design styles. For each major language feature that is covered, design guidelines and example design patterns involving that feature will be presented. For each pattern, the problem it addresses, the solution, and its consequences will be discussed. Through a combination of lectures, code walkthroughs, student presentations and programming assignments, students will learn to evaluate design alternatives, refactor code toward better architectures, and use advanced language features to write robust, maintainable, and extensible software systems. Prereq: CSDS 345 or CSDS 393 .
Sections
Current meeting, instructor, credit, and enrollment details
001
Availability not recently verified- Days & times
- No scheduled meeting time
- Meeting dates
- —
- Location
- —
- Instructor
- Staff