INFORMATION TECHNOLOGIES (TURKISH, NONTHESIS) | |||||
Master | TR-NQF-HE: Level 7 | QF-EHEA: Second Cycle | EQF-LLL: Level 7 |
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. |
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. |
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 |
Creational, structural and behavioral patterns, concurrency and user interface patterns, enterprise architecture patterns, anti-patterns, agile principles and processes. |
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: | 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: |
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 |
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 |
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. |