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 |
|---|---|---|---|---|---|---|---|
| 03841205 | Software Development Techniques | 2025 | 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. Theoretical Explanation: The topics are explained theoretically within the scope of the course. Students listen to topic explanations in order to understand the basic concepts of programming and the logic of algorithms. 2. Applied Studies: Students carry out studies with various examples under the mentorship of the course instructor in order to apply the topics explained theoretically. Gains are tried to be achieved. 3. Step-by-Step Solution: The encountered problems are solved step by step and how each step works is explained. With this method, students are provided with a better command of the topics. 4. Real Life Examples: Real life examples and problem scenarios are presented for a better understanding of the topics. In this way, students see how to use what they have learned in practice. 5. Laboratory Sheets and Quizzes: Students' progress is evaluated with weekly laboratory handouts and pre-exam quizzes, and whether the topics are understood is monitored. |
| Mode of Delivery | Face to Face |
| Prerequisites | There are no prerequisites for the course. All students receive instruction starting from the basic level. |
| 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
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.
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 |
