Syllabus Application
CS 542
Software Design Patterns
Faculty
Faculty of Engineering and Natural Sciences
Semester
Fall 2026-2027
Course
CS 542 -
Software Design Patterns
Time/Place
Time
Week Day
Place
Date
15:40-18:30
Wed
FENS-L030
Sep 28-Dec 31, 2026
Level of course
Masters
Course Credits
SU Credit:3, ECTS:10
Prerequisites
-
Corequisites
-
Course Type
Lecture
Instructor(s) Information
Emre Kaplan
- Email: emre.kaplan@sabanciuniv.edu
Course Information
Catalog Course Description
This course introduces the use of design patterns Creational, structural and behavioral patterns, enterprise software architecture patterns, anti-patterns, object-oriented design principles and processes will be discussed.
Learning Outcomes:
Course Objective
Apply object-oriented design principles, and Clean Code practices to structure maintainable Java software
Analyze design problems and identify appropriate creational, behavioral, or structural design patterns to solve them
Implement design patterns in Java and justify design decisions based on trade-offs in flexibility, coupling, and complexity
Analyze design problems and identify appropriate creational, behavioral, or structural design patterns to solve them
Implement design patterns in Java and justify design decisions based on trade-offs in flexibility, coupling, and complexity
Sustainable Development Goals (SDGs) Related to This Course:
| Industry, Innovation and Infrastructure |
Course Materials
Resources:
Gamma, Helm, Johnson, and Vlissides. Design Patterns. Addison-Wesley, 1994.
Freeman, Freeman, Bates, Sierra, and Robson. Head First Design Patterns. O’Reilly, 2004.
Robert C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Pearson, 2008.
Freeman, Freeman, Bates, Sierra, and Robson. Head First Design Patterns. O’Reilly, 2004.
Robert C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Pearson, 2008.
Technology Requirements:
A laptop/desktop with a camera and a microphone that can run Google Meet, Zoom, VS Code, Eclipse, IntelliJ, JDK.