CMP5151 Software Design PatternsBahçeşehir UniversityDegree Programs INFORMATION TECHNOLOGIES (TURKISH, NONTHESIS)General Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
Master TR-NQF-HE: Level 7 QF-EHEA: Second Cycle EQF-LLL: Level 7

Course Introduction and Application Information

Course Code Course Name Semester Theoretical Practical Credit ECTS
CMP5151 Software Design Patterns Fall
3 0 3 12
This catalog is for information purposes. Course status is determined by the relevant department at the beginning of semester.

Basic information

Language of instruction: English
Type of course: Departmental Elective
Course Level:
Mode of Delivery: Face to face
Course Coordinator : Dr. Öğr. Üyesi BETÜL ERDOĞDU ŞAKAR
Recommended Optional Program Components: None
Course Objectives: This course introduces the use of design patterns in the context of software engineering. After successful completion of the class, the student will know classical design patterns, including creational, structural, behavioral patterns and also some popular patterns from distributed programming, user interface and enterprise development. Anti-patterns will also be introduced.

Learning Outcomes

The students who have succeeded in this course;
I. Apply classical creational, behavioral and structural patterns in real world problems
II. Apply enterprise development patterns in real world problems
III. Apply user interface and multithreaded patterns in real world problems
IV. Avoid anti-patterns
V. Analyze problems in terms of patterns
VI. Categorize patterns accordingly

Course Content

Creational, structural and behavioral patterns, concurrency and user interface patterns, enterprise architecture patterns, anti-patterns, agile principles and processes.

Weekly Detailed Course Contents

Week Subject Related Preparation
1) Introduction-object oriented programming and UML
2) Creational patterns 1
3) Creational patterns 2
4) Structural patterns 1
5) Structural patterns 2
6) Behavioral patterns 1
7) Behavioral patterns 2
8) midterm
9) Concurrency and User Interface Patterns
10) Enterprise Architecture Design Patterns 1
11) Enterprise Architecture Design Patterns 2
12) Software anti-patterns
13) Term project presentations
14) Term project presentations


Course Notes / Textbooks:

Evaluation System

Semester Requirements Number of Activities Level of Contribution
Project 1 % 35
Midterms 1 % 25
Final 1 % 40
Total % 100
Total % 100

ECTS / Workload Table

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 3 42
Project 1 80 80
Midterms 1 40 40
Final 1 40 40
Total Workload 202

Contribution of Learning Outcomes to Programme Outcomes

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
Program Outcomes Level of Contribution