COMPUTER ENGINEERING (ENGLISH, NON-THESIS) | |||||
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: | |
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) | Define and manipulate advanced concepts of Computer Engineering | |
2) | Use math, science, and modern engineering tools to formulate and solve advenced engineering problems | |
3) | Notice, detect, formulate and solve new engineering problems. | |
4) | Review the literature critically pertaining to his/her research projects, and connect the earlier literature to his/her own results | |
5) | Follow, interpret and analyze scientific researches in the field of engineering and use the knowledge in his/her field of study | |
6) | Work effectively in multi-disciplinary research teams | |
7) | Acquire scientific knowledge | |
8) | Find out new methods to improve his/her knowledge. | |
9) | Effectively express his/her research ideas and findings both orally and in writing | |
10) | Defend research outcomes at seminars and conferences. | |
11) | Prepare master thesis and articles about thesis subject clearly on the basis of published documents, thesis, etc. | |
12) | Demonstrate professional and ethical responsibility. | |
13) | Develop awareness for new professional applications and ability to interpret them. |