|
YZLM5170 | Design Patterns | 3+0+0 | ECTS:7.5 | Year / Semester | Fall Semester | Level of Course | Second Cycle | Status | Elective | Department | DEPARTMENT of SOFTWARE ENGINEERING | Prerequisites and co-requisites | None | Mode of Delivery | | Contact Hours | 14 weeks - 3 hours of lectures per week | Lecturer | Prof. Dr. Hamdi Tolga KAHRAMAN | Co-Lecturer | | Language of instruction | Turkish | Professional practise ( internship ) | None | | The aim of the course: | To address ways to reduce the design complexity of large-scale software projects. To learn the purpose and function of software design principles. Examine the requirements of design patterns. Learn how to improve code quality and simplify software maintenance. Using the creational, structural and behavioral design patterns to ensure maximum compliance with the changes in the requirements of software projects. Encode pattern. Develop a pattern-based software module. |
Programme Outcomes | CTPO | TOA | Upon successful completion of the course, the students will be able to : | | | PO - 1 : | Define the design problems encountered in software projects. | 2,3 | 5, | PO - 2 : | Describes the function of software design principles to improve code quality and facilitate software maintenance. | 2,3 | 5, | PO - 3 : | Explain the advantages of design patterns. | 2,3 | 5, | PO - 4 : | Explain and apply design patterns of creational, structural and behavioral groups. | 2,3 | 5, | PO - 5 : | Fixes coding and design errors in software projects using design patterns. | 2,3 | 5, | PO - 6 : | Develop a software module by applying design patterns. | 2,3 | 6, | CTPO : Contribution to programme outcomes, TOA :Type of assessment (1: written exam, 2: Oral exam, 3: Homework assignment, 4: Laboratory exercise/exam, 5: Seminar / presentation, 6: Term paper), PO : Learning Outcome | |
Design problems encountered in software projects, introduction to software design principles, SOLID design prenipleri, introduction to design patterns, advantages and disadvantages of design patterns, creational design patterns, structural design patterns, behavioral design patterns, design pattern applications. |
|
Course Syllabus | Week | Subject | Related Notes / Files | Week 1 | Design problems encountered in software projects. | | Week 2 | Introduction to software design principles and explanation of term projects. | | Week 3 | SOLID design principles | | Week 4 | Introduction to design patterns and discussion of design patterns | | Week 5 | Creational design patterns | | Week 6 | Abstract factory and builder pattern applications | | Week 7 | Structural design patterns | | Week 8 | Facade and adapter patterns ve applications | | Week 9 | Midterm Exam | | Week 10 | Behavioral design patterns | | Week 11 | Observer pattern and appliaction | | Week 12 | Chain of responsibility and application | | Week 13 | Visitor pattern and application | | Week 14 | Project Control | | Week 15 | Project Control | | Week 16 | Project Control | | |
1 | Design Patterns: Elements of Reusable Object Oriented Software, E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Addison ?Wesley Professional, 1995 | | |
1 | Pattern-Oriented Software Architecture: A System of Patterns, Buschmann F., Meunier R., Rohnert H. & Sommerlad P. & Stal M. (1996), John Wiley & Sons. | | 2 | Head First Design Patterns, O?Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004. | | |
Method of Assessment | Type of assessment | Week No | Date | Duration (hours) | Weight (%) | Mid-term exam | 9 | | 2 | 20 | Project | 14 | | 2 | 30 | End-of-term exam | 16 | | 2 | 50 | |
Student Work Load and its Distribution | Type of work | Duration (hours pw) | No of weeks / Number of activity | Hours in total per term | Yüz yüze eğitim | 3 | 14 | 42 | Sınıf dışı çalışma | 5 | 15 | 75 | Arasınav için hazırlık | 5 | 2 | 10 | Arasınav | 1 | 3 | 3 | Uygulama | 13 | 1 | 13 | Ödev | 2 | 9 | 18 | Proje | 1 | 14 | 14 | Dönem sonu sınavı için hazırlık | 5 | 2 | 10 | Dönem sonu sınavı | 1 | 3 | 3 | Total work load | | | 188 |
|