Course
COEY1215699
SOFTWARE DESIGN PATTERNS
- LECTURE
- 3
- LAB
- 0
- CREDITS
- 3
- ECTS
- 8
AIM
This course is designed to introduce students to the principles of software design patterns. Participants will develop the ability to recognize, implement, and apply common design patterns to strengthen software architecture, enhance code reusability, and ensure maintainability. Covering creational, structural, and behavioral design patterns, the course provides hands-on experience in building scalable and efficient software solutions. Through practical exercises and case studies, students will sharpen their skills in evaluating software design choices.
CONTENT
This course contains; Introduction to Software Design Patterns,Object-Oriented Design Principles,Classification of Design Patterns,Singleton and Factory Patterns,Abstract Factory and Builder Patterns,Prototype Pattern,Adapter and Bridge Patterns,Composite and Decorator Patterns,Facade and Proxy Patterns,Strategy and Observer Patterns,Command and State Patterns,Template Method and Iterator Patterns,Chain of Responsibility and Mediator Patterns,Memento and Visitor Patterns.
LEARNING OUTCOMES
- 1
Understand Software Design Patterns
Taught by: Problem Solving Method, Project Based Learning Model, Lecture Method · Assessed by: Traditional Written Exam, Homework, Project Task
- 2
Identify Appropriate Design Patterns
Taught by: Problem Solving Method, Project Based Learning Model, Lecture Method · Assessed by: Traditional Written Exam, Homework, Project Task
- 3
Implement Design Patterns
Taught by: Problem Solving Method, Project Based Learning Model, Lecture Method · Assessed by: Traditional Written Exam, Homework, Project Task
- 4
Enhance Software Maintainability and Reusability
Taught by: Problem Solving Method, Project Based Learning Model, Lecture Method · Assessed by: Traditional Written Exam, Homework, Project Task
- 5
Evaluate Software Design Decisions
Taught by: Problem Solving Method, Project Based Learning Model, Lecture Method · Assessed by: Traditional Written Exam, Homework, Project Task
WEEKLY PLAN
- WEEK 1
Introduction to Software Design Patterns
- WEEK 2
Object-Oriented Design Principles
- WEEK 3
Classification of Design Patterns
- WEEK 4
Singleton and Factory Patterns
- WEEK 5
Abstract Factory and Builder Patterns
- WEEK 6
Prototype Pattern
- WEEK 7
Adapter and Bridge Patterns
- WEEK 8
Composite and Decorator Patterns
- WEEK 9
Facade and Proxy Patterns
- WEEK 10
Strategy and Observer Patterns
- WEEK 11
Command and State Patterns
- WEEK 12
Template Method and Iterator Patterns
- WEEK 13
Chain of Responsibility and Mediator Patterns
- WEEK 14
Memento and Visitor Patterns
ASSESSMENT
- Rate of Midterm Exam to Success50%
- Rate of Final Exam to Success50%
READING
- Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1995
TEACHING STAFF
- Assist.Prof. İbrahim KARLIAĞACOORDINATOR
- Assist.Prof. İbrahim KARLIAĞA