This course will expose you to the concepts, principles, and state-of- the-art methods in software architectures. During the lab sections, Design Patterns will be covered. Each week, a design pattern will be examined during the lab sections. By this way in lectures macro level patterns will be discussed and in the lab hours micro level design patterns will be discussed.
Prerequisite(s)
Course Code Course Name…
Corequisite(s)
Course Code Course Name…
Special Requisite(s)
The minimum qualifications that are expected from the students who want to attend the course.(Examples: Foreign language level, attendance, known theoretical pre-qualifications, etc.)
1- R. N. Taylor, N. Medvidovic, and E. M. Dashofy, Software Architecture: Foundations, Theory, and Practice, John Wiley & Sons, 2009. [Teori dersleri için]
2- E. Freeman, B. Bates, K. Sierra, E. Rabson, Head First Design Patterns, O’Reilly, 2004 [LAB için]
3- E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, 1994 [LAB için].
Other Sources
-
Course Schedules
Week
Contents
Learning Methods
1. Week
Course Introduction and Syllabus
Oral presentation, Laboratory,
Introduction to Design Patterns
Oral presentation, Laboratory,
State Design Pattern
14. Week
Standards
15. Week
16. Week
17. Week
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
40
laboratory
1
20
Final Exam
1
40
Program Outcomes
PO-1
Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2
Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3
Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4
Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5
Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6
Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7
Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8
Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9
Awareness of professional and ethical responsibility.
PO-10
Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11
Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1
Defining software architecture concepts
LO-2
Determining the relevant software architecture for a project
LO-3
Defining the software architecture description language
LO-4
Defining the software architecture analysis methods
LO-5
Implementing software design patterns in a project