CMP5151 Software Design PatternsBahçeşehir UniversityDegree Programs INFORMATION TECHNOLOGIES (TURKISH, NONTHESIS)General Information For StudentsDiploma SupplementErasmus Policy StatementBologna CommissionNational Qualifications
INFORMATION TECHNOLOGIES (TURKISH, NONTHESIS)
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
Spring
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 : Assist. Prof. 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

Sources

Course Notes / Textbooks: 1- Gamma, E. Design Patterns : Elements of Reusable Object-Oriented Software. Pearson Education India, 1995
2- Head First Design Patterns: A Brain-Friendly Guide, Eric Freeman, Elisabeth
Robson, Bert Bates, and Kathy Sierra. 2004
References:

Evaluation System

Semester Requirements Number of Activities Level of Contribution
Project 1 % 35
Midterms 1 % 25
Final 1 % 40
Total % 100
PERCENTAGE OF SEMESTER WORK % 25
PERCENTAGE OF FINAL WORK % 75
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
1) Follows the scientific literature in the field of Information Technology, critically analyzes it, and effectively utilizes it in solving complex IT problems.
2) Designs, plans, implements, and manages original projects related to the field of Information Technology.
3) Conducts independent studies in the field of Information Technology, assumes scientific responsibility, and evaluates the findings with a critical perspective.
4) Presents the outcomes of research and projects effectively in written, oral, and visual forms, in accordance with academic and professional standards.
5) Conducts independent research on specialized topics within the field, develops innovative and original ideas, and translates this knowledge into practice and technology.
6) Effectively applies advanced theoretical knowledge and practical skills specific to the field of Information Technology; analyzes and develops current software, hardware, and system solutions.
7) Acts in accordance with professional, scientific, and ethical principles; takes responsibility by considering the societal, environmental, and ethical impacts of IT applications.