| Course Name |
Software Architecture
|
|
Code
|
Semester
|
Theory
(hour/week) |
Application/Lab
(hour/week) |
Local Credits
|
ECTS
|
|
SE 311
|
SPRING
|
2
|
2
|
3
|
7
|
| Prerequisites | SE 116 To succeed (To get a grade of at least DD) | |||||
| Course Language | English | |||||
| Course Type | Required (Core Course) | |||||
| Course Level | First Cycle | |||||
| Mode of Delivery | Face-To-Face | |||||
| Teaching Methods and Techniques of the Course |
Lecture / Presentation Experiment / Laboratory / Workshop Q&A Problem Solving |
|||||
| National Occupational Classification Code | - | |||||
| Course Coordinator |
|
|||||
| Course Lecturer(s) |
|
|||||
| Assistant(s) |
|
|||||
| Course Objectives | The goal of this course to arm the students with the knowledge needed in architecting effective and maintainable complex software systems of high quality by applying design patterns. Each pattern represents a best practice solution to a software problem in some context. The course will sensitize the student that there is rarely one "right" design and an engineer is faced with a spectrum of possibilities representing tradeoffs. The course will cover the rationale and benefits of design patterns in architecting software systems. The course includes a brief review of object-oriented design principles and UML. Programming assignments and a project in the Java language will provide experience in the use of these patterns. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Learning Outcomes |
The students who succeeded in this course;
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| Course Description | This course covers the principals behind the software design patterns and their application in constructing software components. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Related Sustainable Development Goals |
-
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Core Courses |
X
|
| Major Area Courses |
|
|
| Supportive Courses |
|
|
| Media and Managment Skills Courses |
|
|
| Transferable Skill Courses |
|
| Week | Subjects | Required Materials | Learning Outcome |
| 1 | Introduction to Design Patterns | “Design patterns: Elements of Reusable Object-Oriented Software” by E. Gamma, R. Helm, R. Johnson and J. Vlissides (GHJV). Bolum 1. | LO1 |
| 2 | A refresher on Object Oriented Design and UML. Architectural Principles. | Any book on object-oriented design and programming. Instructor notes. | LO1 |
| 3 | Iterator Pattern (Behavioral) | Design Patterns, (GHJV) pp. 257-271 | LO2 |
| 4 | Composite Pattern (Structural) | Design Patterns, (GHJV) pp. 163-173 | LO2 |
| 5 | Command Pattern (Behavioral) | Design Patterns, (GHJV) pp. 233-242 | LO2 |
| 6 | Factory and Abstract Factory (Creational) Patterns | Design Patterns, (GHJV) pp. 87 95, 107-116 | LO3 |
| 7 | Singleton (Creational) and Facade Patterns (Structural) | Design Patterns, (GHJV) pp. 127-134, 185-193 | LO2 |
| 8 | Midterm | - | |
| 9 | Adapter Pattern (Structural) | Design Patterns, (GHJV) pp. 139-150 | LO3 |
| 10 | Template Pattern (Structural) | Design Patterns, (GHJV) pp. 325-330 | LO5 |
| 11 | Observer Pattern (Behavioral) | Design Patterns, (GHJV) pp. 293-303 | LO5 |
| 12 | Visitor Pattern (Behavioral) | Design Patterns, (GHJV) pp. 331-334 | LO5 |
| 13 | Project Discussions and Presentations | Source Code and Project Report | LO4 |
| 14 | Project Discussions and Presentations | Source Code and Project Report | LO4 |
| 15 | Final Review | Instructor notes. | - |
| 16 | Review of Semester | - |
| Course Notes/Textbooks |
"Design patterns: Elements of Reusable Object Oriented Software” by E. Gamma R. Helm R. Johnson and J. Vlissides. Addison Wesley. 1995. ISBN: 978-0-201-63361-0. Instructor Notes |
| Suggested Readings/Materials | Metseker and Wake “Design Patterns in Java” Addison Wesley 2006. |
| Semester Activities | Number | Weighting | LO1 | LO2 | LO3 | LO4 | LO5 |
| Midterm | 1 | 30 | X | X | X | X | |
| Final Exam | 1 | 40 | X | X | X | X | X |
| Project | 1 | 30 | X | ||||
| Total | 3 | 100 |
| Semester Activities | Number | Duration (Hours) | Workload |
|---|---|---|---|
| Participation | - | - | - |
| Theoretical Course Hours | 16 | 2 | 32 |
| Laboratory / Application Hours | 16 | 2 | 32 |
| Study Hours Out of Class | 16 | 3 | 48 |
| Field Work | - | - | - |
| Quizzes / Studio Critiques | - | - | - |
| Portfolio | - | - | - |
| Homework / Assignments | - | - | - |
| Presentation / Jury | - | - | - |
| Project | 1 | 32 | 32 |
| Seminar / Workshop | - | - | - |
| Oral Exams | - | - | - |
| Midterms | 1 | 30 | 30 |
| Final Exam | 1 | 36 | 36 |
| Total | 210 |
| # | PC Sub | Program Competencies/Outcomes | * Contribution Level | ||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 |
Engineering Knowledge: Knowledge of mathematics, science, basic engineering, computation, and related engineering discipline-specific topics; the ability to apply this knowledge to solve complex engineering problems. |
||||||
| 1 |
Mathematics |
||||||
| 2 |
Science |
||||||
| 3 |
Basic Engineering |
||||||
| 4 |
Computation |
LO1 | |||||
| 5 |
Related engineering discipline-specific topics |
LO3 | LO2 | ||||
| 6 |
The ability to apply this knowledge to solve complex engineering problems |
||||||
| 2 |
Problem Analysis: Ability to identify, formulate and analyze complex engineering problems using basic knowledge of science, mathematics and engineering, and considering the UN Sustainable Development Goals relevant to the problem being addressed. |
||||||
| 3 |
Engineering Design: The ability to devise creative solutions to complex engineering problems; the ability to design complex systems, processes, devices or products to meet current and future needs, considering realistic constraints and conditions. |
||||||
| 1 |
Ability to design creative solutions to complex engineering problems |
||||||
| 2 |
Ability to design complex systems, processes, devices or products to meet current and future needs, considering realistic constraints and conditions |
LO4 | |||||
| 4 |
Use of Techniques and Tools: Ability to select and use appropriate techniques, resources, and modern engineering and computing tools, including estimation and modeling, for the analysis and solution of complex engineering problems, while recognizing their limitations. |
LO5 | |||||
| 5 |
Research and Investigation: Ability to use research methods to investigate complex engineering problems, including literature research, designing and conducting experiments, collecting data, and analyzing and interpreting results. |
||||||
| 1 |
Literature research for the study of complex engineering problems |
||||||
| 2 |
Designing experiments |
||||||
| 3 |
Ability to use research methods, including conducting experiments, collecting data. analyzing and interpreting results |
||||||
| 6 |
Global Impact of Engineering Practices: Knowledge of the impacts of engineering practices on society, health and safety, economy, sustainability, and the environment, within the context of the UN Sustainable Development Goals; awareness of the legal implications of engineering solutions. |
||||||
| 1 |
Knowledge of the impacts of engineering practices on society, health and safety, economy, sustainability, and the environment, within the context of the UN Sustainable Development Goals |
||||||
| 2 |
Awareness of the legal implications of engineering solutions |
||||||
| 7 |
Ethical Behavior: Acting in accordance with the principles of the engineering profession, knowledge about ethical responsibility; awareness of being impartial, without discrimination, and being inclusive of diversity. |
||||||
| 1 |
Acting in accordance with the principles of the engineering profession, knowledge about ethical responsibility ethical responsibility |
||||||
| 2 |
Awareness of being impartial and inclusive of diversity, without discriminating on any subject |
||||||
| 8 |
Individual and Teamwork: Ability to work effectively, individually and as a team member or leader on interdisciplinary and multidisciplinary teams (face-to-face, remote or hybrid). |
||||||
| 1 |
Ability to work individually and within the discipline |
||||||
| 2 |
Ability to work effectively as a team member or leader in multidisciplinary teams (face-to-face, remote or hybrid) |
||||||
| 9 |
Verbal and Written Communication: Taking into account the various differences of the target audience (such as education, language, profession) on technical issues. |
||||||
| 1 |
Ability to communicate verbally |
||||||
| 2 |
Ability to communicate effectively in writing |
||||||
| 10 |
Project Management: Knowledge of business practices such as project management and economic feasibility analysis; awareness of entrepreneurship and innovation. |
||||||
| 1 |
Knowledge of business practices such as project management and economic feasibility analysis |
||||||
| 2 |
Awareness of entrepreneurship and innovation |
||||||
| 11 |
Lifelong Learning: Lifelong learning skills that include being able to learn independently and continuously, adapting to new and developing technologies, and thinking questioningly about technological changes. |
||||||
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest
As Izmir University of Economics transforms into a world-class university, it also raises successful young people with global competence.
More..Izmir University of Economics produces qualified knowledge and competent technologies.
More..Izmir University of Economics sees producing social benefit as its reason for existence.
More..