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
03841205 Software Development Techniques 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. 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. Introduction to the Software Development Process
2. Agile Software Development
3. Object Oriented Programming (OOP) Principles
4. Software Design and Architecture
5. Version Control Systems
6. Test-Driven Development (TDD) and Software Testing
7. Continuous Integration and Continuous Delivery (CI/CD)
8. Software Security and Secure Coding Techniques
9. Data Management and Database Design
10. API Development and Integration Techniques
11. Documentation in Software Projects
12. Project Development and Final Presentation
Objectives of the Course
The aim of this course is to teach students the techniques required to carry out software development processes more effectively and efficiently and to provide professional skills in software projects. Within the scope of the course, students will gain knowledge about basic topics such as software development life cycle, project management, software design, version control, test automation and documentation.

Students will learn and apply current techniques such as object-oriented programming, agile methodologies, DevOps practices, test-driven development (TDD) and continuous integration/continuous delivery (CI/CD) in software projects. At the end of the course, they will be able to take an active role in the software development process and continue software projects with modern tools used in teamwork.

This course aims to increase students' analytical thinking, problem solving and quality software production competencies in software development processes and prepares them for software development processes in the sector.
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. 5
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 how to develop algorithms and creates a data structure suitable for the algorithm. P.4.1 1,6,7
O2 Have knowledge about current programming languages. P.4.5 6,7
O3 Knows the basic elements of a computer. P.1.1 1,6,7
O4 Knows how to use the internet and do research. P.1.2 1,6,7
O5 Can perform basic mathematical analyses related to his/her profession. P.1.3 1,6,7
O6 Knows analytical, effective research and solution techniques to identify problems. P.5.2 6,7
O7 Evaluate computer science topics and algorithms using critical thinking skills P.5.4 1,6,7
O8 Knows how to develop algorithms and creates a data structure appropriate to the algorithm. P.11.1 1,6,7
O9 Knows and uses current Information Technology platforms. P.11.2 1,6,7
O10 Has knowledge in the field of Digital Systems. P.11.7 6,7
O11 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 Introduction to Software Development Process
2 Agile Software Development
3 Object Oriented Programming (OOP) Principles
4 Software Design and Architecture
5 Version Control Systems
6 Test Driven Development (TDD) and Software Testing
7 Pre-Exam Quiz and General Review
8 Mid-term Exam
9 Continuous Integration and Continuous Delivery (CI/CD)
10 Software Security and Secure Coding Techniques
11 Data Management and Database Design
12 API Development and Integration Techniques
13 Documentation in Software Projects
14 Project Development and Final Presentation
15 Pre-Exam Quiz and General Review
16 Final Exam
Textbook or Material
Resources Robert C. Martin, "Clean Code: A Handbook of Agile Software Craftsmanship"
Andrew Hunt, David Thomas, "The Pragmatic Programmer: Your Journey to Mastery"
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 30 30
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: 150
Total Work Load / 30 5
Course ECTS Credits: 5
Course - Learning Outcomes Matrix
Relationship Levels
Lowest Low Medium High Highest
1 2 3 4 5
# Learning Outcomes P1 P4 P5 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 how to develop algorithms and creates a data structure suitable for the algorithm. - 5 - - -
O5 Have knowledge about current programming languages. - 5 - - -
O6 Knows analytical, effective research and solution techniques to identify problems. - - 5 - -
O7 Evaluate computer science topics and algorithms using critical thinking skills - - 5 - -
O8 Knows how to develop algorithms and creates a data structure appropriate to the algorithm. - - - 5 -
O9 Knows and uses current Information Technology platforms. - - - 5 -
O10 Has knowledge in the field of Digital Systems. - - - 5 -
O11 Tests software and fixes bugs. - - - - 5