CSDS 355

Advanced Programming Language Concepts and Software Design

Case Western Reserve University · UGRD · Fall 2026

1 section
Add to a schedule

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

Updated 5 hours ago

001

Availability not recently verified
Class #case_western_reserve-CSDS355Fall 2026UGRD3 credits
Days & times
No scheduled meeting time
Meeting dates
Location
Instructor
Staff
Class numbers and section codes come from the registrar.
Spot missing or incorrect course data?