COE304 Software Architecture and DesignInstitutional InformationDegree Programs Software Engineering (English)Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
Software Engineering (English)

Preview

Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Course General Introduction Information

Course Code: COE304
Course Name: Software Architecture and Design
Course Semester: Spring
Course Credits:
ECTS
6
Language of instruction: EN
Course Requirement:
Does the Course Require Work Experience?: No
Type of course: Necessary
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Dr.Öğr.Üyesi KEMAL ÇAĞRI SERDAROĞLU
Course Lecturer(s): Dr. Öğrt. Üyesi Kemal Çağrı Serdaroğlu
Course Assistants:

Course Purpose and Content

Course Objectives: The scope of this course covers Software Architecture and Software design, Object-Oriented Design, basic software development principles and Software Design patterns. Students will be informed about software development models, software development and design tools, and the application of software development principles and design patterns. It is aimed for students to gain practical experience as well as theoretical knowledge about design, implementation and testing by making valid engineering decisions in the face of realistic problems through the term project.
Course Content: Software Architectures, Software Architectural Patterns, Application of Software Architectural Patterns, Software Design Principles, Software Design Patterns

Learning Outcomes

The students who have succeeded in this course;
1) Using software architecture patterns in the software design effectively.
2) Effectively using the software design patterns in software development
3) Being able to apply Object Oritented Design and Software Development Principles in the both of first development and update of software.
4) Learning of effective reporting of software design.

Course Flow Plan

Week Subject Related Preparation
1) INTRODUCTION NONE
2) Introduction to Software Architectures Textbook, Course Notes
3) Software Arcihtecture Patterns I Textbook, Course Notes
4) Software Architecture Patterns II
5) Object Oriented Design: Abstraction, Encapsulation, Inheritance, Polymorphism, UML Diagrams I Textbook, Course Notes
6) Object Oriented Design: Dynamic Binding, Reusability, OOP Frameworks, UML Diagrams II Textbook, Course Notes
7) Revision of Object Oriented Design Textbook, Course Notes
8) Midterm Textbook, Course Notes
9) Software Design Patterns I Textbook, Course Notes
10) Software Design Patterns II Textbook, Course Notes
11) Software Design Patterns III
12) Software Design Patterns IV Textbook, Course Notes
13) Software Design Patterns V Textbook, Course Notes
14) Software Design Patterns VI Textbook, Course Notes

Sources

Course Notes / Textbooks: Object-Oriented Software Engineering: Practical Software Development using UML and Java by T.C. Lethbridge, R. Laganiere , Any edition​
References: Ders Kitabı, Ders Notları.

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Medium 3 Highest
       
Program Outcomes Level of Contribution
1) Sufficient knowledge in mathematics, science and software engineering discipline-specific topics; the theoretical and practical knowledge in these areas, the ability to use in complex engineering problems.
2) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modelling methods for this purpose.
3) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose.
4) Ability to develop, select and use modern techniques and tools necessary for analysis and solution of complex problems in engineering applications; ability to use information technologies effectively.
5) Ability to design experiments, conduct experiments, collect data, analyse and interpret the results of complex engineering problems or discipline-specific research topics.
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Awareness of the need for lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal.
8) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give clear and understandable instructions and to receive.
9) Conformity to ethical principles, professional and ethical responsibility; Information on standards used in engineering applications.
10) Information on practices in business, such as project management, risk management and change management; awareness about entrepreneurship, innovation; information on sustainable development.
11) Information on the effects of engineering applications on health, environment, and safety in universal and social dimensions, and on the problems of the modern age in engineering; awareness of the legal consequences of engineering solutions.
12) Adequate skills in the analysis, design, verification, evaluation, implementation, implementation, and maintenance of software systems

Learning Activity and Teaching Methods

Course
Grup çalışması ve ödevi
Homework
Problem Çözme
Proje Hazırlama
Rapor Yazma
Örnek olay çalışması

Measurement and Evaluation Methods and Criteria

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Homework
Uygulama
Bireysel Proje
Raporlama

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Homework Assignments 2 % 10
Project 1 % 20
Midterms 1 % 25
Final 1 % 45
total % 100
PERCENTAGE OF SEMESTER WORK % 55
PERCENTAGE OF FINAL WORK % 45
total % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Aktiviteye Hazırlık Aktivitede Harçanan Süre Aktivite Gereksinimi İçin Süre Workload
Course Hours 13 2 26
Application 13 2 26
Project 1 40 40
Homework Assignments 2 10 20
Midterms 1 2 2
Paper Submission 3 20 60
Final 1 2 2
Total Workload 176