Türkçe | English
GRADUATE INSTITUTE of NATURAL and APPLIED SCIENCES / DEPARTMENT of SOFTWARE ENGINEERING
SOFTWARE ENGINEERING (MASTER) (WITH THESIS)
Course Catalog
http://www.katalog.ktu.edu.tr/DersBilgiPaketi/generalinfo.aspx?pid=4396&lang=1
Phone: +90 0462 +90 462 3778353
FBE
GRADUATE INSTITUTE of NATURAL and APPLIED SCIENCES / DEPARTMENT of SOFTWARE ENGINEERING / SOFTWARE ENGINEERING (MASTER) (WITH THESIS)
Katalog Ana Sayfa
  Katalog Ana Sayfa  KTÜ Ana Sayfa   Katalog Ana Sayfa
 
 

YZLM5170Design Patterns3+0+0ECTS:7.5
Year / SemesterFall Semester
Level of CourseSecond Cycle
Status Elective
DepartmentDEPARTMENT of SOFTWARE ENGINEERING
Prerequisites and co-requisitesNone
Mode of Delivery
Contact Hours14 weeks - 3 hours of lectures per week
LecturerProf. Dr. Hamdi Tolga KAHRAMAN
Co-Lecturer
Language of instructionTurkish
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 OutcomesCTPOTOA
Upon successful completion of the course, the students will be able to :
PO - 1 : Define the design problems encountered in software projects.2,35,
PO - 2 : Describes the function of software design principles to improve code quality and facilitate software maintenance.2,35,
PO - 3 : Explain the advantages of design patterns.2,35,
PO - 4 : Explain and apply design patterns of creational, structural and behavioral groups.2,35,
PO - 5 : Fixes coding and design errors in software projects using design patterns.2,35,
PO - 6 : Develop a software module by applying design patterns.2,36,
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

 
Contents of the Course
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
 WeekSubjectRelated Notes / Files
 Week 1Design problems encountered in software projects.
 Week 2Introduction to software design principles and explanation of term projects.
 Week 3SOLID design principles
 Week 4Introduction to design patterns and discussion of design patterns
 Week 5Creational design patterns
 Week 6Abstract factory and builder pattern applications
 Week 7Structural design patterns
 Week 8Facade and adapter patterns ve applications
 Week 9Midterm Exam
 Week 10Behavioral design patterns
 Week 11Observer pattern and appliaction
 Week 12Chain of responsibility and application
 Week 13Visitor pattern and application
 Week 14Project Control
 Week 15Project Control
 Week 16Project Control
 
Textbook / Material
1Design Patterns: Elements of Reusable Object Oriented Software, E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Addison ?Wesley Professional, 1995
 
Recommended Reading
1Pattern-Oriented Software Architecture: A System of Patterns, Buschmann F., Meunier R., Rohnert H. & Sommerlad P. & Stal M. (1996), John Wiley & Sons.
2Head First Design Patterns, O?Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004.
 
Method of Assessment
Type of assessmentWeek NoDate

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 workDuration (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 load188