Syllabus Application
CS 442
Software Design Patterns
Faculty
Faculty of Engineering and Natural Sciences
Semester
Fall 2026-2027
Course
CS 442 -
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
Undergraduate
Course Credits
SU Credit:3, ECTS:6, Engineering:6
Prerequisites
CS 308
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:
| 1. | Describe the basics of object-oriented design principles and OOP mechanism |
|---|---|
| 2. | Define and recognize design patterns |
| 3. | Identify suitable design patterns for design problems |
| 4. | Compare the design patterns and explain which design pattern should be used |
| 5. | Design object-oriented software systems that meet requirements by applying object-oriented design principles and design/architectural patterns |
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.