Your transaction is in progress.
Please Wait...
Course Details
KTO KARATAY UNIVERSITY
Trade and Industry Vocational School
Programme of Computer Programming
Course Details
Course Code Course Name Year Period Semester T+A+L Credit ECTS
03841197 Software Architectures 2 Spring 4 2+1+0 5 5
Course Type Elective
Course Cycle Associate (Short Cycle) (TQF-HE: Level 5 / QF-EHEA: Short Cycle / EQF-LLL: Level 5)
Course Language Turkish
Methods and Techniques 1. Theoretical Explanation: Topics are explained theoretically within the course. Students listen to lectures to understand the fundamental concepts of programming and the logic of algorithms. 2. Practical Activities: Students, under the guidance of the course instructor, practice various examples to put the theoretical concepts into practice. They strive to achieve specific learning outcomes. 3. Step-by-Step Solution: Problems encountered are solved step-by-step, explaining how each step works. This method helps students gain a deeper understanding of the topics. 4. Real-Life Examples: Real-life examples and problem scenarios are presented to enhance understanding of the topics. This allows students to see how to apply what they have learned in practice. 5. Lab Handouts and Quizzes: Student progress is assessed and understanding of the topics is monitored through weekly lab handouts and pre-exam quizzes.
Mode of Delivery Face to Face
Prerequisites There are no prerequisites for this course. All students are taught from the basics.
Coordinator -
Instructor(s) Lect. Uğur POLAT
Instructor Assistant(s) -
Course Instructor(s)
Name and Surname Room E-Mail Address Internal Meeting Hours
Lect. Uğur POLAT TSMYO-T213 [email protected] 7860 Monday
15.00-16.00
Course Content
1. Basic Concepts of Software Architecture
2. Software Development Process Models and the Place of Architecture
3. Software Architecture Patterns
4. Layered Architecture
5. Service-Oriented Architecture (SOA) and Microservices Architecture
6. Distributed Systems and Cloud-Based Architectures
7. Software Design Patterns
8. Performance, Security and Scalability
9. Sustainability and Easy-to-Maintain Architectures
10. Testability and Application Monitoring
11. Real-Life Architectures and Case Studies
12. Project Studies and Practical Applications
Objectives of the Course
The aim of this course is to introduce students to the basic architectural principles and patterns used in the design of software systems and to teach them how to develop effective and sustainable solutions in complex software projects. The course aims to provide the necessary knowledge and skills to understand how software architectures are designed, analyzed and implemented.

Within the scope of the course, students will be introduced to common architectural approaches such as software architecture types, design patterns, layered architecture, client-server architecture, microservices, service-oriented architecture (SOA). In addition, methods for meeting the architectural requirements of software systems such as performance, security, scalability and flexibility will be emphasized.

At the end of the course, students will gain the ability to make architectural design decisions appropriate for projects, develop high-quality and sustainable software systems and optimize existing systems.
Contribution of the Course to Field Teaching
Basic Vocational Courses
Specialization / Field Courses X
Support Courses
Transferable Skills Courses X
Humanities, Communication and Management Skills Courses
Relationships between Course Learning Outcomes and Program Outcomes
Relationship Levels
Lowest Low Medium High Highest
1 2 3 4 5
# Program Learning Outcomes Level
P4 Effectively uses information technologies (software, programs, animations, etc.) related to her/his profession. 5
P1 He/she has basic, current and applied information about his/her profession. 5
P3 He/She follows current developments and practices in his profession and uses them effectively. 4
P5 Has the ability to independently evaluate professional problems and issues with an analytical and critical approach and propose solutions. 4
P6 Can present his/her thoughts effectively through written and verbal communication at the level of knowledge and skills and expresses them in an understandable manner. 3
P11 Creates algorithms and data structures and performs mathematical calculations. 4
P14 Tests software and fixes bugs. 5
Course Learning Outcomes
Upon the successful completion of this course, students will be able to:
No Learning Outcomes Outcome Relationship Measurement Method **
O1 Knows the basic elements of a computer. P.1.1 1,6,7
O2 Knows how to use the internet and do research. P.1.2 1,6,7
O3 Can perform basic mathematical analyses related to his/her profession. P.1.3 1,6,7
O4 Knows current techniques for data analysis. P.3.1 1,6,7
O5 Must know and use current software development platforms. P.3.2 6,7
O6 Have basic analysis knowledge. P.3.5 1,6,7
O7 Knows how to develop algorithms and creates a data structure appropriate to the algorithm. P.11.1 1,6,7
O8 Knows and uses current Information Technology platforms. P.11.2 1,6,7
O9 Has knowledge of current programming languages. P.11.3 1,6,7
O10 Tests software and fixes bugs. P.14.1 1,6,7
** Written Exam: 1, Oral Exam: 2, Homework: 3, Lab./Exam: 4, Seminar/Presentation: 5, Term Paper: 6, Application: 7
Weekly Detailed Course Contents
Week Topics
1 Basic Concepts of Software Architecture
2 Software Development Process Models and the Place of Architecture
3 Software Architecture Patterns
4 Layered Architecture
5 Service Oriented Architecture (SOA) and Microservices Architecture
6 Distributed Systems and Cloud-Based Architectures
7 Pre-Exam Quiz and General Review
8 Mid-term Exam
9 Software Design Patterns
10 Performance, Security and Scalability
11 Sustainability and Easy to Maintain Architectures
12 Testability and Application Monitoring
13 Real Life Architectures and Case Studies
14 Project Studies and Practical Applications
15 Pre-Exam Quiz and General Review
16 Final Exam
Textbook or Material
Resources Len Bass, Paul Clements, Rick Kazman, "Software Architecture in Practice", 3rd Edition
Humberto Cervantes, Rick Kazman, "Designing Software Architectures: A Practical Approach"
Evaluation Method and Passing Criteria
In-Term Studies Quantity Percentage
Attendance - -
Laboratory - -
Practice - -
Field Study - -
Course Specific Internship (If Any) - -
Homework - -
Presentation - -
Projects 1 20 (%)
Seminar - -
Quiz 2 10 (%)
Listening - -
Midterms 1 30 (%)
Final Exam 1 40 (%)
Total 100 (%)
ECTS / Working Load Table
Quantity Duration Total Work Load
Course Week Number and Time 16 4 64
Out-of-Class Study Time (Pre-study, Library, Reinforcement) 14 2 28
Midterms 1 6 6
Quiz 2 1 2
Homework 0 0 0
Practice 0 0 0
Laboratory 0 0 0
Project 1 32 32
Workshop 0 0 0
Presentation/Seminar Preparation 1 4 4
Fieldwork 0 0 0
Final Exam 1 16 16
Other 0 0 0
Total Work Load: 152
Total Work Load / 30 5,07
Course ECTS Credits: 5
Course - Learning Outcomes Matrix
Relationship Levels
Lowest Low Medium High Highest
1 2 3 4 5
# Learning Outcomes P1 P3 P11 P14
O1 Knows the basic elements of a computer. 5 - - -
O2 Knows how to use the internet and do research. 4 - - -
O3 Can perform basic mathematical analyses related to his/her profession. 4 - - -
O4 Knows current techniques for data analysis. - 5 - -
O5 Must know and use current software development platforms. - 5 - -
O6 Have basic analysis knowledge. - 5 - -
O7 Knows how to develop algorithms and creates a data structure appropriate to the algorithm. - - 5 -
O8 Knows and uses current Information Technology platforms. - - 5 -
O9 Has knowledge of current programming languages. - - 5 -
O10 Tests software and fixes bugs. - - - 5