Computer Programming
Course Details

KTO KARATAY UNIVERSITY
Trade and Industry Vocational School
Programme of Computer Programming
Course Details
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+2+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. Teorik Anlatım: Konular ders kapsamında teorik olarak anlatılır. Öğrenciler programlamanın temel kavramlarını ve algoritmaların mantığını kavrayabilmeleri için konu anlatımları dinler. 2. Uygulamalı Çalışmalar: Öğrenciler, teorik olarak anlatılan konuların uygulamasını yapmak için ders eğitmeni mentorlüğünde çeşitli örneklerle çalışmalar gerçekleştirir. Kazanımlar elde edilmeye çalışılır. 3. Adım Adım Çözümleme: Karşılaşılan problemler adım adım çözülerek her adımın nasıl işlediği açıklanır. Bu yöntemle öğrencilerin konulara daha hakim olması sağlanır. 4.Gerçek Hayat Örnekleri: Konuların daha iyi anlaşılması için gerçek hayattan örnekler ve problem senaryoları sunulur. Böylece öğrenciler öğrendiklerini pratikte nasıl kullanacağını görür. 5. Laboratuvar Föyleri ve Quizler: Haftalık laboratuvar föyleri ve sınav öncesi quizler ile öğrencilerin ilerlemesi değerlendirilir, konuların anlaşılıp anlaşılmadığı takip edilir. |
| Mode of Delivery | Face to Face |
| Prerequisites | Dersin herhangi bir ön koşulu bulunmamaktadır. Tüm öğrencilere temel seviyeden başlanarak eğitim verilmektedir. |
| 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
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.
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 |
