ECTS - Software Patterns
Software Patterns (SE461) Course Detail
Course Name | Course Code | Season | Lecture Hours | Application Hours | Lab Hours | Credit | ECTS |
---|---|---|---|---|---|---|---|
Software Patterns | SE461 | Area Elective | 3 | 0 | 0 | 3 | 5 |
Pre-requisite Course(s) |
---|
N/A |
Course Language | English |
---|---|
Course Type | Elective Courses |
Course Level | Bachelor’s Degree (First Cycle) |
Mode of Delivery | Face To Face |
Learning and Teaching Strategies | Lecture. |
Course Lecturer(s) |
|
Course Objectives | The objective of this course is to introduce effective methods of design issues for high quality software systems. It also aims at teaching refactoring concepts. |
Course Learning Outcomes |
The students who succeeded in this course;
|
Course Content | Introduction to design patterns, creational patterns, structural patterns, behavioural patterns, analysis patterns, architectural patterns, testing, refactoring. |
Weekly Subjects and Releated Preparation Studies
Week | Subjects | Preparation |
---|---|---|
1 | Overview of Object-oriented design | Lecture Notes |
2 | Overview of UML | Lecture Notes |
3 | Introduction to design patterns | Chapter 1 |
4 | Observer Pattern | Chapter 2 |
5 | Decorator Pattern | Chapter 3 |
6 | Factory Method and Abstract Factory Pattern | Chapter 4 |
7 | Singleton Pattern | Chapter 5 |
8 | Command Pattern | Chapter 6 |
9 | Adapter and Façade Patterns | Chapter 7 |
10 | Template Method Pattern | Chapter 8 |
11 | Iterator and Composite Pattern | Chapter 9 |
12 | State Pattern | Chapter 10 |
13 | Proxy Pattern | Chapter 11 |
14 | Compound Patterns and MVC | Chapter 12 |
15 | Antipatterns | Lecture Notes |
16 | Refactoring | Lecture Notes |
17 | Final Exam |
Sources
Course Book | 1. Head First Design Patterns, O’Reilly, Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, First Edition October 2004 |
---|---|
Other Sources | 2. Design Patterns: Elements of Reusable Object Oriented Software, E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Addison -Wesley Professional, 1995 |
3. Analysis Patterns: Reusable Object Models, Martin Fowler, (1996-11-27). Addison-Wesley | |
4. Pattern-Oriented Software Architecture: A System of Patterns, Buschmann F., Meunier R., Rohnert H. & Sommerlad P. & Stal M. (1996), John Wiley & Sons | |
5. Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development, Craig Larman, 3rd Edition, Prentice Hall, 2005 | |
6. Joshua Kerievsky, Refactoring to Patterns, Addison-Weslay Professional, 2004. |
Evaluation System
Requirements | Number | Percentage of Grade |
---|---|---|
Attendance/Participation | - | - |
Laboratory | - | - |
Application | - | - |
Field Work | - | - |
Special Course Internship | - | - |
Quizzes/Studio Critics | - | - |
Homework Assignments | 4 | 30 |
Presentation | - | - |
Project | - | - |
Report | - | - |
Seminar | - | - |
Midterms Exams/Midterms Jury | 1 | 30 |
Final Exam/Final Jury | 1 | 40 |
Toplam | 6 | 100 |
Percentage of Semester Work | 60 |
---|---|
Percentage of Final Work | 40 |
Total | 100 |
Course Category
Core Courses | X |
---|---|
Major Area Courses | |
Supportive Courses | |
Media and Managment Skills Courses | |
Transferable Skill Courses |
The Relation Between Course Learning Competencies and Program Qualifications
# | Program Qualifications / Competencies | Level of Contribution | ||||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
1 | Has adequate knowledge in mathematics, science, and computer engineering-specific subjects; uses theoretical and practical knowledge in these areas to solve complex engineering problems. | X | ||||
2 | Identifies, defines, formulates, and solves complex engineering problems; selects and applies appropriate analysis and modeling methods for this purpose. | X | ||||
3 | Designs a complex system, process, device, or product to meet specific requirements under realistic constraints and conditions; applies modern design methods for this purpose. | X | ||||
4 | Develops, selects, and uses modern techniques and tools necessary for the analysis and solution of complex problems encountered in computer engineering applications; uses information technologies effectively. | X | ||||
5 | Designs experiments, conducts experiments, collects data, analyzes and interprets results for the investigation of complex engineering problems or research topics specific to the discipline of computer engineering. | X | ||||
6 | Works effectively in disciplinary and multidisciplinary teams; gains the ability to work individually. | X | ||||
7 | Communicates effectively in Turkish, both orally and in writing; writes effective reports and understands written reports, prepares design and production reports, makes effective presentations, gives and receives clear and understandable instructions. | |||||
8 | Knows at least one foreign language; writes effective reports and understands written reports, prepares design and production reports, makes effective presentations, gives and receives clear and understandable instructions. | |||||
9 | Has awareness of the necessity of lifelong learning; accesses information, follows developments in science and technology, and continuously improves oneself. | X | ||||
10 | Acts in accordance with ethical principles and has awareness of professional and ethical responsibility. | X | ||||
11 | Has knowledge about the standards used in computer engineering applications. | |||||
12 | Has knowledge about workplace practices such as project management, risk management, and change management. | X | ||||
13 | Gains awareness about entrepreneurship and innovation. | |||||
14 | Has knowledge about sustainable development. | |||||
15 | Has knowledge about the health, environmental, and safety impacts of computer engineering applications in universal and societal dimensions and the contemporary issues reflected in the field of engineering. | X | ||||
16 | Gains awareness of the legal consequences of engineering solutions. | |||||
17 | Analyzes, designs, and expresses numerical computation and digital representation systems. | X | ||||
18 | Uses programming languages and appropriate computer engineering concepts to solve computational problems. | X |
ECTS/Workload Table
Activities | Number | Duration (Hours) | Total Workload |
---|---|---|---|
Course Hours (Including Exam Week: 16 x Total Hours) | 16 | 3 | 48 |
Laboratory | |||
Application | |||
Special Course Internship | |||
Field Work | |||
Study Hours Out of Class | 16 | 2 | 32 |
Presentation/Seminar Prepration | |||
Project | |||
Report | |||
Homework Assignments | 4 | 4 | 16 |
Quizzes/Studio Critics | |||
Prepration of Midterm Exams/Midterm Jury | |||
Prepration of Final Exams/Final Jury | 1 | 15 | 15 |
Total Workload | 111 |